Sony Bravia plugin

A Sony Bravia TV plugin to try out.

Further documentation and the code can be found on GitHub here:

  https://github.com/a-lurker

You can install the plugin from the ‘Alternate App Store’ (once I set it up), which works together with the ‘ALTUI’ plugin.

  https://community.getvera.com/t/altui-alternate-app-store/192721

Note that ‘ALTUI’ is highly recommended to all users, together with openLuup.

Caveats:
Only tested on a Sony Bravia ‘KDL 65W850C’ TV. Year: 2015. Other Sony Bravia TVs may or may not work. This plugin is based on the Sony Bravia information from here:

 https://pro-bravia.sony.net/develop/index.html

Logging can be enabled by setting the DebugEnabled flag to ‘1’. You can use AltUI plugin to look at the log file:

See Misc–>Os Command–> Tail Logs Tab Note: you can change the 50 to say 500 to see more log info.

In openLuup use the console logs:

http://<openLuup_ip_address>:3480/console?page=log

Or use the infoviewer plugin. Please provide a log file with any bug reports, otherwise the report may not be responded to.

What the plugin will do:

  1. Identify the codes available and allow the sending of the available IR codes via IP.

  2. Allow applications to be launched eg Netflix, YouTube, etc

  3. Control power, volume, mute, etc

  4. Report various TV info via a web page

Example usage:
Sending an IR code:

 luup.call_action('urn:a-lurker-com:serviceId:Sony_Bravia_IP1', 'SendRemoteCode', {RemoteCode = 'WakeUp'}, DeviceID)

Mute the TV:

 luup.call_action('urn:a-lurker-com:serviceId:Sony_Bravia_IP1', 'SetMute', {Mute = '1'}, DeviceID)

Launch an application:

 luup.call_action('urn:a-lurker-com:serviceId:Sony_Bravia_IP1', 'SetActiveApp', {Uri = 'com.sony.dtv.com.netflix.ninja.com.netflix.ninja.MainActivity'}, DeviceID)

Using AltUI->Misc->Lua Code Test; codes can be cut & pasted into the actions for easy testing.

Note that some actions eg powering on the TV can take a second or so. So users may need to incorporate delay routines, if sending a sequence of calls. Avoid the use of luup.sleep() as it may cause unwanted Luup engine restarts.

Ver 0.51
Initial release.

2 Likes

Part of the built in web page: This is a part of the list of the IR commands that can be sent by the plugin. You can click on the links to test the IR commands.

Web page IRCC