Code Monkey home page Code Monkey logo

matterbridge-zigbee2mqtt's People

Contributors

luligu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

matterbridge-zigbee2mqtt's Issues

Limited list of supported devices

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?

2024-03-29_11-59-32

2024-03-29_12-07-04

Docker installation

Hi there, very interesting project. What about a Docker installation alternative?

Problems with matterbridge-zigbee2mqtt.config.json on Docker installation

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

Too many devices for ubisys s2

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:
image

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:
image

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.

Problems to connect to MQTT-Broker

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

Support wireless button

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

Failed to start plugin matterbridge-zigbee2mqtt: Error: Only supported EndpointInterface implementation is Endpoint

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.

Battery Level always showing as 100%

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):

image

From quickly looking through the code I can't find anything obviously false with your calculation here:

{ type: '', name: '', property: 'battery', deviceType: powerSource, cluster: PowerSource.Cluster.id, attribute: 'batPercentRemaining', converter: (value) => { return Math.round(value * 2) } },

[FeatureRequest] Expose device as temperature sensor

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.

Disable/Hide Certain Attributes

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.

z2m plugin debug bug

For the debug:
- the frontend log has his own system and display only matterbridge and plugins:

  • in the Log page you can not only select the level but also add a search string. The selection there is persisted between session and applies only to Log page.
    image
  • the small log in the Home page shows always everything.

- the console log displays the matterbridge and matter.js log with the level you select here or from the command line:
image
- the console log also displays the plugin log with or without debug depending on this:
image

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.

2024-06-25.22-58-43.mp4

Presence Sensor is not showing

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".

Restart removes and adds devices

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?

Unable to add plugin on a Docker Matterbridge installation

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

Data is not transferred to Home Assistant

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.

trouble with zigbee2mqtt

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!!!

Delete devices only when they are really removed

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.

Inovelli VZM31-SN support

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!

Plugin starts only when matterbridge is in debug mode

Hi,

I installed Matterbridge today, but the Zigbee2MQTT plugin isn't starting.

I have installed the latest versions:

  • Matterbridge v1.3.0
  • Matterbridge-Zigbee2MQTT v2.1.0

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:
image

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:

Zigbee2MQTT availability (?) cause errors in logs

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) 

Error installing plugin

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

issue with motion devices that expose temp & humd

hi

  • after adding all devices to smartthings hub , i noticed that motion devices which report also temperature are showing only the temperature ( smartthings Motion sensor (2018 model) ) and not showing the motion part , i got other motion devices are working correctly (sonoff SNZB-03 ) , is there any workaround to show the motion sensor as priority ahead of temperature ?
  • i got the tab for the log but it doesnt report transactions even its set to info .
  • as a question is it possible to add the functions like reset bridge and reset child bridge to the gui web page beside shutdown and reboot functions ? also if possible to add an info regarding which controllers already commissioned to the bridge (such as home assistant , google home etc.. ) with the ability to remove controller from same page .
    kindly see below from the smartthings app and zigbee2mqtt pages

Best Regards

Screenshot_20240418_175331_SmartThings
Screenshot_20240418_175302_SmartThings
and from zigbee2mqtt
kids motion
ewelink motion

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.