ブラビアは、wifi経由でAPIに対応をしているとのことなので、ラズパイからテレビの電源ONするライブラリを作ってみた。
我が家の機種では、電源ON、OFF くらいがテレビとしての有効な操作系なので、python でアクセスするソースを作成した。
PC等から実行するとwifi経由でテレビをコントロールすることができる。
<bravia.py>
import sys
import json
import urllib.request
#import requests
headers = {
'X-Auth-PSK': 'kagi',
'Content-Type': 'application/x-www-form-urlencoded',
}
jdata = {
"TV-POWER-ON" :'{ "method":"setPowerStatus", "id":55, "params":[{"status": true}], "version":"1.0" }' ,
"TV-POWER-OFF" :'{ "method":"setPowerStatus", "id":55, "params":[{"status": false}], "version":"1.0" }'
}
url = 'http://192.168.xx.xx/sony/system' #ブラビアのIP
def send( cmd ):
req = urllib.request.Request( url, jdata[cmd].encode(), headers )
with urllib.request.urlopen(req) as res:
return res.read
通常の赤外線リモコンでは、電源のON/OFFは区別が無いため、スマートホーム的にはコントロールがしにくいです。例えば、「おやすみ」ということで、テレビと電気の電源をOFFするような仕組みをしても、テレビがOFFで電気がONのときに「おやすみ」というと、電気が消えてテレビがONするようなことが発生してコントロールができないです。
wifi経由だとON/OFFを明確にコマンドで指定ができるので、テレビの電源OFF中にOFFコマンドを投げてもOFFの状態を維持することができます。
スマートホームの作り方はこちら
コメント