ダイソンのPure Hot + CoolをGoogle AssistantとHomeKitでリモコン操作できるようにしてみました
我が家の書斎では、数年前に購入した”ダイソン 空気清浄機能付 ヒーター dyson Pure Hot + Cool HP01WS ホワイト/シルバー“を利用しています。
ま、それなりに電気代がかかる家電なので、真冬と真夏限定で電源オンにするといった使い方なのですが、一旦使い始めると、短時間に部屋を温めたり冷やしたりできるので、とっても重宝しています。でもね、こんなに便利な家電なのに、”Google Assistant“やアップル社の”HomeKit“に対応していなんですよねえ。
そんなわけで、先人の知恵を参考にしながら、ダイソンのPure Hot + Coolのスマート家電化にトライしてみました。
(1) IFTTTを活用してGoogle Assistantでリモコン操作してみました
まず最初に、ダイソンのPure Hot + Coolを”Google Assistant“、つまり”Google Home”でリモコン操作できるようにしてみました。
ただ、こちらは、あくまでもお試し程度というアプローチです。というのも、そもそも、”Google Home”って、インターネット越しに、外出先から自宅にある家電やガジェットをリモコン操作できないので、帰宅する直前に、ダイソンのPure Hot + Coolをオンにして、書斎を温めておく、といった利用シーンを実現できないので、POOH的には、あくまでも知識の幅を広げるという観点で、トライしてみた次第です。
こちらで使うハードウェアは、最近、使う機会がなく、机の引き出しにいれたままだった”IRKit“です。
“IRKit“とは、以前、アマゾンで販売していたオープンソースな学習リモコンで、専用のSDK以外に、HTTP API (REST)を使って自由でハンドリングできるので、ソフトウェアな電子工作にはとっても便利なガジェット。既に、後継機種(“Nature Remo“)にスイッチしてしまい、リアルには販売していませんので、もし気になるなら、オークションで探してみると良いかもしれませんね。
なお、”IRKit“の代わりに、”irMagician“という赤外線リモコンシステムを活用する、という方法もあります。こちらを使ってみても面白そうですよ。
えっと、”IRKit“は、既に販売していない製品なので、かなり端折ってしまいますが、HTTP APIを使って、ダイソンのPure Hot + Coolの電源をオンオフするリモコン信号のデータを取得します。こんな感じです。もし詳細が気になるなら、”Google Home”と”IRKit”でネット検索すれば、山のようにヒットしますよ。
続いて、”IFTTT“の出番です。
“Trigger”として”Google Assistant”、”Trigger”の種類として”Say a simple phrase”、”Action”として”Webhook”を選択しながら、新しいAppletを作成します。あ、勿論、”Google Home”と同じIDで、”Google account”をリンクしておかないと動きませんので気を付けて下さいね。
Appletの作成が完了後、数分待ってから、”Google Home”で、「ダイソンに送信」と依頼すると、”IRKit”経由でダイソンのPure Hot + Coolの電源がオンになり、「ダイソンにリモコン操作しました」と返事が返ってきます。これが、外出先からでも出来ればいいんだけどなあ。
(2) Raspberry Piを活用してHomeKitでリモコン操作してみました
ダイソンのPure Hot + Coolを”HomeKit“、つまり”iOSデバイス”(“Siri”)でリモコン操作できるようにしてみました。こちらが、今回の本命です。と言うのも、我が家には、”ホームハブ“としても使える”Apple TV 4K“を設置済みなので、外出先からでも、”HomeKit“に登録した家電などをリモートコントロールでき、例えば、帰宅直前に、ダイソンのPure Hot + Coolで書斎を温めておくことが可能だからです。
ハードウェアとしては、先程使った”IRKit“に加えて、”Raspberry Pi“を活用します。
(a) Raspberry PiにHomebridgeなどをインストールします
“Raspberry Pi“に”Homebridge“という”HomeKit”のAPIをエミュレートする”NodeJS“サーバーをインストールします。(詳しい内容は理解できていません、あしからず。)
インストール手順は”こちら“、またはネットで検索してみて下さい。
続いて、”Homebridge“のプラグインに相当する”homebridge-irkit“をインストールします。このプラグインをインストールすることで、”Homebridge“上で”IRKit“を動かすことができるようになるそうです。ちなみに、プラグインがメチャメチャ沢山あるので、”Homebridge“で出来ることがかなり多そうですよ。
インストール手順や、その他のうんちくについては、ネットで検索していただくとして、無事にインストールを終えたら、”Homebridge“用の設定ファイルを”Raspberry Pi“上に作成します。
nano /home/pi/.homebridge/config.json
えっと、この設定ファイルの書き方をちゃんと説明しているサイトが見当たらなかったので、ポイントになるところを説明しておきます。
“bridge”オブジェクト部分は、各サイトに掲載されているサンプル通りで大丈夫です。ちなみに、”usename”欄にはMACアドレスを記述するようなのですが、どのMACアドレスなのかいまひとつ分からなかったので、サンプル通りにしておきました。
“description”オブジェクト部分は、コメント欄になるので、自分が分かればOKです。
肝心なのは、”accessories”オブジェクト部分です。”accessory”欄は”IRKit”固定、”name”欄はiOSアプリ”ホーム”上で表示するアクセサリー名ですので、基本的には製品名にしておくと良いでしょう。
“irkit_host”欄の”iRkitxxxx.local”は、”ターミナル”アプリで
dns-sd -B _irkit._tcp
と入力した時に表示される”IRKit“本体のホスト名を設定します。
“on_form”と”off_form”は、それぞれ製品の電源オンとオフを実行するリモコン信号のデータを設定します。
“ターミナル”アプリで
curl -i "https://api.getirkit.com/1/messages?clientkey=クライアントキー&clear=1"
と入力後、”IRKit“にリモコン送信したタイミングで取得できるリモコン信号のデータを設定します。
設定ファイルを保存した後、”Raspberry Pi“上の”ターミナル”アプリで
homebridge
とコマンド実行すると、このようなQRコードが生成されるので、
iOSアプリ”ホーム”でQRコードを読み取り、アクセサリーを追加する、といった流れになります。
これで、無事、ダイソンのPure Hot + Coolを、iOSアプリ”ホーム”に登録できました。
(b) 実際にHomeKitを使ってダイソンのPure Hot + Coolをリモコン操作してみましょう
“Siri”に向かって、「Hey Siri ダイソンの電源をオンにして」と依頼すると、ちゃんと電源が入りました。
“Siri”に向かって、「Hey Siri ダイソンの電源をオフにして」と依頼すると、ちゃんと電源が切れました。
この間のログは、”Raspberry Pi“上の”ターミナル”アプリでチェックできます。
|
|
|
“Adobe Stock“でベストショットな写真素材を販売中です。是非ご覧下さい。
ホームページ”THE POOH FILES”にも是非お立ち寄り下さい。