目次
- はじめに
- 1. プラグインのインストール
- 2. BlueStacksのインストール
- 3. ログから「Device ID」と「Local Key」を取得する
- 4. iPhoneのホームアプリを設定する
- おわりに
はじめに
今回は「Hey!Siri, 掃除終了」で Ankerのロボット掃除機「Eufy Robovac」に充電ステーションに帰ってもらいたいと思います。
前回の記事「はじめてのRaspberry Pi Zero WにHomebridgeインストールまで」で、Raspberry Piや、Windows、Macなどに node.js, npm → Homebridge のインストールが済んでいる前提で進めていきます。
Amazonの商品紹介にも「Works with Alexa認定」とある様に、【Alexaスキル:EufyHome - RoboVac】から「アレクサ、ロボバックを使って、掃除をして」や、「アレクサ、ロボバックを使って、充電して」が可能です。
しかし、定型アクションで「アレクサ、掃除終了して」を登録して、デバイスの「電源をOFF」に設定すると、充電ステーションには戻らずに、その場で一時停止してしまいます。
そこで、Homebridge のプラグイン「homebridge-eufy-robovac」を使って、「Hey!Siri, 掃除終了」で、充電ステーションに帰ってもらおうと思います。
(ちなみに、Google Assistantの場合は、ショートカット(ルーティン)に「OK Google, 掃除終了」で「(Device Name)を充電して」に割り当てれば、ちゃんと充電ステーションに帰ってくれます。)
1. プラグインのインストール
Homebridge のプラグインで「homebridge-eufy-robovac」を検索し、インストールします。
プラグインの設定画面
プラグインの設定画面で、ロボット掃除機の「Device ID」と「Local Key」を入力する必要があります。
IDとKeyの取得には、Androidアプリケーションエミュレータ「BlueStacks」のADB(Android Debug Bridge)を使って、ログから「Device ID」と「Local Key」を取得する必要があります。
2. BlueStacksのインストール
-
BlueStacksのインストール.
AndroidアプリケーションをWindowsおよびmacOS上で動作させるエミュレータ「BlueStacks」をインストールします。 -
ADB(Android Debug Bridge)の有効化
環境設定 > 詳細設定 > ☑ Android Debug Bridge(ADB)の有効化
-
「EufyHome 2.3.2」をエミュレーターにインストール
Ankerのスマートホームデバイス管理アプリ「EufyHome 2.3.2」のAPKをエミュレーターにインストールします。
3. ログから「Device ID」と「Local Key」を取得する
Windowsのコマンドプロンプトから、「HD-Adb.exe logcat」を起動して "tuya.m.my.group.device.list" のログを取得します。
cd "C:\Program Files\BlueStacks"
HD-Adb.exe logcat -e "tuya.m.my.group.device.list"
↓ BlueStacks内の「Eufy Home」アプリを起動すると、ログが出力されるので「devId」「localKey」を控えておきます。
MM-DD hh:mm:ss.fff **** **** D Tuya : Business api: tuya.m.api.batch.invoke {"result":〜〜中略〜〜,
"devId":"****************","dpMaxTime":********,"productId":"********",〜〜中略〜〜,
"localKey":"****************"}],"a":"tuya.m.my.group.device.list",〜〜中略〜〜}
※文字化けしてしまう場合は、標準出力に出すのではなく、ログに書き込んで、後で参照するのが良いと思います。
HD-Adb.exe logcat -e "tuya.m.my.group.device.list" > eufyhome.log
4. iPhoneのホームアプリを設定する
iPhoneの「ホーム」アプリを起動し、「+」ボタンから「シーンを追加」して、「掃除開始」「掃除終了」を設定すれば、「Hey!Siri, 掃除開始」「Hey!Siri, 掃除終了」ができるようになります。
ちなみに、「掃除終了」で、アクセサリの電源をOFFにしているだけですが、こちらは、アレクサと違ってちゃんと充電ステーションに帰ってくれます。
おわりに
標準では「HomeKit」に対応していないデバイスでも、Homebridgeのプラグイン経由で、スマートホーム化できるのは凄いですね!
スマートリモコンの「Nature Remo」のプラグインは豊富にあるみたいなので、赤外線リモコンにしか対応していない家電も「Hey!Siri」でスマートホーム化できそう。。
「HomePod mini」も「Nature Remo」も買っちゃおうかな。。