luligu / matterbridge-zigbee2mqtt Goto Github PK
View Code? Open in Web Editor NEWMatterbridge zigbee2mqtt plugin
Home Page: https://github.com/Luligu/matterbridge-zigbee2mqtt/blob/main/README.md
License: Apache License 2.0
Matterbridge zigbee2mqtt plugin
Home Page: https://github.com/Luligu/matterbridge-zigbee2mqtt/blob/main/README.md
License: Apache License 2.0
I tried adding different zigbee devices to matterbridge-zigbee2mqtt. Of the 5 connected devices, matterbridge recognized 3. And these are the basic devices: a relay, a light bulb and a temperature/humidity sensor. Are there plans to support other types of devices in the future, including DIY devices that are not produced by companies?
Hi there, very interesting project. What about a Docker installation alternative?
Hi,
installed Matterbridge using docker with this configuration:
matterbridge:
container_name: matterbridge
image: luligu/matterbridge:latest # Matterbridge image with the latest tag
network_mode: host # Ensures the Matter mdns works
restart: always # Ensures the container always restarts automatically
volumes:
- "${HOME}/Matterbridge:/root/Matterbridge" # Mounts the Matterbridge plugin directory
- "${HOME}/.matterbridge:/root/.matterbridge" # Mounts the Matterbridge storage directory
It works. Then, I installed matterbridge-zigbee2mqtt plugin, restarted Matterbridge, and it works too.
Problems arise when trying to configure the plugin. I created a matterbridge-zigbee2mqtt.config.json
file on the correct path (${HOME}/.matterbridge
) with this contents:
{
"name": "matterbridge-zigbee2mqtt",
"type": "DynamicPlatform",
"unregisterOnShutdown": false,
"host": "192.168.1.98",
"port": 1883,
"topic": "zigbee2mqtt",
"username": "mqtt_user",
"password": "MY_PASSWORD",
"whiteList": [],
"blackList": []
}
The mqtt broker address, username and password are right.
When starting, matterbridge-zigbee2mqtt plugin gives:
[08:50:59.846] [Zigbee2MQTT] Error connecting to mqtt://localhost:1883: Connection refused: Not authorized
which suggests that config file hasn't be loaded.
After checking paths, contents and so on, I tried several time: every time he uses "localhost" - not the right configuration.
So I tried with:
docker exec -it matterbridge sh
and, in /root/.matterbridge
, I found out the matterbridge-zigbee2mqtt.config.json
which the plusin is using (despite my configuration), with this own contents:
{
"name": "matterbridge-zigbee2mqtt",
"type": "DynamicPlatform",
"host": "localhost",
"port": 1883,
"topic": "zigbee2mqtt",
"username": "",
"password": "",
"whiteList": [],
"blackList": []
}
so I manually changed this configuration, saved the file, restarted the plugin... and again, "localhost" is used, because the file turns back to the original configuration as above.
No way to make the plugin use a different config.
KC
Hi,
I have one of these devices: https://www.zigbee2mqtt.io/devices/S2.html#ubisys-s2
I named this device LichtFlur. It has 2 outputs so with this one device I can switch the lights in the hallway upstairs and downstairs.
This device appears in matterbridge as one device like so:
120 | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 19, revision: 1 } ]
-- | -- | -- | -- | -- | --
120 | Descriptor | 0x1d | serverList | 0x01 | [ 29, 46, 47, 57, 64, 319486977 ]
120 | Descriptor | 0x1d | clientList | 0x02 | [ ]
120 | Descriptor | 0x1d | partsList | 0x03 | [ 121, 122, 123, 124, 125, 126, 127 ]
120 | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
120 | Descriptor | 0x1d | featureMap | 0xfffc | { }
120 | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
120 | Descriptor | 0x1d | eventList | 0xfffa | [ ]
120 | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
120 | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
120 | BridgedDeviceBasicInformation | 0x39 | vendorName | 0x01 | Ubisys
120 | BridgedDeviceBasicInformation | 0x39 | vendorId | 0x02 | 65521
120 | BridgedDeviceBasicInformation | 0x39 | productName | 0x03 | S2
120 | BridgedDeviceBasicInformation | 0x39 | productId | 0x04 | 32768
120 | BridgedDeviceBasicInformation | 0x39 | nodeLabel | 0x05 | LichtFlur
120 | BridgedDeviceBasicInformation | 0x39 | hardwareVersion | 0x07 | 1
120 | BridgedDeviceBasicInformation | 0x39 | hardwareVersionString | 0x08 | 1.0.0
120 | BridgedDeviceBasicInformation | 0x39 | softwareVersion | 0x09 | 1
120 | BridgedDeviceBasicInformation | 0x39 | softwareVersionString | 0x0a | 1.0.0
120 | BridgedDeviceBasicInformation | 0x39 | productLabel | 0x0e | LichtFlur
120 | BridgedDeviceBasicInformation | 0x39 | serialNumber | 0x0f | 0x001fee00000022f8_matterbridge
120 | BridgedDeviceBasicInformation | 0x39 | reachable | 0x11 | true
120 | BridgedDeviceBasicInformation | 0x39 | uniqueId | 0x12 | 8120f83bdf3b23a6c4c0109713a6aa07
120 | BridgedDeviceBasicInformation | 0x39 | clusterRevision | 0xfffd | 2
120 | BridgedDeviceBasicInformation | 0x39 | featureMap | 0xfffc | { }
120 | BridgedDeviceBasicInformation | 0x39 | attributeList | 0xfffb | [ 1, 2, 3, 4, 5, 7, 8, 9, 10, 14, 15, 17, 18, 65528, 65529, 65530, 65531, 65532, 65533 ]
120 | BridgedDeviceBasicInformation | 0x39 | eventList | 0xfffa | [ 3 ]
120 | BridgedDeviceBasicInformation | 0x39 | acceptedCommandList | 0xfff9 | [ ]
120 | BridgedDeviceBasicInformation | 0x39 | generatedCommandList | 0xfff8 | [ ]
120 | PowerSourceConfiguration | 0x2e | sources | 0x00 | [ ]
120 | PowerSourceConfiguration | 0x2e | clusterRevision | 0xfffd | 1
120 | PowerSourceConfiguration | 0x2e | featureMap | 0xfffc | { }
120 | PowerSourceConfiguration | 0x2e | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
120 | PowerSourceConfiguration | 0x2e | eventList | 0xfffa | [ ]
120 | PowerSourceConfiguration | 0x2e | acceptedCommandList | 0xfff9 | [ ]
120 | PowerSourceConfiguration | 0x2e | generatedCommandList | 0xfff8 | [ ]
120 | PowerSource | 0x2f | status | 0x00 | 1
120 | PowerSource | 0x2f | order | 0x01 | 0
120 | PowerSource | 0x2f | description | 0x02 | AC Power
120 | PowerSource | 0x2f | clusterRevision | 0xfffd | 1
120 | PowerSource | 0x2f | featureMap | 0xfffc | { wired: true, battery: false, rechargeable: false, replaceable: false }
120 | PowerSource | 0x2f | attributeList | 0xfffb | [ 0, 1, 2, 5, 65528, 65529, 65530, 65531, 65532, 65533 ]
120 | PowerSource | 0x2f | eventList | 0xfffa | [ ]
120 | PowerSource | 0x2f | acceptedCommandList | 0xfff9 | [ ]
120 | PowerSource | 0x2f | generatedCommandList | 0xfff8 | [ ]
120 | PowerSource | 0x2f | wiredCurrentType | 0x05 | 0
120 | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'composed', value: 'button' } ]
120 | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
120 | FixedLabel | 0x40 | featureMap | 0xfffc | { }
120 | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
120 | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
120 | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
120 | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
121 (l1) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 259, revision: 2 } ]
121 (l1) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 4, 5, 6, 29, 64 ]
121 (l1) | Descriptor | 0x1d | clientList | 0x02 | [ ]
121 (l1) | Descriptor | 0x1d | partsList | 0x03 | [ ]
121 (l1) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
121 (l1) | Descriptor | 0x1d | featureMap | 0xfffc | { }
121 (l1) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
121 (l1) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
121 (l1) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
121 (l1) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
121 (l1) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'l1' }, { label: 'type', value: 'switch' } ]
121 (l1) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
121 (l1) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
121 (l1) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
121 (l1) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
121 (l1) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
121 (l1) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
121 (l1) | Identify | 0x03 | identifyTime | 0x00 | 0
121 (l1) | Identify | 0x03 | identifyType | 0x01 | 0
121 (l1) | Identify | 0x03 | clusterRevision | 0xfffd | 4
121 (l1) | Identify | 0x03 | featureMap | 0xfffc | { }
121 (l1) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
121 (l1) | Identify | 0x03 | eventList | 0xfffa | [ ]
121 (l1) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
121 (l1) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
121 (l1) | Groups | 0x04 | nameSupport | 0x00 | { nameSupport: true }
121 (l1) | Groups | 0x04 | clusterRevision | 0xfffd | 4
121 (l1) | Groups | 0x04 | featureMap | 0xfffc | { groupNames: true }
121 (l1) | Groups | 0x04 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
121 (l1) | Groups | 0x04 | eventList | 0xfffa | [ ]
121 (l1) | Groups | 0x04 | acceptedCommandList | 0xfff9 | [ 0, 1, 2, 3, 4, 5 ]
121 (l1) | Groups | 0x04 | generatedCommandList | 0xfff8 | [ 0, 1, 2, 3 ]
121 (l1) | Scenes | 0x05 | sceneCount | 0x00 | Unavailable
121 (l1) | Scenes | 0x05 | currentScene | 0x01 | 0
121 (l1) | Scenes | 0x05 | currentGroup | 0x02 | 0
121 (l1) | Scenes | 0x05 | sceneValid | 0x03 | false
121 (l1) | Scenes | 0x05 | nameSupport | 0x04 | { nameSupport: true }
121 (l1) | Scenes | 0x05 | lastConfiguredBy | 0x05 | Unavailable
121 (l1) | Scenes | 0x05 | clusterRevision | 0xfffd | 4
121 (l1) | Scenes | 0x05 | featureMap | 0xfffc | { sceneNames: true }
121 (l1) | Scenes | 0x05 | attributeList | 0xfffb | [ 0, 1, 2, 3, 4, 5, 65528, 65529, 65530, 65531, 65532, 65533 ]
121 (l1) | Scenes | 0x05 | eventList | 0xfffa | [ ]
121 (l1) | Scenes | 0x05 | acceptedCommandList | 0xfff9 | [ 0, 1, 2, 3, 4, 5, 6, 64, 65, 66 ]
121 (l1) | Scenes | 0x05 | generatedCommandList | 0xfff8 | [ 0, 1, 2, 3, 4, 6, 64, 65, 66 ]
121 (l1) | OnOff | 0x06 | onOff | 0x00 | true
121 (l1) | OnOff | 0x06 | clusterRevision | 0xfffd | 4
121 (l1) | OnOff | 0x06 | featureMap | 0xfffc | { }
121 (l1) | OnOff | 0x06 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
121 (l1) | OnOff | 0x06 | eventList | 0xfffa | [ ]
121 (l1) | OnOff | 0x06 | acceptedCommandList | 0xfff9 | [ 0, 1, 2 ]
121 (l1) | OnOff | 0x06 | generatedCommandList | 0xfff8 | [ ]
122 (l2) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 259, revision: 2 } ]
122 (l2) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 4, 5, 6, 29, 64 ]
122 (l2) | Descriptor | 0x1d | clientList | 0x02 | [ ]
122 (l2) | Descriptor | 0x1d | partsList | 0x03 | [ ]
122 (l2) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
122 (l2) | Descriptor | 0x1d | featureMap | 0xfffc | { }
122 (l2) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
122 (l2) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
122 (l2) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
122 (l2) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
122 (l2) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'l2' }, { label: 'type', value: 'switch' } ]
122 (l2) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
122 (l2) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
122 (l2) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
122 (l2) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
122 (l2) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
122 (l2) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
122 (l2) | Identify | 0x03 | identifyTime | 0x00 | 0
122 (l2) | Identify | 0x03 | identifyType | 0x01 | 0
122 (l2) | Identify | 0x03 | clusterRevision | 0xfffd | 4
122 (l2) | Identify | 0x03 | featureMap | 0xfffc | { }
122 (l2) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
122 (l2) | Identify | 0x03 | eventList | 0xfffa | [ ]
122 (l2) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
122 (l2) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
122 (l2) | Groups | 0x04 | nameSupport | 0x00 | { nameSupport: true }
122 (l2) | Groups | 0x04 | clusterRevision | 0xfffd | 4
122 (l2) | Groups | 0x04 | featureMap | 0xfffc | { groupNames: true }
122 (l2) | Groups | 0x04 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
122 (l2) | Groups | 0x04 | eventList | 0xfffa | [ ]
122 (l2) | Groups | 0x04 | acceptedCommandList | 0xfff9 | [ 0, 1, 2, 3, 4, 5 ]
122 (l2) | Groups | 0x04 | generatedCommandList | 0xfff8 | [ 0, 1, 2, 3 ]
122 (l2) | Scenes | 0x05 | sceneCount | 0x00 | Unavailable
122 (l2) | Scenes | 0x05 | currentScene | 0x01 | 0
122 (l2) | Scenes | 0x05 | currentGroup | 0x02 | 0
122 (l2) | Scenes | 0x05 | sceneValid | 0x03 | false
122 (l2) | Scenes | 0x05 | nameSupport | 0x04 | { nameSupport: true }
122 (l2) | Scenes | 0x05 | lastConfiguredBy | 0x05 | Unavailable
122 (l2) | Scenes | 0x05 | clusterRevision | 0xfffd | 4
122 (l2) | Scenes | 0x05 | featureMap | 0xfffc | { sceneNames: true }
122 (l2) | Scenes | 0x05 | attributeList | 0xfffb | [ 0, 1, 2, 3, 4, 5, 65528, 65529, 65530, 65531, 65532, 65533 ]
122 (l2) | Scenes | 0x05 | eventList | 0xfffa | [ ]
122 (l2) | Scenes | 0x05 | acceptedCommandList | 0xfff9 | [ 0, 1, 2, 3, 4, 5, 6, 64, 65, 66 ]
122 (l2) | Scenes | 0x05 | generatedCommandList | 0xfff8 | [ 0, 1, 2, 3, 4, 6, 64, 65, 66 ]
122 (l2) | OnOff | 0x06 | onOff | 0x00 | false
122 (l2) | OnOff | 0x06 | clusterRevision | 0xfffd | 4
122 (l2) | OnOff | 0x06 | featureMap | 0xfffc | { }
122 (l2) | OnOff | 0x06 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
122 (l2) | OnOff | 0x06 | eventList | 0xfffa | [ ]
122 (l2) | OnOff | 0x06 | acceptedCommandList | 0xfff9 | [ 0, 1, 2 ]
122 (l2) | OnOff | 0x06 | generatedCommandList | 0xfff8 | [ ]
123 (switch_1) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 15, revision: 1 } ]
123 (switch_1) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 29, 59, 64 ]
123 (switch_1) | Descriptor | 0x1d | clientList | 0x02 | [ ]
123 (switch_1) | Descriptor | 0x1d | partsList | 0x03 | [ ]
123 (switch_1) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
123 (switch_1) | Descriptor | 0x1d | featureMap | 0xfffc | { }
123 (switch_1) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
123 (switch_1) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
123 (switch_1) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
123 (switch_1) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
123 (switch_1) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'switch_1' } ]
123 (switch_1) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
123 (switch_1) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
123 (switch_1) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
123 (switch_1) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
123 (switch_1) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
123 (switch_1) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
123 (switch_1) | Identify | 0x03 | identifyTime | 0x00 | 0
123 (switch_1) | Identify | 0x03 | identifyType | 0x01 | 0
123 (switch_1) | Identify | 0x03 | clusterRevision | 0xfffd | 4
123 (switch_1) | Identify | 0x03 | featureMap | 0xfffc | { }
123 (switch_1) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
123 (switch_1) | Identify | 0x03 | eventList | 0xfffa | [ ]
123 (switch_1) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
123 (switch_1) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
123 (switch_1) | Switch | 0x3b | numberOfPositions | 0x00 | 2
123 (switch_1) | Switch | 0x3b | currentPosition | 0x01 | 0
123 (switch_1) | Switch | 0x3b | clusterRevision | 0xfffd | 1
123 (switch_1) | Switch | 0x3b | featureMap | 0xfffc | { latchingSwitch: false, momentarySwitch: true, momentarySwitchRelease: true, momentarySwitchLongPress: true, momentarySwitchMultiPress: true }
123 (switch_1) | Switch | 0x3b | attributeList | 0xfffb | [ 0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533 ]
123 (switch_1) | Switch | 0x3b | eventList | 0xfffa | [ 1, 2, 3, 4, 5, 6 ]
123 (switch_1) | Switch | 0x3b | acceptedCommandList | 0xfff9 | [ ]
123 (switch_1) | Switch | 0x3b | generatedCommandList | 0xfff8 | [ ]
123 (switch_1) | Switch | 0x3b | multiPressMax | 0x02 | 2
124 (switch_2) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 15, revision: 1 } ]
124 (switch_2) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 29, 59, 64 ]
124 (switch_2) | Descriptor | 0x1d | clientList | 0x02 | [ ]
124 (switch_2) | Descriptor | 0x1d | partsList | 0x03 | [ ]
124 (switch_2) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
124 (switch_2) | Descriptor | 0x1d | featureMap | 0xfffc | { }
124 (switch_2) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
124 (switch_2) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
124 (switch_2) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
124 (switch_2) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
124 (switch_2) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'switch_2' } ]
124 (switch_2) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
124 (switch_2) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
124 (switch_2) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
124 (switch_2) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
124 (switch_2) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
124 (switch_2) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
124 (switch_2) | Identify | 0x03 | identifyTime | 0x00 | 0
124 (switch_2) | Identify | 0x03 | identifyType | 0x01 | 0
124 (switch_2) | Identify | 0x03 | clusterRevision | 0xfffd | 4
124 (switch_2) | Identify | 0x03 | featureMap | 0xfffc | { }
124 (switch_2) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
124 (switch_2) | Identify | 0x03 | eventList | 0xfffa | [ ]
124 (switch_2) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
124 (switch_2) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
124 (switch_2) | Switch | 0x3b | numberOfPositions | 0x00 | 2
124 (switch_2) | Switch | 0x3b | currentPosition | 0x01 | 0
124 (switch_2) | Switch | 0x3b | clusterRevision | 0xfffd | 1
124 (switch_2) | Switch | 0x3b | featureMap | 0xfffc | { latchingSwitch: false, momentarySwitch: true, momentarySwitchRelease: true, momentarySwitchLongPress: true, momentarySwitchMultiPress: true }
124 (switch_2) | Switch | 0x3b | attributeList | 0xfffb | [ 0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533 ]
124 (switch_2) | Switch | 0x3b | eventList | 0xfffa | [ 1, 2, 3, 4, 5, 6 ]
124 (switch_2) | Switch | 0x3b | acceptedCommandList | 0xfff9 | [ ]
124 (switch_2) | Switch | 0x3b | generatedCommandList | 0xfff8 | [ ]
124 (switch_2) | Switch | 0x3b | multiPressMax | 0x02 | 2
125 (switch_3) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 15, revision: 1 } ]
125 (switch_3) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 29, 59, 64 ]
125 (switch_3) | Descriptor | 0x1d | clientList | 0x02 | [ ]
125 (switch_3) | Descriptor | 0x1d | partsList | 0x03 | [ ]
125 (switch_3) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
125 (switch_3) | Descriptor | 0x1d | featureMap | 0xfffc | { }
125 (switch_3) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
125 (switch_3) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
125 (switch_3) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
125 (switch_3) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
125 (switch_3) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'switch_3' } ]
125 (switch_3) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
125 (switch_3) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
125 (switch_3) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
125 (switch_3) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
125 (switch_3) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
125 (switch_3) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
125 (switch_3) | Identify | 0x03 | identifyTime | 0x00 | 0
125 (switch_3) | Identify | 0x03 | identifyType | 0x01 | 0
125 (switch_3) | Identify | 0x03 | clusterRevision | 0xfffd | 4
125 (switch_3) | Identify | 0x03 | featureMap | 0xfffc | { }
125 (switch_3) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
125 (switch_3) | Identify | 0x03 | eventList | 0xfffa | [ ]
125 (switch_3) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
125 (switch_3) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
125 (switch_3) | Switch | 0x3b | numberOfPositions | 0x00 | 2
125 (switch_3) | Switch | 0x3b | currentPosition | 0x01 | 0
125 (switch_3) | Switch | 0x3b | clusterRevision | 0xfffd | 1
125 (switch_3) | Switch | 0x3b | featureMap | 0xfffc | { latchingSwitch: false, momentarySwitch: true, momentarySwitchRelease: true, momentarySwitchLongPress: true, momentarySwitchMultiPress: true }
125 (switch_3) | Switch | 0x3b | attributeList | 0xfffb | [ 0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533 ]
125 (switch_3) | Switch | 0x3b | eventList | 0xfffa | [ 1, 2, 3, 4, 5, 6 ]
125 (switch_3) | Switch | 0x3b | acceptedCommandList | 0xfff9 | [ ]
125 (switch_3) | Switch | 0x3b | generatedCommandList | 0xfff8 | [ ]
125 (switch_3) | Switch | 0x3b | multiPressMax | 0x02 | 2
126 (switch_4) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 15, revision: 1 } ]
126 (switch_4) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 29, 59, 64 ]
126 (switch_4) | Descriptor | 0x1d | clientList | 0x02 | [ ]
126 (switch_4) | Descriptor | 0x1d | partsList | 0x03 | [ ]
126 (switch_4) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
126 (switch_4) | Descriptor | 0x1d | featureMap | 0xfffc | { }
126 (switch_4) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
126 (switch_4) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
126 (switch_4) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
126 (switch_4) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
126 (switch_4) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'switch_4' } ]
126 (switch_4) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
126 (switch_4) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
126 (switch_4) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
126 (switch_4) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
126 (switch_4) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
126 (switch_4) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
126 (switch_4) | Identify | 0x03 | identifyTime | 0x00 | 0
126 (switch_4) | Identify | 0x03 | identifyType | 0x01 | 0
126 (switch_4) | Identify | 0x03 | clusterRevision | 0xfffd | 4
126 (switch_4) | Identify | 0x03 | featureMap | 0xfffc | { }
126 (switch_4) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
126 (switch_4) | Identify | 0x03 | eventList | 0xfffa | [ ]
126 (switch_4) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
126 (switch_4) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
126 (switch_4) | Switch | 0x3b | numberOfPositions | 0x00 | 2
126 (switch_4) | Switch | 0x3b | currentPosition | 0x01 | 0
126 (switch_4) | Switch | 0x3b | clusterRevision | 0xfffd | 1
126 (switch_4) | Switch | 0x3b | featureMap | 0xfffc | { latchingSwitch: false, momentarySwitch: true, momentarySwitchRelease: true, momentarySwitchLongPress: true, momentarySwitchMultiPress: true }
126 (switch_4) | Switch | 0x3b | attributeList | 0xfffb | [ 0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533 ]
126 (switch_4) | Switch | 0x3b | eventList | 0xfffa | [ 1, 2, 3, 4, 5, 6 ]
126 (switch_4) | Switch | 0x3b | acceptedCommandList | 0xfff9 | [ ]
126 (switch_4) | Switch | 0x3b | generatedCommandList | 0xfff8 | [ ]
126 (switch_4) | Switch | 0x3b | multiPressMax | 0x02 | 2
127 (switch_5) | Descriptor | 0x1d | deviceTypeList | 0x00 | [ { deviceType: 15, revision: 1 } ]
127 (switch_5) | Descriptor | 0x1d | serverList | 0x01 | [ 3, 29, 59, 64 ]
127 (switch_5) | Descriptor | 0x1d | clientList | 0x02 | [ ]
127 (switch_5) | Descriptor | 0x1d | partsList | 0x03 | [ ]
127 (switch_5) | Descriptor | 0x1d | clusterRevision | 0xfffd | 1
127 (switch_5) | Descriptor | 0x1d | featureMap | 0xfffc | { }
127 (switch_5) | Descriptor | 0x1d | attributeList | 0xfffb | [ 0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533 ]
127 (switch_5) | Descriptor | 0x1d | eventList | 0xfffa | [ ]
127 (switch_5) | Descriptor | 0x1d | acceptedCommandList | 0xfff9 | [ ]
127 (switch_5) | Descriptor | 0x1d | generatedCommandList | 0xfff8 | [ ]
127 (switch_5) | FixedLabel | 0x40 | labelList | 0x00 | [ { label: 'endpointName', value: 'switch_5' } ]
127 (switch_5) | FixedLabel | 0x40 | clusterRevision | 0xfffd | 1
127 (switch_5) | FixedLabel | 0x40 | featureMap | 0xfffc | { }
127 (switch_5) | FixedLabel | 0x40 | attributeList | 0xfffb | [ 0, 65528, 65529, 65530, 65531, 65532, 65533 ]
127 (switch_5) | FixedLabel | 0x40 | eventList | 0xfffa | [ ]
127 (switch_5) | FixedLabel | 0x40 | acceptedCommandList | 0xfff9 | [ ]
127 (switch_5) | FixedLabel | 0x40 | generatedCommandList | 0xfff8 | [ ]
127 (switch_5) | Identify | 0x03 | identifyTime | 0x00 | 0
127 (switch_5) | Identify | 0x03 | identifyType | 0x01 | 0
127 (switch_5) | Identify | 0x03 | clusterRevision | 0xfffd | 4
127 (switch_5) | Identify | 0x03 | featureMap | 0xfffc | { }
127 (switch_5) | Identify | 0x03 | attributeList | 0xfffb | [ 0, 1, 65528, 65529, 65530, 65531, 65532, 65533 ]
127 (switch_5) | Identify | 0x03 | eventList | 0xfffa | [ ]
127 (switch_5) | Identify | 0x03 | acceptedCommandList | 0xfff9 | [ 0 ]
127 (switch_5) | Identify | 0x03 | generatedCommandList | 0xfff8 | [ ]
127 (switch_5) | Switch | 0x3b | numberOfPositions | 0x00 | 2
127 (switch_5) | Switch | 0x3b | currentPosition | 0x01 | 0
127 (switch_5) | Switch | 0x3b | clusterRevision | 0xfffd | 1
127 (switch_5) | Switch | 0x3b | featureMap | 0xfffc | { latchingSwitch: false, momentarySwitch: true, momentarySwitchRelease: true, momentarySwitchLongPress: true, momentarySwitchMultiPress: true }
127 (switch_5) | Switch | 0x3b | attributeList | 0xfffb | [ 0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533 ]
127 (switch_5) | Switch | 0x3b | eventList | 0xfffa | [ 1, 2, 3, 4, 5, 6 ]
127 (switch_5) | Switch | 0x3b | acceptedCommandList | 0xfff9 | [ ]
127 (switch_5) | Switch | 0x3b | generatedCommandList | 0xfff8 | [ ]
127 (switch_5) | Switch | 0x3b | multiPressMax | 0x02 | 2
However in google home it appears as 4 devices like so:
Is this the intended behaviour? If so, how can I make it so in google home that it will show only the two outputs?
Thank you for your time.
I tried to connect to my MQTT-Broker, it connects, but it still get no informations:
[08:03:24.373] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge state. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:24.373] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge info. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:24.373] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge devices/groups. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:24.374] [Matterbridge] Failed to start plugin matterbridge-zigbee2mqtt: Error: The plugin did not receive zigbee2mqtt bridge state or info or devices/groups. Check if zigbee2mqtt is running and connected to the MQTT broker.
[08:03:25.210] [Matterbridge] The plugin matterbridge-zigbee2mqtt is in error state.
[08:03:25.211] [Matterbridge] The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.
[08:03:25.212] [Matterbridge] If you want to start the bridge disable the plugin in error state and restart.
[08:04:09.369] [Zigbee2MQTT] Error connecting to mqtt://192.168.178.6:1025: connack timeout
[08:04:09.370] [Matterbridge zigbee2mqtt plugin] MQTT broker at 192.168.178.6:1025 error: Error: connack timeout Error: connack timeout
at Timeout._onTimeout (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:310:32)
My configuration:
{
"name": "matterbridge-zigbee2mqtt",
"type": "DynamicPlatform",
"host": "192.168.178.6",
"username": "",
"password": "",
"port": 1025,
"topic": "zigbee2mqtt",
"blackList": [],
"whiteList": [],
"switchList": [],
"lightList": [],
"outletList": [],
"featureBlackList": [],
"deviceFeatureBlackList": {},
"debug": false,
"unregisterOnShutdown": false
}
My Zigbee2MQTT-Configuration:
mqtt:
base_topic: zigbee2mqtt
server: mqtt://192.168.178.6:1025
keepalive: 60
reject_unauthorized: false
version: 4
include_device_information: true
The Broker isn't running on the same PI as the Matterbridge. Zigbee2MQTT and Matterbridge including the matterbridge-zigbee2mqtt Plugin are running on the same PI as zigbee2MQTT.
Any idea to fix this?
Thanks in advance
Burkhard
I am trying to figure out how to make use of wireless buttons like:
https://www.zigbee2mqtt.io/devices/E1524_E1810.html#ikea-e1524%252Fe1810
or
https://www.zigbee2mqtt.io/devices/E2123.html#ikea-e2123
Currently the logs reports whenever a button is pressed:
debug - [13:31:51.176] [sonos_remote]: MQTT message for device sonos_remote payload: { state: 'track_next' }
debug - [13:31:51.176] [sonos_remote]: Update endpoint 5 cluster 6-OnOff not found: is z2m converter exposing all features?
However I don't see the device gets status update in HA
Hi,
as soon as I correctly configured the MQTT server connection, matterbridge-zigbee2mqtt seems to load the devices to crash directly afterwards.
Unfortunately I don’t have a clue what I have to do.
Can you support me? Do I have to blacklist some devices types or something because these are not supported yet? Which? In the FAQ it seemed, that there shouldn’t be a problem with any type of device, right?
Thanks in advance for your support.
matterbridge version: 1.4.1
z2m v2.1.9
Log:
info - [17:46:36.634] [PluginManager]: Loading plugin matterbridge-zigbee2mqtt type
info - [17:46:37.894] [Matterbridge zigbee2mqtt plugin]: Initializing platform: matterbridge-zigbee2mqtt v
info - [17:46:37.894] [Matterbridge zigbee2mqtt plugin]: Loaded zigbee2mqtt parameters from /root/.matterbridge/matterbridge-zigbee2mqtt.config.json:
info - [17:46:37.895] [Matterbridge zigbee2mqtt plugin]: Connecting to MQTT broker: mqtt://192.168.0.100:1883
notice - [17:46:37.937] [PluginManager]: Loaded plugin matterbridge-zigbee2mqtt type DynamicPlatform (entrypoint /usr/lib/node_modules/matterbridge-zigbee2mqtt/dist/index.js)
info - [17:46:37.938] [PluginManager]: Starting plugin matterbridge-zigbee2mqtt type DynamicPlatform
info - [17:46:37.938] [Matterbridge zigbee2mqtt plugin]: Starting zigbee2mqtt dynamic platform v2.1.9: Matterbridge is starting
info - [17:46:37.943] [Matterbridge zigbee2mqtt plugin]: MQTT broker at 192.168.0.100:1883 connected
info - [17:46:37.949] [Matterbridge zigbee2mqtt plugin]: zigbee2MQTT is online
info - [17:46:37.951] [Matterbridge zigbee2mqtt plugin]: MQTT broker at 192.168.0.100:1883 subscribed to: zigbee2mqtt/#
info - [17:46:37.954] [Matterbridge zigbee2mqtt plugin]: zigbee2MQTT version 1.39.0 zh version 0.50.1 zhc version 19.62.0
info - [17:46:37.969] [Matterbridge zigbee2mqtt plugin]: zigbee2MQTT sent 42 devices
info - [17:46:37.971] [Matterbridge zigbee2mqtt plugin]: zigbee2MQTT sent 1 groups
info - [17:46:37.975] [Matterbridge zigbee2mqtt plugin]: zigbee2MQTT device Rollos Büro Iris is online
info - [17:46:37.990] [Matterbridge]: The plugin matterbridge-zigbee2mqtt is up to date. Current version: 2.1.9, Latest version: 2.1.9
info - [17:46:39.441] [Matterbridge zigbee2mqtt plugin]: Registering 42 devices
error - [17:46:39.516] [PluginManager]: Failed to start plugin matterbridge-zigbee2mqtt: Error: Only supported EndpointInterface implementation is Endpoint
error - [17:46:39.666] [Matterbridge]: The plugin matterbridge-zigbee2mqtt is in error state.
error - [17:46:39.666] [Matterbridge]: The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.
error - [17:46:39.667] [Matterbridge]: If you want to start the bridge disable the plugin in error state and restart.
I just noticed that the exposed battery level is always 100% (or 200 as the cluster value since it's expressed in 0.5 steps as a uint8). For example in Zigbee2MQTT I see this for my the current device (a Ikea door sensor) state:
{
"ac_status": false,
"battery": 81,
"battery_defect": false,
"battery_low": false,
"contact": true,
"linkquality": 188,
"restore_reports": false,
"supervision_reports": false,
"tamper": false,
"test": false,
"trouble": false,
"update": {
"installed_version": 16777241,
"latest_version": 16777241,
"state": "idle"
}
}
But in Matterbridge the following value is shown (which of course is showing up as 100% for example in Home Assistant):
From quickly looking through the code I can't find anything obviously false with your calculation here:
matterbridge-zigbee2mqtt/src/entity.ts
Line 544 in fca046a
It would be great if there was an option to expose devices as a temperature sensor.
Just like with the lightlist and outletlist. In my case, Alexa is used a lot to query room temperatures.
Sometimes the sensors of the Hue motion detectors are used instead of separate temperature sensors.
However, as these are exposed as motion detectors, they cannot be used in this way.
Thanks a lot for the effort of making this plugins, I've been tested it to see it works well and very happy that this integration exists :)
One thing that I've found as missing is the ability to disable certain attributes from being published. for example:
Light switch that comes with "action" attribute that I don't need.
Rolling Shutter with device "temperature" attribute that is no good for me.
It would be great if we could hide/disable certain attributes from being published/shown on a device level or even wide system level.
I've tried messing with zigbee2Mqtt to prevent the device from publishing this attribute and it indeed happens but the devices still showing the action attribute, even after restarts, uninstalls and deleting the config files. it seems like this plugin is taking the configurations from Z2M configurations and it shows there that this attribute exist.
much appreciations.
I installed new versions of matterbridge. I did a factoryReset and reinstalled the new version of matterbridge-zigbee2mqtt. After this, matterbridge and Home Assistant see the test relay, but do not see Moes BHT-002-GCLZB (https://www.zigbee2mqtt.io/devices/BHT-002-GCLZB.html#moes-bht-002-gclzb)
I installed the matterbridge-zigbee2mqtt plugin, but I don’t understand where I should specify the username/password for connecting to mosquitt in the settings.
Please tell me how to do this correctly?
For the debug:
- the frontend log has his own system and display only matterbridge and plugins:
- the console log displays the matterbridge and matter.js log with the level you select here or from the command line:
- the console log also displays the plugin log with or without debug depending on this:
Originally posted by @Luligu in #33 (comment)
Please take a look at this video and let me know if the debug messages in the home tab are intended.
Most (if not all) zigbee2mqtt light devices support a duration/transition time for controlling the dim level and sometimes also color.
As far as I can tell this currently is not exposed / passed through with this plugin. Would be great to have this ability where it applies.
Here is the corresponding definition in matter.js:
Hi,
I've noticed that presence sensors with attribute "presence" are not showing.
Is it possible to make it appear as occupancy sensors?
also, I see all my motion sensor shows as occupancy sensor, I know that's because Z2M does not have "motion" attribute but it marks it all as "occupancy" but I would really love to have the option to change their type to "Motion Sensor" in order to distinguish between presence sensors (Occupancy) to Motion Sensors.
Maybe you can add more lists to config:
"motionList", "occupancyList", "contactList".
Hi,
I'm using this with Google Home and noticed restarting matterbridge removes all the found devices and adds them again, resulting in a lot of notifications of my 126 zigbee devices. The devices also “forget” the room they were in after restarting matterbridge.
Surely this isn't the intended behavior. Could you take a look at this?
Hi,
provided an installation of Matterbridge using Docker latest image, no problem with it.
When trying to add matterbridge-zigbee2mqtt plugin, the installation process seems ok but after the needed Matterbridge restart the plugin looks not installed. Here's the logs:
nfo - [10:30:52.574] [Matterbridge]: Installing plugin matterbridge-zigbee2mqtt...
spawn - [10:30:53.394] [Matterbridge:spawn]: npm
spawn - [10:30:53.395] [Matterbridge:spawn]: verb cli /usr/local/bin/node /usr/local/bin/npm npm info
spawn - [10:30:53.395] [Matterbridge:spawn]: using [email protected] npm info
spawn - [10:30:53.395] [Matterbridge:spawn]: using [email protected]
spawn - [10:30:53.395] [Matterbridge:spawn]: npm verb
spawn - [10:30:53.395] [Matterbridge:spawn]: title npm install matterbridge-zigbee2mqtt npm verb argv "install" "--global" "matterbridge-zigbee2mqtt" "--loglevel" "verbose"
spawn - [10:30:53.395] [Matterbridge:spawn]: npm
spawn - [10:30:53.395] [Matterbridge:spawn]: verb logfile logs-max:10 dir:/root/.npm/_logs/2024-05-01T08_30_53_280Z-
spawn - [10:30:53.395] [Matterbridge:spawn]: npm verb logfile /root/.npm/_logs/2024-05-01T08_30_53_280Z-debug-0.log
spawn - [10:30:55.336] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/matterbridge-zigbee2mqtt 1210ms (cache updated)
spawn - [10:30:55.432] [Matterbridge:spawn]: npm http
spawn - [10:30:55.433] [Matterbridge:spawn]: fetch GET 200 https://registry.npmjs.org/moment 100ms (cache revalidated)
spawn - [10:30:56.207] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/node-ansi-logger 860ms (cache revalidated)
spawn - [10:30:56.262] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/mqtt 930ms (cache updated)
spawn - [10:30:56.416] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/@types%2fws 98ms (cache revalidated)
spawn - [10:30:56.504] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/concat-stream 82ms (cache revalidated)
spawn - [10:30:56.584] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/debug 73ms (cache revalidated)
spawn - [10:30:57.078] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/commist 667ms (cache revalidated)
spawn - [10:30:57.078] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/lru-cache 66ms (cache revalidated)
spawn - [10:30:57.141] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/minimist 70ms (cache revalidated)
spawn - [10:30:57.197] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/help-me 604ms (cache revalidated)
spawn - [10:30:57.488] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/number-allocator 264ms (cache revalidated)
spawn - [10:30:57.543] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/readable-stream 74ms (cache revalidated)
spawn - [10:30:57.557] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/@types%2freadable-stream 1244ms (cache revalidated)
spawn - [10:30:57.646] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/rfdc 83ms (cache revalidated)
spawn - [10:30:57.714] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/split2 65ms (cache revalidated)
spawn - [10:30:58.101] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/mqtt-packet 879ms (cache revalidated)
spawn - [10:30:58.115] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/ws 78ms (cache revalidated)
spawn - [10:30:58.236] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/reinterval 661ms (cache revalidated)
spawn - [10:30:58.353] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/worker-timers 630ms (cache revalidated)
spawn - [10:30:58.478] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/bufferutil 73ms (cache revalidated)
spawn - [10:30:58.557] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/utf-8-validate 73ms (cache revalidated)
spawn - [10:30:58.738] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/safe-buffer 96ms (cache revalidated)
spawn - [10:30:58.797] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/@types%2fnode 162ms (cache revalidated)
spawn - [10:30:59.102] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/inherits 131ms (cache revalidated)
spawn - [10:30:59.116] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/buffer-from 365ms (cache revalidated)
spawn - [10:30:59.116] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/typedarray 133ms (cache revalidated)
spawn - [10:30:59.190] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/process-nextick-args 71ms (cache revalidated)
spawn - [10:30:59.197] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/bl 84ms (cache revalidated)
spawn - [10:30:59.206] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/ms 101ms (cache revalidated)
spawn - [10:30:59.278] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/buffer 64ms (cache revalidated)
spawn - [10:30:59.329] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/abort-controller 121ms (cache revalidated)
spawn - [10:30:59.351] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/events 62ms (cache revalidated)
spawn - [10:30:59.405] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/process 74ms (cache revalidated)
spawn - [10:30:59.420] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/string_decoder 65ms (cache revalidated)
spawn - [10:30:59.496] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/tslib 69ms (cache revalidated)
spawn - [10:30:59.783] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/@babel%2fruntime 372ms (cache revalidated)
spawn - [10:30:59.843] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/js-sdsl 649ms (cache revalidated)
spawn - [10:31:00.252] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/worker-timers-broker 659ms (cache revalidated)
spawn - [10:31:00.478] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/worker-timers-worker 656ms (cache revalidated)
spawn - [10:31:00.584] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/undici-types 64ms (cache revalidated)
spawn - [10:31:00.664] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/util-deprecate 66ms (cache revalidated)
spawn - [10:31:00.776] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/ieee754 80ms (cache revalidated)
spawn - [10:31:00.782] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/base64-js 86ms (cache revalidated)
spawn - [10:31:00.883] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/event-target-shim 70ms (cache revalidated)
spawn - [10:31:00.997] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/regenerator-runtime 76ms (cache revalidated)
spawn - [10:31:01.892] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/fast-unique-numbers 879ms (cache revalidated)
spawn - [10:31:07.010] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/matterbridge-zigbee2mqtt/-/matterbridge-zigbee2mqtt-2.0.12.tgz 962ms (cache miss)
spawn - [10:31:07.419] [Matterbridge:spawn]: npm http fetch GET 200 https://registry.npmjs.org/mqtt/-/mqtt-5.5.5.tgz 1342ms (cache miss)
spawn - [10:31:07.727] [Matterbridge:spawn]: npm info run [email protected] install node_modules/matterbridge-zigbee2mqtt node link-matterbridge-script.js
spawn - [10:31:07.815] [Matterbridge:spawn]: npm info run [email protected] install { code: 0, signal: null }
spawn - [10:31:07.999] [Matterbridge:spawn]: changed 47 packages in 15s
spawn - [10:31:07.999] [Matterbridge:spawn]: 8 packages are looking for funding run `npm fund` for details
spawn - [10:31:07.999] [Matterbridge:spawn]: npm verb exit 0
spawn - [10:31:08.003] [Matterbridge:spawn]: npm info ok
info - [10:31:08.035] [Matterbridge]: Plugin matterbridge-zigbee2mqtt installed. Full restart required.
As previously told, after an installation no zigbee2mqtt plugin appears at "Registered plugins" box.
KC
I installed the latest version of Matterbridge and the matterbridge-zigbee2mqtt plugin.
Added 2 devices to zigbee2mqtt (relay and temperature-humidity sensor).
Scanned the codes and added Matterbridge to Home Assistant via Matter Server v5.4.1.
Zigbee devices have been added to Home Assistant.
I see data from zigbee devices in Matterbridge debug, but it is not transferred to Home Assistant.
hi, im a newbie. I have a project that transfer zigbee standard into matter to use zigbee device. I followed your instruction then got this problem, even i changed broker like HIVEMQ, mosquitto or local mqtt :
[15:57:07.553] [Matterbridge zigbee2mqtt plugin] Loaded zigbee2mqtt parameters from /home/vinhpi/.matterbridge/matterbridge-zigbee2mqtt.config.json:
[15:57:07.555] [Zigbee2MQTT] Created new instance with host: 192.168.88.92 port: 1883 topic: zigbee2mqtt username: password:
[15:57:07.556] [Matterbridge zigbee2mqtt plugin] Connecting to MQTT broker: mqtt://192.168.88.92:1883
[15:57:07.659] [Matterbridge] Loaded plugin matterbridge-zigbee2mqtt type DynamicPlatform (entrypoint /usr/lib/node_modules/matterbridge-zigbee2mqtt/dist/index.js)
[15:57:07.660] [Matterbridge] Starting plugin matterbridge-zigbee2mqtt type DynamicPlatform
[15:57:07.661] [Matterbridge zigbee2mqtt plugin] Starting zigbee2mqtt dynamic platform v2.1.5: Matterbridge is starting
[15:57:07.685] [Matterbridge zigbee2mqtt plugin] MQTT broker at 192.168.88.92:1883 connected
[15:57:07.697] [Matterbridge zigbee2mqtt plugin] MQTT broker at 192.168.88.92:1883 subscribed to: zigbee2mqtt/#
[15:57:09.157] [Matterbridge] The plugin matterbridge-zigbee2mqtt is up to date. Current version: 2.1.5, Latest version: 2.1.5
[15:57:22.664] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge state. Check if zigbee2mqtt is running and connected to the MQTT broker.
[15:57:22.666] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge info. Check if zigbee2mqtt is running and connected to the MQTT broker.
[15:57:22.667] [Matterbridge zigbee2mqtt plugin] The plugin did not receive zigbee2mqtt bridge devices/groups. Check if zigbee2mqtt is running and connected to the MQTT broker.
[15:57:22.669] [Matterbridge] Failed to start plugin matterbridge-zigbee2mqtt: Error: The plugin did not receive zigbee2mqtt bridge state or info or devices/groups. Check if zigbee2mqtt is running and connected to the MQTT broker.
[15:57:22.883] [Matterbridge] The plugin matterbridge-zigbee2mqtt is in error state.
[15:57:22.884] [Matterbridge] The bridge will not start until the problem is solved to prevent the controllers from deleting all registered devices.
[15:57:22.887] [Matterbridge] If you want to start the bridge disable the plugin in error state and restart.
Can somebody help me to fix it?
Thanks a lot!!!
Hi,
I tried out the latest release 2.1.2 to see if issue #30 was fixed. So I unchecked the debug box in the settings of matterbridge-zigbee2mqtt and the plugin did not work correctly. It found no devices. The device count was 0.
This caused all devices to be removed in google home. After making debug true for the plugin, all devices were added back again, but obviously lost all their rooms. So I had to move and rename 102(!) devices to their rooms again. This is very demotivating to use matterbridge at all if things like this happen. Devices should never be removed from matterbridge, unless they are actually removed from zigbee2mqtt.
So do you think there is a way to remove/delete devices only if they are really delete/removed from zigbee2mqtt. For example, a fail to connect to the MQTT server should not remove all the devices.
Hey thanks for a great project. I've been looking for ways to make Alexa -> Home Assistant responses faster, and using matter for local control is definitely the way to go. Most of my devices are already supported with the exception of the Inovelli blue light switches.
They show up in the registered devices list as MA-onofflight (0x0100)
, although I notice the cluster includes button config as well. Maybe this is why Alexa isn't finding it as a standard Matter light?
OnOff: true Composed: button Level: 152%
Happy to provide whatever other info you need. Thx!
Hi,
I installed Matterbridge today, but the Zigbee2MQTT plugin isn't starting.
I have installed the latest versions:
I used the integrated plugin installer for the installation.
After some research, I found out that the Legacy API in Zigbee2MQTT must be disabled. However, this did not resolve the issue.
When I restarted Matterbridge with the -frontend
and -debug
options, all my devices were shown and available.
After restarting it again without the debug flag, the plugin didn't start again, and 0 devices are available.
Here is a screenshot showing the issue:
Attached is the log file with debugging enabled, where everything works:
cleaned_z2m.log
And here is the log file without debugging enabled, where no devices are available:
[20:09:15.235] [Matterbridge] Matterbridge version 1.3.0 mode bridge running on Linux 6.5.11-6-pve linux x64
[20:09:15.320] [Matterbridge] Loading plugin matterbridge-zigbee2mqtt type DynamicPlatform
[20:09:15.343] [Matterbridge] WebSocketServer is listening on ws://10.0.1.6:8284
[20:09:15.343] [Matterbridge] The frontend is listening on http://10.0.1.6:8283
[20:09:15.352] [Matterbridge zigbee2mqtt plugin] Loaded zigbee2mqtt parameters from /root/.matterbridge/matterbridge-zigbee2mqtt.config.json:
[20:09:15.353] [Zigbee2MQTT] Created new instance with host: 10.0.1.7 port: 1883 topic: zigbee2mqtt username: z2m_user password: *****
[20:09:15.353] [Matterbridge zigbee2mqtt plugin] Connecting to MQTT broker: mqtt://10.0.1.7:1883
[20:09:15.381] [Matterbridge] Loaded plugin matterbridge-zigbee2mqtt type DynamicPlatform (entrypoint /usr/lib/node_modules/matterbridge-zigbee2mqtt/dist/index.js)
[20:09:15.382] [Matterbridge] Starting plugin matterbridge-zigbee2mqtt type DynamicPlatform
[20:09:15.382] [Matterbridge zigbee2mqtt plugin] Starting zigbee2mqtt dynamic platform v2.1.0: Matterbridge is starting
[20:09:15.383] [Matterbridge zigbee2mqtt plugin] MQTT broker at 10.0.1.7:1883 connected
[20:09:15.386] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT is online
[20:09:15.389] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT version 1.38.0 zh version 0.49.2 zhc version 19.47.1
[20:09:15.459] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT sent 49 devices
[20:09:15.466] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT sent 1 groups
[20:09:15.491] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Wohnzimmer Deckenlampe 1 is online
[20:09:15.507] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Schlafzimmer Deckenlampe 2 is online
[20:09:15.507] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Wohnzimmer Deckenlampe 2 is online
[20:09:15.515] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Schlafzimmer Licht is online
[20:09:15.516] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Lüfter Mobil is online
[20:09:15.517] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Sofa Licht is online
[20:09:15.517] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Badezimmer Licht is online
[20:09:15.518] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Schlafzimmer Deckenlampe 3 is online
[20:09:15.518] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Kaffeemaschine Licht is online
[20:09:15.518] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Küche Licht is online
[20:09:15.519] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Badezimmer Abluft is online
[20:09:15.519] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Dusche Licht is online
[20:09:15.519] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Sim Rig is online
[20:09:15.520] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Sim Rig Monitore is offline
[20:09:15.525] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Küchenzeile Licht is online
[20:09:15.550] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Küche Licht is online
[20:09:15.550] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Wohnzimmer Deckenlampe 3 is online
[20:09:15.552] [Zigbee2MQTT] tryJsonParse: parsing error: SyntaxError: Unexpected token 'o', "online" is not valid JSON SyntaxError: Unexpected token 'o', "online" is not valid JSON
at JSON.parse (<anonymous>)
at Zigbee2MQTT.tryJsonParse (file:///usr/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:328:25)
at Zigbee2MQTT.messageHandler (file:///usr/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:583:35)
at MqttClient.<anonymous> (file:///usr/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:168:22)
at MqttClient.emit (node:events:519:28)
at Array.<anonymous> (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/publish.js:85:28)
at MqttClient.options.customHandleAcks (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:103:28)
at handlePublish (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/publish.js:73:21)
at handle (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/index.js:28:35)
at work (/usr/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:221:40)
[20:09:15.571] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Computer Licht is online
[20:09:15.572] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Computer Lautsprecher is online
[20:09:15.572] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Bett Licht is online
[20:09:15.573] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Computer Licht is offline
[20:09:15.573] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Computer is online
[20:09:15.574] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Monitore is online
[20:09:15.574] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Sofa is offline
[20:09:15.574] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Wohnzimmer is offline
[20:09:15.577] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Sofa 2 is online
[20:09:15.583] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Temperatur Wohnzimmer is online
[20:09:15.588] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Temperatur Badezimmer is online
[20:09:15.595] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Temperatur Küche is online
[20:09:15.598] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Temperatur Schlafzimmer is online
[20:09:15.599] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Wohnzimmer Balkon is online
[20:09:15.603] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Haustüre is online
[20:09:15.604] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Küche Fenster is online
[20:09:15.615] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Dachfenster 1 is online
[20:09:15.616] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Dachfenster 2 is online
[20:09:15.624] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Simrig Fernseher is offline
[20:09:15.626] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Schlafzimmer Deckenlampe 1 is online
[20:09:15.626] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Mixer Küche is online
[20:09:15.627] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Bett Strom is online
[20:09:15.627] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Tablet Bett Strom is offline
[20:09:15.627] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Wohnzimmer Media is online
[20:09:15.635] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Router Strom is online
[20:09:15.636] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Fernseher Schlafzimmer Power is online
[20:09:15.638] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device 0x60a423fffeeed460 is offline
[20:09:15.639] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Schreibtisch Licht is online
[20:09:15.639] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Kühlschrank Temperatur is online
[20:09:15.640] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Remote Wohnzimmer 2 is online
[20:09:15.640] [Matterbridge zigbee2mqtt plugin] zigbee2MQTT device Badezimmer Schalter is online
[20:09:16.888] [Matterbridge] Failed to start plugin matterbridge-zigbee2mqtt: Error: Only supported EndpointInterface implementation is Endpoint
[20:09:17.379] [Matterbridge] Matter server started
[20:09:17.413] [Matterbridge] The commissioning server on port 5540 for Matterbridge is not commissioned. Pair it scanning the QR code:
I'm not really sure if it somehow related to availability feature in Z2M, but I see in logs:
debug - [13:15:22.933] [Zigbee2MQTT]: tryJsonParse: parsing error from offline
error - [13:15:22.934] [Zigbee2MQTT]: tryJsonParse: parsing error: SyntaxError: Unexpected token 'o', "offline" is not valid JSON
stacktrace:
[13:15:22.934] [Zigbee2MQTT] tryJsonParse: parsing error: SyntaxError: Unexpected token 'o', "online" is not valid JSON SyntaxError: Unexpected token 'o', "online" is not valid JSON
at JSON.parse (<anonymous>)
at Zigbee2MQTT.tryJsonParse (file:///usr/local/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:316:25)
at Zigbee2MQTT.messageHandler (file:///usr/local/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:601:43)
at MqttClient.<anonymous> (file:///usr/local/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:167:22)
at MqttClient.emit (node:events:518:28)
at Array.<anonymous> (/usr/local/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/publish.js:85:28)
at MqttClient.options.customHandleAcks (/usr/local/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:103:28)
at handlePublish (/usr/local/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/publish.js:73:21)
at handle (/usr/local/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/index.js:32:35)
at work (/usr/local/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:221:40)
I updated my version of mosquitto (2.0.11) and tried installing matterbridge-zigbee2mqtt again. While running matterbridge -add matterbridge-zigbee2mqtt I got the error:
Connection established
[15:35:32.542] [Zigbee2MQTT] Started
[15:35:32.544] [Zigbee2MQTT] Subscribing topic: zigbee2mqtt-1/#
undefined:1
online
^
SyntaxError: Unexpected token o in JSON at position 0
at JSON.parse ()
at Zigbee2MQTT.messageHandler (file:///usr/local/lib/nodejs/node-v18.19.1-linux-arm64/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:312:31)
at MqttClient. (file:///usr/local/lib/nodejs/node-v18.19.1-linux-arm64/lib/node_modules/matterbridge-zigbee2mqtt/dist/zigbee2mqtt.js:164:22)
at MqttClient.emit (node:events:517:28)
at handlePublish (/usr/local/lib/nodejs/node-v18.19.1-linux-arm64/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/publish.js:97:20)
at handle (/usr/local/lib/nodejs/node-v18.19.1-linux-arm64/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/handlers/index.js:28:35)
at work (/usr/local/lib/nodejs/node-v18.19.1-linux-arm64/lib/node_modules/matterbridge-zigbee2mqtt/node_modules/mqtt/build/lib/client.js:225:40)
at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
After this, Matterbridge stopped.
When I try to start it again, it gets the same error again and stops
hi
Best Regards
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.