目次

Google Home + IRkit でスマートホームを作るためのちょっとしたTips


Google Home Max が12月中旬に発売されるという噂があったためか、12月頭からビッグカメラでGoogle HomeとGoogle Home miniが安く売られていたので衝動買い。
これまでのお家ハックで利用していたIrkitと併用させてみることにしたなかでのメモ

IFTTTは基本非公開になっていた

アプレットという名前が基本となり、非公開が基本となっていた。公開設定は今のところない模様なので、Webhookするときは何も考えずAPIキーなどを入れておいて問題ない模様。(この仕様変更に気がつくまでに少しかかった・・・

IRKITがセキュリティ強化のため、Curlオプションが必要だった

こちらも気がつくまでに時間がかかった。
直近の信号を取得しようとしても、
“`
curl -i “http://${irkit}/messages”
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/3.0.0.0.g85190b1
Content-Type: text/plain
“`
HTTPコードは200帰ってくるのになんで信号がないんや!となっていたが、リファレンスを解決方法がわからなかったので、しぶしぶリファレンスを見に行ったところ、セキュリティ強化のため、ヘッダにcurlがない場合はAPIの内容を返さない仕様にいつのまにかなっていた。
というわけで、
“`
curl -i “http://${irkit}/messages” -H “X-Requested-With: curl”
“`
を利用するように変更
なので、IRKITでひたすらいろんな信号を取得する時に使っていた「IRKit データ取得作業時の補助スクリプト」を利用する時も、ちょっと改変して利用しましょう。

curlデバッグ時に、” [globbing] nested brace in column” って怒られた

まんまです。curlでネストカラムを利用するなら、 “–globoff”オプションをつけましょうね。っていう話。
例えば、clientkeyやdeviceidを利用してメッセージを送りたい場合は
“`
curl –globoff -i “https://api.getirkit.com/1/messages” -d ‘clientkey=*\**’ -d ‘deviceid=***’ -d ‘message=***’
“`
という形にしてあげなきゃいけない。