Node-RED with Zigbee2MQTT on RPi

最終更新日

ZigbeeをMQTT に載せることができたので、Node-RED と連携させる

Zigbee2MQTT on RPi

2025.07.29

Node-RED の設定

zigbee2mqtt のリモコン操作を検知

前回は、remote_3 のMQTT通知を検知し、switch node で、action 毎に制御を分割するところまでやった。

設定毎にpayloadを生成

switchの先は、それぞれzigbee2MQTTに送信するpayloadを生成する

例えば、電球を最大まで明るくするpayload はこんな感じ。

value を {"brightness": 30, "state": "on"} にすれば、薄暗い。
value を { "state": "off" }" にすれば、消灯。

value の参考値は、リモコンを操作してログを見たり、電球の仕様書は一般的なので、それをさがしてもいい。

join で集約

さて、ここで3種類(点灯、常夜灯、消灯) のpayloadを電球の数(7個)だけフローとして接続すると、3x7=21本の接続線が必要となる。

カッコ悪いので、 join でmergeして、 join から各電球に接続する。

MQTT でZigbee2MQTT に送信

各電球毎に制御するための Topic が異なるため、MQTTで電球分だけNodeを作って、 join と繋げる。

Topic 例

zigbee2mqtt/{Zigbee family name}/set

Dashboard 設定

Node-RED の dashboard に新たに、Zigbee制御の WALL を追加。

これで、赤外線リモコンと、Zigbeeリモコンの操作可能なDashboardができた。

シェアする