seydx / homebridge-bravia-tv

Homebridge dynamic platform plugin for Sony Bravia Android TVs
37 stars 4 forks source link
android bravia homebridge homekit plugin smarthome sony tv

homebridge-bravia-tv v3

npm npm GitHub last commit

Homebridge dynamic platform plugin for Sony Bravia Android TVs

Note: If you are looking for the non dynamic version, install the old version! homebridge-sonybravia-platform v2

This is a dynamic platform plugin for Homebridge to control your Sony Bravia Android TV.

This plugin supports following functions:

Why do we need this plugin and whats the difference?

It's the only plugin that exposes nearly all TV functionalities to HomeKit. All created switches has own characteristics which can be accessed in 3rd party apps like Elgato EVE. It has a built in 'settings' characteristics to adjust the plugin parameter whithin an app! It supports the latest homebridge API and has dynamic platform functionality. It can auto detect new apps (channels coming soon) and add them to HomeKit or remove them. It has cache functionality to cache the TV API in your persist folder (to avoid heavy polling). You have the full functionality about the plugin, you can enable/disable all switches/services/bulbs from your config.json file. And many more functions coming soon!

See Images for more details.

Installation instructions

After Homebridge has been installed:

Preparing the TV

Basic configuration

{
 "bridge": {
   ...
},
 "accessories": [
   ...
],
 "platforms": [
    {
      "platform": "BraviaTV",
      "name": "TV",
      "ipadress": "192.168.1.1",
      "psk": "YourPSKhere"
    }
]
}

Advanced Configuration

{
 "bridge": {
   ...
},
 "accessories": [
   ...
],
 "platforms": [
    {
      "platform": "BraviaTV",
      "name": "TV",
      "ipadress": "192.168.1.1",
      "port": 80,
      "psk": "YourPSKhere",
      "tvEnabled": true,
      "volumeEnabled": true,
      "inputsEnabled": true,
      "detectCEC": true,
      "extraInputs": false,
      "appsEnabled": true,
      "channelsEnabled": false,
      "remoteControl": false
    }
]
}

Options

Attributes Required Usage
name Yes Unique Name for the Platform.
ipadress Yes IP adress from your Sony Bravia Android TV
port No If you have problems with connecting to the TV, try a different port (Default: 80)
psk Yes Your PRE SHARED KEY (see preparing the TV above)
tvEnabled No Exposes new switch accessory to HomeKit for switching tv on/off with settings characteristics
inputsEnabled No Exposes new switch accessory for HDMI inputs to HomeKit (Default: true)
extraInputs No Adds extra sources like scart, composite and display mirroring as characteristics to the Input switch (see inputsEnabled) (Default: false)
detectCEC No Adds connected CEC devices as new characteristics to the Input Switch and remove 'old' HDMI inputs instead (Default: true)
volumeEnabled No Exposes bulb accessory to HomeKit to control TV volume (Default: true)
appsEnabled No Exposes new switch accessory for installed apps to HomeKit (Default: true)
channelsEnabled No Exposes new switch accessory for all channels to HomeKit (Default: false)
remoteControl No Exposes remote control to HomeKit (Default: false)

In App settings

In-App Settings

There are more settings available within the app to customize the plugin for your own whishes (this has the advantage that you do not have to restart homebridge every time you make changes, see gif)

Supported clients

This plugin has been verified to work with the following apps on iOS 11.3:

Known issues | TODO

Contributing

You can contribute to this homebridge plugin in following ways:

Pull requests are accepted.