Nature Remo に登録された家電を iPhone/iPad の「ホーム」アプリから操作したい。でも Nature Remo は HomeKit 対応していない。ぐぬぬ。となったので Homebridge で実現する備忘録。
環境
- Nature Remo mini
- Raspberry pi 3
- Raspbian
- Docker インストール済み
Dockerイメージが配布されていたのでDockerでやってみる。
homebridge-ui のインストール
$ mkdir homebridge $ cd homebridge $ cat << EOF > compose.yml services: homebridge: image: oznu/homebridge:latest restart: always network_mode: host volumes: - ./volumes/homebridge:/homebridge logging: driver: json-file options: max-size: "10mb" max-file: "1" EOF $ docker compose up -d
http://<Raspberry pi の IP>:8581
で homebridge-ui にアクセスできる。
初期設定を済ませダッシュボードへ。
参考)エラーが出る場合
エラー。registry.npmjs.org
へ到達できていなさそう。
コンテナ内のターミナルから ping を飛ばしてみる。
$ docker compose exec homebridge /bin/bash Note: This is a restricted shell, sudo cannot be used here. Homebridge Terminal Node.js Version: v18.12.1 Node.js Path: /opt/homebridge/bin/node Plugin Path: /var/lib/homebridge/node_modules Update Node.js: hb-service update-node Install Plugin: hb-service add homebridge-plugin-name Remove Plugin: hb-service remove homebridge-plugin-name root@raspi:/homebridge $ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=10.5 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=10.3 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=56 time=10.5 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=56 time=10.1 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=56 time=9.96 ms ^C --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4007ms rtt min/avg/max/mdev = 9.961/10.266/10.492/0.219 ms root@raspi:/homebridge $ ping registry.npmjs.org # 到達せず
Raspberry Pi のネットワーク設定を見直すと DNS 設定に漏れがあったので修正すると治った。めちゃくちゃこっちのミス。
root@raspi:/homebridge $ ping registry.npmjs.org PING registry.npmjs.org (104.16.19.35) 56(84) bytes of data. 64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=1 ttl=55 time=10.9 ms 64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=2 ttl=55 time=10.4 ms 64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=3 ttl=55 time=10.6 ms 64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=4 ttl=55 time=10.3 ms 64 bytes from 104.16.19.35 (104.16.19.35): icmp_seq=5 ttl=55 time=10.5 ms ^C --- registry.npmjs.org ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4007ms rtt min/avg/max/mdev = 10.313/10.544/10.864/0.186 ms
無事ダッシュボードが正常に表示された。
Nature Remo プラグインのインストール
様々なプラグインを試して比べた結果「Homebridge Nature Remo Platform」が一番手軽&正常に動作&安定していると感じたのでこれを導入。
したかったのだがレポジトリがアーカイブされており、メンテナンスが止まっていた。
ので以降は夢の中での出来事である…。
1. 一旦探してみる
通常ルート同様「Plugins」タブで検索してみる。出ない。
2. コンソールへ接続し npm で直接ダウンロード
コンテナに潜り込む。
$ docker compose exec homebridge /bin/bash # ... root@raspi:/homebridge $ npm i @takeya0x86/homebridge-nature-remo-platform
3. homebridge-ui を再起動
右上電源マークで再起動。
4. プラグインの追加を確認
5. Access Token を取得
ここ↓で発行しコピーしておく。
6. プラグインの設定
プラグイン左下の「SETTINGS」から設定を開き「Access Token」に先ほどコピーした値を入力し「SAVE」を押下。
7. homebridge-ui を再起動
右上電源マークで再起動。
8. Accessories の追加を確認
Nature remo に登録済みの家電が表示されるはず。