冬の寒さ対策:Siriに暖房をつけてもらう(homebridge + IRKit)
寒い日が続いていますね。
寒い朝にリビングの暖房をつけるために、ベッドから出てリビングまで行って暖房をオンにするのは一苦労です。
できれば「 暖房つけてー 」と言えば勝手に暖房がつくようにしたい。
ふと「Siriにお願いすればできるんじゃない?」と思い調べてみたところ、 まさに同じことを実践されている方の記事を発見!
Raspberry Pi + HomeKit + IRKit = Siriで家電を音声操作できるようにする
ちょうど必要なデバイスが揃っていたので、こちらの記事を参考にさせていただき設定してみました。
必要なもの
homebridgeをインストール可能な RaspberryPi もしくは 常時起動可能なPC
設定方法
サーバ側設定
Raspberry Pi + HomeKit + IRKit = Siriで家電を音声操作できるようにする に記載されている「IRKitセットアップ」と「Homebridgeのセットアップ」を実施。
.homebridge/config.json
は homebridgeのサンプルと homebridge-irkitのサンプルを見ながら以下のように設定。今回は暖房とテレビのオンオフができるようにしてみました。
// cat .homebridge/config.json
{
"bridge": {
"name": "Homebridge",
"username": "xx:xx:xx:xx:xx:xx(raspberry piのmacアドレス)",
"port": (homebridge起動時に設定されたポート番号),
"pin": "(homebridge起動時に設定されたpin番号)"
},
"description": "IRKit Control",
"accessories": [
{
"accessory": "IRKit",
"name": "暖房",
"irkit_host": "10.0.1.15",
"on_form": {
"format":"raw","freq":38,"data":[xxxx]
},
"off_form": {
"format":"raw","freq":38,"data":[xxxx]
}
},
{
"accessory": "IRKit",
"name": "テレビ",
"irkit_host": "10.0.1.15",
"on_form": {
"format":"raw","freq":38,"data":[xxxx]
},
"off_form": {
"format":"raw","freq":38,"data":[xxxx]
}
}
]
}
- homebridgeの永続化。以下を参考にさせていただき設定。
til/README.md at master · umesan/til
これでサーバ側の準備は整いました。
iPhone側設定
- 「ホーム」アプリ起動
- 「アクセサリを追加」
- サーバ側の設定が正しくできていれば「Homebridge」が表示されるので選択
- 「コードを手動で入力」を選択
- config.jsonに記載したpinコードを入力
- 基本設定が表示されるので「次へ」
- テレビと暖房の設定が表示されるので「次へ」
- 設定が完了すると「マイホーム」に「テレビ」と「暖房」が追加されています
これですべての準備が整いました。
実験
- 暖房
ちゃんとつけてくれました!
- テレビ
テレビの場合は「テレビをオンにして」「テレビをオフにして」と言えばつけてくれたのですが、「テレビつけて」「テレビ消して」だと頑なにお断りされました。
感想
homebridgeとIRKitを使うことで手軽に家の家電をSiriで操作できるようになりました。
これまで使い所が分からず全くSiriを使っていなかったのですが、ついに使い所を見つけたという感じです。
朝起きた時に「暖房つけてー」というだけでリビングの暖房をつけてもらえるのはなかなか便利です。
(タイマー起動にしてもよかったのですが、家に不在の時に設定を止め忘れたりするのも面倒だと思いこうしています)
「 音声入力で現実のモノを動かせる 」というのは思ってた以上に新鮮な体験でした。