LoginSignup
0
1

More than 3 years have passed since last update.

Node-REDからネットワーク経由でBRAVIAの電源をONにする(node-red-contrib-bravia)

Posted at

はじめに

スマートホーム化でしばしば問題になるのですが、赤外線リモコンのONとOFFが同じボタンという事があります。このようなトグルのスイッチはステータスを管理しなければなりませんが、結構めんどくさいです。

うちのBRAVIAのリモコンも電源はトグルスイッチとなっています。が、安心してください!Node-REDにはBRAVIAをリモコンではなくネットワーク経由で操作する、「node-red-contrib-bravia」があります。
ちょっとクセのあるノードなのですが、今回はこのノードを利用する方法を書きます。

環境

  • SONY BRAVIA (KJ-43X8500F) AndroidTV (8.0.0)
  • Node-RED v0.20.7

BRAVIA側の設定

node-red-contrib-bravia」のページに記載されているように設定します。

  1. 「設定」メニューから、[通信設定]-[ホームネットワーク]-[レンダラー設定]で「レンダラー機能」をONにします。
  2. 「戻る」を押して、[IPコントロール]-[認証]で「Normal and Pre-Shared Key」に設定します。
  3. [Pre-Shared Key]で適当な4桁の数字を設定します。
  4. 「簡易IPコントロール」をONにします。

以上です。

Node-REDのフロー作成

とりあえず、「node-red-contrib-bravia」を、Node-REDの「パレットの管理」から「ノードの追加」をするなりしてください。

スクリーンショット 2019-11-27 22.26.24.png
スクリーンショット 2019-11-27 22.25.51.png

使うノードは、devicesにある「bravia ircc」と「bravia api」です。

スクリーンショット 2019-11-27 22.31.29.png

慣れている方はさくっとフローを作っちゃうと思われますが、このノードはクセのようなものがあり、一度の実行でテレビがONにならない事がよくあります。どうもBRAVIA側が受け取り損なっているような動きに思えます。
そこで、1秒置いて電源の状態を確認し、ONになるまでAPIを発行するフローを作成します。

ノード内のIRCCコードやREST API(メソッド)については以下に情報があるようです。
https://pro-bravia.sony.net/ja/develop/index.html

ノード内のTVの設定をしておきます。「ないしょ」の部分にBRAVIA側で設定した4桁の数字を入力します。
IPアドレスはBRAVIAの「設定」から調べておいてください。

スクリーンショット 2019-11-27 22.29.50.png

フローの配置は以下のようにします。

スクリーンショット 2019-11-27 22.53.20.png

書き出したコードは以下です。BRAVIAの設定値は自分の環境に合わせてください。

[{"id":"e6d8cffe.02c36","type":"bravia-ircc","z":"f3171dc9.c79ab","tv":"66988a5d.eb48d4","ircc":"TvPower","name":"","x":950,"y":90,"wires":[]},{"id":"a6316d68.5739a","type":"switch","z":"f3171dc9.c79ab","name":"","property":"payload.status","propertyType":"msg","rules":[{"t":"eq","v":"standby","vt":"str"},{"t":"eq","v":"active","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":620,"y":140,"wires":[["d43b6529.d19468"],["ea75f005.ad29d"]]},{"id":"d43b6529.d19468","type":"delay","z":"f3171dc9.c79ab","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":770,"y":90,"wires":[["e6d8cffe.02c36","e075bca7.6b2ae"]]},{"id":"67eb502c.5ad75","type":"bravia-api","z":"f3171dc9.c79ab","tv":"66988a5d.eb48d4","method":"system:1.0:getPowerStatus","payload":"","name":"","x":480,"y":140,"wires":[["a6316d68.5739a"]]},{"id":"e075bca7.6b2ae","type":"delay","z":"f3171dc9.c79ab","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":330,"y":140,"wires":[["67eb502c.5ad75"]]},{"id":"8cbf71f.a1e4c9","type":"inject","z":"f3171dc9.c79ab","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":140,"wires":[["e075bca7.6b2ae"]]},{"id":"ea75f005.ad29d","type":"debug","z":"f3171dc9.c79ab","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":780,"y":160,"wires":[]},{"id":"66988a5d.eb48d4","type":"bravia-tv","z":"","name":"BRAVIA","host":"111.111.111.111","port":"80","psk":"0000"}]

電源のOFFもIRCCコードを変えるだけで作れます。
BRAVIAには他にも数多くのREST APIがあるので、色々調べて組み合わせると面白そうですね!

スマートホームでは、トグルスイッチを「必ずON/OFFにする」が必要となる場面が多いので、ご参考になれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1