先日構築した環境でRM mini3を使って赤外線リモコンからBRAVIAを操作できるのですが、リモコンの操作を記憶させるだけだとリモコンにある機能しか使えません。
なにか無いか探してみたところ、BRAVIAは操作用のAPIがあり、API経由だと直接HDMI入力を選択したり今視聴している番組名を取得したりと、リモコンの操作ではちょっと面倒なことも出来るようになるようです。
ちょうどNode.js用のパッケージが公開されているのでそれを利用してBRAVIAを操作します。
まずBRAVIAでAPIから操作できるよう設定を変更します。
私が使用しているX8300Dでは下記の設定を行いました。ここらへんは機種やバージョンにより多少差異がある可能性があります。
- ホーム → 設定 → 通信設定 → ホームネットワーク → レンダラー設定 → レンダラー機能を「ON」に
- ホーム → 設定 → 通信設定 → ホームネットワーク → IP コントロール → 認証 を「Normal and Pre-Shared Key」に
- ホーム → 設定 → 通信設定 → ホームネットワーク → IP コントロール → Pre-Shared Keyで4桁の暗証番号を設定
- ホーム → 設定 → 通信設定 → ホームネットワーク → IP コントロール → 簡易IPコントロール を「ON」に
次にbravia∴npmをインストールします。
npm install bravia --save
インストール後、bravia.jsをこちらの内容で作成します。
その後「bravia.js Digital」とコマンドを実行して地デジに切り替わり、「bravia Digital」と表示されればきちんと動作しています。
bravia.js Digital
bravia Digital
homebotへの設定は
@homebot command bravia bin/bravia.js "#"
で、こんな応答があれば登録完了です。
set !bravia to bin/bravia.js "#"
あとはIFTTTで行いたい操作をslackに出力するよう設定すればOKです。例えば画面をHDMI2に切り替えるのなら
@homebot send bravia(Hdmi2)
と設定します。
これでGoogle Homeに声をかけてBRAVIAの操作ができるようになりました。