onsdag, november 26, 2014

Styra en Sony Bravia TV via nätverket

Jag snubblade av en slump över lite info om hur Sony Bravia TV-apparater kan styras över nätverket.
Tidigare har jag använt Media Remote , en av Sonys egna appar. Totalt overkill och hittar ibland inte TV:n i nätverket, vilket leder till att man måste starta om och välja apparat igen, sedan välja den "avancerade" kontrollen för att komma åt AV-inställningar eller volym. Många jobbiga klick för en enkel manöver.

Jag har haft på att-göra-listan att försöka sniffa trafiken från appen i telefonen för att se hur styrningen gått till men det har inte blivit av.
Det finns dock andra som gjort detta och delat med sig :)

Läs mer här: http://www.openremote.org/display/forums/Sony+TV+HTTP+control

Bravia TV-apparaterna tar emot xml som kan postas med till exempel curl.

För att skruva upp volymen skickar man följande till TV:n med till exempel curl (Där sekvensen AAAAAQAAAAEAAAASAw== är koden för volym up.)



Här är fler koder för diverse funktioner, saxat från en kommentar till länken lite högre upp:

'Analog': 'AAAAAgAAAHcAAAANAw==',
'Audio': 'AAAAAQAAAAEAAAAXAw==',
'Blue': 'AAAAAgAAAJcAAAAkAw==',
'ChannelDown': 'AAAAAQAAAAEAAAARAw==',
'ChannelUp': 'AAAAAQAAAAEAAAAQAw==',
'Confirm': 'AAAAAQAAAAEAAABlAw==',
'Display': 'AAAAAQAAAAEAAAA6Aw==',
'Down': 'AAAAAQAAAAEAAAB1Aw==',
'EPG': 'AAAAAgAAAKQAAABbAw==',
'Exit': 'AAAAAQAAAAEAAABjAw==',
'Forward': 'AAAAAgAAAJcAAAAcAw==',
'Green': 'AAAAAgAAAJcAAAAmAw==',
'Home': 'AAAAAQAAAAEAAABgAw==',
'Input': 'AAAAAQAAAAEAAAAlAw==',
'Left': 'AAAAAQAAAAEAAAA0Aw==',
'Mute': 'AAAAAQAAAAEAAAAUAw==',
'Next': 'AAAAAgAAAJcAAAA9Aw==',
'Num0': 'AAAAAQAAAAEAAAAJAw==',
'Num1': 'AAAAAQAAAAEAAAAAAw==',
'Num2': 'AAAAAQAAAAEAAAABAw==',
'Num3': 'AAAAAQAAAAEAAAADAw==',
'Num4': 'AAAAAQAAAAEAAAADAw==',
'Num5': 'AAAAAQAAAAEAAAAEAw==',
'Num6': 'AAAAAQAAAAEAAAAFAw==',
'Num7': 'AAAAAQAAAAEAAAAGAw==',
'Num8': 'AAAAAQAAAAEAAAAHAw==',
'Num9': 'AAAAAQAAAAEAAAAIAw==',
'Options': 'AAAAAgAAAJcAAAA2Aw==',
'PAP': 'AAAAAgAAAKQAAAB3Aw==',
'Pause': 'AAAAAgAAAJcAAAAZAw==',
'Play': 'AAAAAgAAAJcAAAAaAw==',
'Prev': 'AAAAAgAAAJcAAAA8Aw==',
'Red': 'AAAAAgAAAJcAAAAlAw==',
'Return': 'AAAAAgAAAJcAAAAjAw==',
'Rewind': 'AAAAAgAAAJcAAAAbAw==',
'Right': 'AAAAAQAAAAEAAAAzAw==',
'Stop': 'AAAAAgAAAJcAAAAYAw==',
'SubTitle': 'AAAAAgAAAJcAAAAoAw==',
'SyncMenu': 'AAAAAgAAABoAAABYAw==',
'Up': 'AAAAAQAAAAEAAAB0Aw==',
'VolumeDown': 'AAAAAQAAAAEAAAATAw==',
'VolumeUp': 'AAAAAQAAAAEAAAASAw==',
'Wide': 'AAAAAgAAAKQAAAA9Aw==',
'Yellow': 'AAAAAgAAAJcAAAAnAw==',
'HDMI1': 'AAAAAgAAABoAAABaAw==',
'HDMI2': 'AAAAAgAAABoAAABbAw==',
'HDMI3': 'AAAAAgAAABoAAABcAw==',
'HDMI4': 'AAAAAgAAABoAAABdAw==',
//not tested:
'Replay': 'AAAAAgAAAJcAAAB5Aw==',
'Advance': 'AAAAAgAAAJcAAAB4Aw==',
'TopMenu': 'AAAAAgAAABoAAABgAw==',
'PopUpMenu': 'AAAAAgAAABoAAABhAw==',
'Eject': 'AAAAAgAAAJcAAABIAw==',
'Rec': 'AAAAAgAAAJcAAAAgAw==',
'ClosedCaption': 'AAAAAgAAAKQAAAAQAw==',
'Teletext': 'AAAAAQAAAAEAAAA/Aw==',
'GGuide': 'AAAAAQAAAAEAAAAOAw==',
'DOT' : 'AAAAAgAAAJcAAAAdAw==',
'Digital': 'AAAAAgAAAJcAAAAyAw==',
'BS' : 'AAAAAgAAAJcAAAAsAw==',
'CS' : 'AAAAAgAAAJcAAAArAw==',
'BSCS': 'AAAAAgAAAJcAAAAQAw==',
'Ddata': 'AAAAAgAAAJcAAAAVAw==',
'InternetWidgets': 'AAAAAgAAABoAAAB6Aw==',
'InternetVideo': 'AAAAAgAAABoAAAB5Aw==',
'SceneSelect': 'AAAAAgAAABoAAAB4Aw==',
'Mode3D' : 'AAAAAgAAAHcAAABNAw==',
'iManual' : 'AAAAAgAAABoAAAB7Aw==',
'Jump' : 'AAAAAQAAAAEAAAA7Aw==',
'MyEPG': 'AAAAAgAAAHcAAABrAw==',
'ProgramDescription': 'AAAAAgAAAJcAAAAWAw==',
'WriteChapter': 'AAAAAgAAAHcAAABsAw==',
'TrackID' : 'AAAAAgAAABoAAAB+Aw==',
'TenKey': 'AAAAAgAAAJcAAAAMAw==',
'AppliCast': 'AAAAAgAAABoAAABvAw==',
'acTVila': 'AAAAAgAAABoAAAByAw==',
'DeleteVideo': 'AAAAAgAAAHcAAAAfAw==',
'EasyStartUp': 'AAAAAgAAAHcAAABqAw==',
'OneTouchTimeRec': 'AAAAAgAAABoAAABkAw==',
'OneTouchView' : 'AAAAAgAAABoAAABlAw==',
'OneTouchRec' : 'AAAAAgAAABoAAABiAw==',
'OneTouchRecStop' : 'AAAAAgAAABoAAABjAw==',