どうモメンです。
【赤外線で家電を動かせる装置irkit】を、google home,HomeKit, Raspberry Piを使うことなく、iphoneのhey siriのみで動かせる方法をついに発見しました。
ずばり、IFTTTでIOSリマインダーのリストをトリガーに使うのです。
「hey siri、テレビリストにほにゃららと追加して」
これでiphoneに話しかけるだけでテレビが付いたんです!google homeと同じことがiphoneでもできるということです(赤外線装置は、別に買う必要がありますがirkitはすでに生産停止となっております)
この方法はirkitに限らず、あらゆるAPIが利用できるデバイスは、IFTTTのレシピによって、hey siriで「音声」で作動させられるという可能性を秘めた裏技です。
アプレット(レシピ)の作り方
「if new reminder added to 『テレビ』,then make a web request」
これがアプレットの説明になります。
「もし『”テレビ”というリストにリマインダーが追加されたら(トリガー)』、『webhookでirkitに信号を送信する(アクション)』」
という内容になっています。
このアプレットを動かすためには、
①「テレビ」という名前のリストをISOリマインダーで作っておく
②webhookでirkitに信号が送れるように、デバイスIDとクライアントキーを取得しておく
という二つの下準備が必要になります。①は誰でもすぐできるんですが②の方はかなり専門的な知識が必要なこともあって、別の投稿記事の方でもやり方を詳しく紹介しています。
参考リンク
【IRKit】windowsのコマンドプロンプトでcurl叩いてclienttoken,deviceid,clienykeyを取得できたよ!
【IRKit】windowsのコマンドプロンプトでcurlを叩こうとしたらFailed to connect…port ..Connection refusedみたいなエラーが出た時
意外と知られていないIOSリマインダーの底力
iphoneのリマインダーを連携させることで、hey siriから、あらゆるリモコンの操作ができたのです。
IFTTTではiosの機能リマインダーを用いて、「ios remindersの特定リストにリマインダーが追加されたら」というトリガーが利用できます。
以前、「ある時間が来たらirkitへ信号を飛ばす」というシンプルなアプレットをIFTTTで作ったことがありました。
この「ある時間が来たら」という条件を、「ios remindersの特定のリストに項目が追加されたら」というややトリッキーな条件に変えてみただけなのです。
iosリマインダーのリストは、hey siriで話しかけるだけで作ることができますし、すでにあるリストに、内容をどんどん「追加」していくことができます。
iphoneを使っている人は多いですがあまりリマインダー機能を積極的に活用してる人はいないようです。私もirkitとIFTTTをいじくり回す前までリマインダーが何かも分かりませんでした。買い物メモなどはメモ帳を開いて文字入力していました。
ちなみに、この「リマインドする」「リマインダー」という言葉が非常に分かりにくい気がします。リマインダーの正しい使い方をほとんどの人が良く分かってないのは絶対に名前が悪いせだと個人的に思ってます。
おそらくリマインダーって聞くと、「通知機能」のことだと思っている人も多いのではないでしょうか。
iosのリマインダーの本質は「メモ帳」ですね。メモ帳に名前を付けて、メモの内容を箇条書きで書いていく、そこに通知できる機能を付けている、というのが正しいイメージだと思います。
しかし、このIOSリマインダーアプリは、hey siriからの音声で入力ができるという点がポイントです。
何か思いつくたびに、いちいちスマホのロックを解除してリマインダーを起動して特定リストを繰り出してそこに内容を追加、なんて面倒くさいですからね。
朝は「hey siri、買い物リストに『牛乳』を追加して!」お昼に「hey siri、買い物リストに『頭痛薬』を追加して!」とポンポン話しかけていくだけで、「買い物」という名前を付けたリストにどんどん項目を追加していく、こういう使い方をするためのアプリだったんです(お恥ずかしながら全然知りませんでした)。
ここで重要なのは「買い物」という自分で作った特定のリストの中に、内容が追加できるという点です。IFTTTのトリガーは「新しいリマインダーが特定のリストに追加されたら」という条件で動かせますので、これで好きなキーワードをトリガーにできるというわけです。
これをIOSリマインダー用語ではそれぞれ「リスト」と「項目」という呼び方をします。これがまた分かりにくいんですよね。
しかし単に「リマインダー」といった場合、果たしてそれが「リスト」を指しているのか「項目」を指しているのか、またはその両方なのかは、いまだに謎なのですが、IFTTT的には「項目」の方を差しているようですね。
IFTTTとirkitの連携では、このiphoneのhey siriで使える「リスト」をうまく利用することで、様々な条件をsiriが聞き分けてくれます。
つまり、iosリマインダで「テレビ」や「エアコン」といったリストを、登録したいリモコンの数だけ作れば、それらをIFTTTのトリガーに使うことができるというわけです。
ここで冒頭の「if new reminder added to 『テレビ』,then make a web request」が使えます。
hey siriによってテレビのリストに追加したい内容の言葉は何でもいいんです。「ほにゃらら」や「むにゃむにゃ」でかまいません。大事なのはそれらが必ず自ら設定した「『特定のリスト』に追加される」ということです。
ですのでsiriが聞き取りにくい言葉をリストにするのはおすすめできません。
これでめでたく、google home,HomeKit, Raspberry Piなどを買うことなく、iphone siri + IFTTTで、irkitをハンズフリーで操作できました!iphoneさえあればどこからでも操作可能です。
iphoneでは必ずバックグラウンドでiftttアプリを起動させておく必要があり、場合によっては、hey siriでリマインダーリストに追加してから作動するまで、どうにも時差があるのがやや残念なのですが。
google home、私はまだ買う予定はありません。IRKitが壊れるまでは・・・
irkitが壊れたら後継機のnature remoを買うしかありませんね。
追記
この後google home miniが半額になったため、結局買ってしまいました。さすがに動作は快適で、リマインダートリガーを使ってのhey siri制御よりは、確度は高いです。
それでも、iPhoneのhey siriだけでirkitを動かせたのは、私にとっては格別の喜びです。
思考実験の勝利だったと思っています。