Zigbee Coordinator & Scene Switch
シーンスイッチを各部屋に設置してエアコン、扇風機、電球のコントール、起床、就寝、在宅勤務時のシーンなども切り替えられるようにしたいと思いZigbee規格の押しボタン式のシーンスイッチを購入しました。
ZigbeeデバイスはZigbeeコーディネータと呼ばれるデバイスが必要になります。複数のZigbee規格対応機器を1台のコーディネータにペアリングして使います。コーディネータの種類にもよると思いますが、最大50台程度のデバイスを接続できるようです。
HomebridgeでZigbeeデバイスを使うためには、Zigbee2MQTTというソフトウェアでZigbeeのメッセージをMQTTメッセージ化してMQTTブローカーへ送り、それをHomebridge側のプラグインでつなぎます。
Zigbee CoordinatorはUSBインタフェースタイプが多く、PCやRaspberry PiのUSBインタフェースに装着して動作するものが多いのですが、私の場合はSynology社のNASでDockerを動かしており、DSM 7.0以降はUSBインタフェースに接続されたデバイスをDockerのコンテナで使う為にはコツが必要とのことでUSBタイプのZigbeeコーディネータは避けました。代わりにEthernetインタフェースを有するコーディネータを購入して家庭内LANに直結することにしました。
Zigbee2MQTTとMQTTブローカーのMosquittoはSynology NAS上のDockerで動かしています。Mosquittoは最近のバージョンになって設定ファイルにどのネットワークからの接続を許可するか明示しないとネットワーク上の端末から接続できない事を知らず、最初四苦八苦しましたが動かせるようになりました。
多くのサイトでZigbee2MQTTからMQTT Brokerへの接続先を mqtt://localhost:1883 と説明していますが、異なるDockerコンテナで動作している場合はそのサーバーのIPアドレスを記載するみたいです。私の場合Zigbee2MQTTの設定ファイルに以下のように記載することでMQTTブローカーに接続できています。
mqtt: base_topic: zigbee2mqtt server: mqtt://192.168.1.2:1883
あとはHomebridge側にZigbee2MQTTプラグインをインストールするとZigbee2MQTTに登録済みのデバイスがHomebridge上に表示されてApple Homeアプリから設定できるようになりました。Zigbeeデバイスなら何でも動くわけではないようなので、Zigbee2MQTTのサイトでサポートデバイスを確認する必要があります。
私が購入したTuyaのシーン・スイッチはそれぞれのボタンについて1度押し、2度押し、長押しのアクションがあり、Apple Homeでそれぞれについてデバイスやシーンの設定ができます。
リビングには4つスイッチを2個、エアコンと天井のFANのリモコンを貼り付けていた場所に置き換える形で設置してみました。欲張って色々設定したので透明のラベルで動作を貼り付けてみました。
- Zigbee2MQTT: https://www.zigbee2mqtt.io
- Mosquitto: https://mosquitto.org
- Tube’s ZB Store: https://www.tubeszb.com (私が購入したZigbee Coordinatorを販売しているサイト)
- homebridge-z2m Plugin: https://z2m.dev