この記事では Dysonの空気清浄機付き温冷扇風機 pure hot + cool linkをApple homekitおよびSiriで操作するやり方を紹介したいと思います。

Dyson(ダイソン)の扇風機って格好良いですよね。さらに羽根がないタイプの扇風機になるので、小さな子供がいる家庭でもダイソンの扇風機を使いたいって思っている人は結構いるんじゃないですかね?しかしDysonシリーズの他のものにおいても言えるんですが、ダイソンのメーカー自体、あまりスマートスピーカーとの連携についてはほとんど力を入れていません。
ダイソンアプリでの操作はできるようにはなっているんですが、肝心の我が家のApple homekitやSiriでの操作ができないっていうのが、我が家でのダイソン扇風機導入の障害というか、心の壁になっていました。
しかしそんなダイソンの扇風機も実はhomebridgeというエミュレータを使えば操作ができるということが今回わかりましたので、手順について詳しく紹介していきたいと思います。
因みに今回の手順でダイソン扇風機が以下のような感じで HomeKit上で確認することができるようになります。



システム構成と必要なもの
今回のハック方法はお馴染みのRaspberry Piを使ったhomebridgeというエミュレータソフトを使って行います。

- Raspberry Pi 3 b+本体および付属品(電源ケーブル、SDカードなど)
- Dyson Pure Hot+Cool Link本体 (HP04) ※DP04でも同じ手順で動作可能です

インストール手順
では早速インストール手順について説明していきたいと思いますが、本手順ではラズパイの初期設定が完了していることを前提として、nodeソフトのインストールから説明しています。ラズパイの初期設定が完了していない場合は、まずは完了させてから本手順を実施してください。
node と npmのインストール
今回nodeはv10.15.0を使用していますが、新しいものにしておけばとりあえずOKだと思いますが、一部のプラグインでは互換性チェックで動作しないこともあります。因みにプラグイン的にはv8.0.0以上のものにしておく必要があります。
それ以上に新しいものの場合には、インストールしている他のプラグインが動かなくなる可能性もあるので、そこは注意してください。この手順で実施する方であれば、とりあえずはv10.15.0を使うことをお勧めします。
#nvm v10.15.0のインストール
$ nvm install v10.15.0
#インストールされたversionを確認
$ which node
/home/pi/.nvm/versions/node/v10.15.0/bin/node
$ node -v
v10.15.0
#npmの最新版をインストール
$ sudo npm -g install npm@latest
$ npm -v
6.7.0
homebridgeのインストール
nodeが準備できたら、次はhomebridgeをインストールします。これは特にversionを指定せずにインストールしていますので、これを参考にした場合にはまたversionが変わっているかもしれません。
#homebridge の依存ライブラリをインストールする。 //以前に実行済の場合はこの手順はスキップ
$ sudo apt-get install libavahi-compat-libdnssd-dev
#homebridgeのインストールを実行します
$ sudo npm install -g --unsafe-perm homebridge
/home/pi/.nvm/versions/node/v10.15.0/bin/homebridge -> /home/pi/.nvm/versions/node/v10.15.0/lib/node_modules/homebridge/bin/homebridg
homebridge-dyson-linkのインストール
ここでようやくダイソンのプラグインをインストールしていきます。インストール手順としてはとてもシンプルで以下のコマンドを実行するだけです。
$ npm install -g homebridge-dyson-link
設定ファイルの編集
ここまできたら、あとは設定ファイルを編集してあげるだけですね。他のプラグインと違って少し入力する内容が多いので注意してくださいね。
$ vim ~/.homebridge/config.json
{
"bridge":
{
"name": "Homebridge",
"username": "B8:27:xx:xx:xx:xx", //ラズパイのMACアドレス
"port": 51826,
"pin": "031-45-154"
},
"platforms": [
{
"platform": "DysonPlatform",
"name": "DysonPlatform",
"email": "e-mail@dyson.com", //ダイソンアカウントID(e-mail)
"password": "password", //ダイソンアカウントパスワード
"country": "JP",
"accessories": [
{
"ip": "ip address", //ダイソンのIPアドレス
"displayName": "DysonPureHotCool",
"serialNumber": "xxx-xx-xxxxxxxx", //ダイソンのシリアル番号
"nightModeVisible" : true,
"focusModeVisible" : true,
"autoModeVisible" : true
}
]
}
]
}
環境によって変わる部分についてだけ補足すると、
- ラズパイのMACアドレスは 、”ifconfig”コマンドで確認
- ダイソンアカウントはdyson linkアプリで使用しているものと同じもの
- IPアドレスは事前にMACアドレスを調べて固定にしておくこと
- ダイソンのシリアル番号は本体底面もしくは同封マニュアルに記載している
ダイソンのMACアドレスの調べ方は、正面のフィルターを外した部分にあります。(赤線部分)

MACアドレスがわかれば、あとはルーター側で固定DHCP IPアドレスとして割り振ってあげれば準備完了ですね。
起動の確認
あとはhomebridgeを起動してみて、エラーなどが出ないことを確認して、起動が無事確認できれば、Apple Homekit化の成功となります。
# homebridgeの起動確認
$ homebridge
[2019-4-7 00:23:58] Loaded config.json with 0 accessories and 1 platforms.
[2019-4-7 00:23:58] Loaded plugin: homebridge-dyson-link
homebridge API version: 2.3
[2019-4-7 00:23:58] Registering platform 'homebridge-dyson-link.DysonPlatform'
# homebridgeのサービス起動
$ systemctl start homebridge
我が家の場合は名前をSiriで呼びやすいように以下のように変えています。

まとめ
これでまた一つスマートホーム家電が一つ増えましたね。正直ダイソンアプリからの方が見やすさという点ではとてもいいんですが、やはり家電ごとにリモコンアプリが増えていたんじゃ、面倒ですし、スマート家電同士の連携がないようだとやはり面白くありませんよね。
我が家では朝の”おはよう”シーンの中にダイソンも組み込んで、電気と空気清浄機が起動するように設定しています。
これからもどんどん追加していきますね〜


コメント