BboxApi STB client library
Bbox Miami API client library for Kotlin/Java/Android
Features
MDNS
- discover Rest API service
- discover Websocket API service (only for next version)
REST
Actions & Resources
- get channel list (
GET /media/tvchannellist
) - get list of Android apps installed (
GET /applications
) - get information about a specific installed Android app (
GET /applications/$packageName
) - get application icon (
GET /applications/$packageName/image
) - get current channel (
GET /media
) - get volume (
GET /userinterface/volume
) - start application (
POST /applications/$packageName
) - display toast (
POST /userinterface/toast
) - set volume (
POST /userinterface/volume
) - get VOD catalog (
GET /media/vod
) (cloud) - get EPG catalog (
GET /media/live
) (cloud)
Notifications
- register application for notifications (
POST /applications/register
) - get all opened notification channels (
GET /notification
) - subscribe notification with specific resource type (
POST /notification
) - unsubscribe notification channel (
DELETE /notification/$channelId
) - create a notification on a specific channel (
POST /notification/$channelId
)
Websocket
- open websocket stream for receiving notifications
- parse notification messages : channel change, application state, error message
Tests
Run test on mockserver :
./gradlew test
External Library
- Fuel: Http client for REST API
- Gson : deserialize JSON objects
- RxBonjour : MDNS discovery
- OkHttp : websocket client
API documentation
https://api.bbox.fr/doc/#API%20Box
License
The MIT License (MIT) Copyright (c) 2018 Bertrand Martel