25.02.2016, 12:00
In another post i see a script to control a Sony television, so i try it with my HX850, but it doesn't work.
After some research i see its another way to control. Here my first test code
After some research i see its another way to control. Here my first test code
Code:
require('socket')
-- bravia IP
ip = 'x.x.x.x'
port = 80
-- full commandlist see: http://www.openremote.org/display/forums/Sony+TV+HTTP+control
cmd_HDMI1 = 'AAAAAgAAABoAAABaAw=='
cmd_CH6 = 'AAAAAQAAAAEAAAAFAw=='
cmd_MUTE = 'AAAAAQAAAAEAAAAUAw=='
ircmd = cmd_MUTE
soap = '<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>'..ircmd..'</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>'
-- http request
reqs = 'POST /IRCC HTTP/1.1\r\n' ..
'CONNECTION: close\r\n' ..
'HOST: ' .. ip .. ':' .. port .. '\r\n' ..
'CONTENT-LENGTH: ' .. soap:len() .. '\r\n' ..
'CONTENT-TYPE: text/xml; charset="utf-8"\r\n' ..
'\r\n' .. soap
sock = socket.tcp()
sock:settimeout(3)
res, err = sock:connect(ip, port)
if res then
res, err = sock:send(reqs)
if res then
log('send OK')
else
log('send failed: ' .. tostring(err))
end
else
log('connect failed: ' .. tostring(err))
end
sock:close()