-
-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Describe the bug
I have a device with genOnOff and seMetering clusters. When I turn it on or off, the instantaneousDemand changes immediately after, and may fluctuate a little. But the matterbridge is skipping those power changes, it show on the logs as "Skipping (no update) MQTT message".
What appears to be happening is that the Matterbridge have a 2s debounce for the "state" change, but it is also affecting the "power" changes, that happens in the same payload.
To Reproduce
I am working with a custom Zigbee device, so I cannot offer a proper reproduction, but my steps are as follow:
- Connect the Matterbridge to a matter controller, and the Zigbee device in the zigbee2mqtt.
- Send a
OnOff.onorOnOff.offcommand to the bridged device. - The bridge device will report a attribute change in the attribute
OnOff.onOff, but does not report a change in theElectricalPowerMeasurement.measureValue. - From the logs below we can see that the updates in power are being reported by
zigbee2mqttbut are being skipped by the Matterbridge.
Turn off
Zigbee2Mqtt logs:
[12/2/2025, 10:49:41 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:49:41+00:00","linkquality":0,"power":9.65,"state":"ON"}'
[12/2/2025, 10:49:52 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:49:52+00:00","linkquality":0,"power":9.65,"state":"OFF"}'
[12/2/2025, 10:49:52 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:49:52+00:00","linkquality":0,"power":0,"state":"OFF"}'
Matterbridge logs:
info[13:49:52.162][ProtocolService]Invoke Matterbridge.Matterbridge.0x000d6f00145d311a.onOff.off online#cc86e96@cf83dd68320f2fb7 (no payload)
info[13:49:52.163][0x000d6f00145d311a]Switching device off (endpoint 0x000d6f00145d311a.7)
debug[13:49:52.165][0x000d6f00145d311a]Command off called for 0x000d6f00145d311a endpoint: 0x000d6f00145d311a:7
debug[13:49:52.165][0x000d6f00145d311a]MatterbridgeOnOffServer: off called
debug[13:49:52.179][Matterbridge]Bridged endpoint 0x000d6f00145d311a:7 attribute OnOff.onOff changed to false
debug[13:49:52.180][Frontend]Sending an attribute update message to all connected clients
debug[13:49:52.180][Frontend]Sending a broadcast message: { id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'state_update', success: true, response: { plugin: 'matterbridge-zigbee2mqtt', serialNumber: '0x000d6f00145d311a', uniqueId: '2f9f511be5fe6d27479d75a450a4468b', number: 7, id: '0x000d6f00145d311a', cluster: 'OnOff', attribute: 'onOff', value: false } }
debug[13:49:52.266][0x000d6f00145d311a]PublishCommand off called for 0x000d6f00145d311a payload: { state: 'OFF' }
info[13:49:52.267][Matterbridge zigbee2mqtt plugin]MQTT publish topic: zigbee2mqtt/0x000d6f00145d311a/set payload: {"state":"OFF"}
debug[13:49:52.268][Zigbee2MQTT]Publishing [0] topic: zigbee2mqtt/0x000d6f00145d311a/set message: {"state":"OFF"}
debug[13:49:52.269][0x000d6f00145d311a]No update for 2 seconds to allow the device 0x000d6f00145d311a to update its state
debug[13:49:52.273][Zigbee2MQTT]Publish [1] success on topic: zigbee2mqtt/0x000d6f00145d311a/set message: {"state":"OFF"}
debug[13:49:52.420][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:49:52.421][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:49:52.422][0x000d6f00145d311a]Skipping not changed MQTT message for accessory 0x000d6f00145d311a
debug[13:49:52.423][0x000d6f00145d311a]Skipping not changed MQTT message for accessory 0x000d6f00145d311a
debug[13:49:54.271][0x000d6f00145d311a]No update is now reset for the device 0x000d6f00145d311a
Turn on:
Zigbee2Mqtt:
[12/2/2025, 10:51:05 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:51:05+00:00","linkquality":0,"power":9.64,"state":"OFF"}'
[12/2/2025, 10:51:05 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:51:05+00:00","linkquality":0,"power":9.64,"state":"ON"}'
[12/2/2025, 10:51:05 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:51:05+00:00","linkquality":0,"power":4.77,"state":"ON"}'
[12/2/2025, 10:51:06 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:51:06+00:00","linkquality":0,"power":7.56,"state":"ON"}'
[12/2/2025, 10:51:06 AM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000d6f00145d311a', payload '{"last_seen":"2025-12-02T13:51:06+00:00","linkquality":0,"power":8.85,"state":"ON"}'
Matterbridge logs:
info[13:51:05.017][ProtocolService]Invoke Matterbridge.Matterbridge.0x000d6f00145d311a.onOff.on online#cc86e9d@cf83dd68320f2fb7 (no payload)
info[13:51:05.018][0x000d6f00145d311a]Switching device on (endpoint 0x000d6f00145d311a.7)
debug[13:51:05.020][0x000d6f00145d311a]Command on called for 0x000d6f00145d311a endpoint: 0x000d6f00145d311a:7
debug[13:51:05.021][0x000d6f00145d311a]Set attributes called for 0x000d6f00145d311a colorMode OnOff payload { }
debug[13:51:05.021][0x000d6f00145d311a]MatterbridgeOnOffServer: on called
debug[13:51:05.035][Matterbridge]Bridged endpoint 0x000d6f00145d311a:7 attribute OnOff.onOff changed to true
debug[13:51:05.036][Frontend]Sending an attribute update message to all connected clients
debug[13:51:05.036][Frontend]Sending a broadcast message: { id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'state_update', success: true, response: { plugin: 'matterbridge-zigbee2mqtt', serialNumber: '0x000d6f00145d311a', uniqueId: '2f9f511be5fe6d27479d75a450a4468b', number: 7, id: '0x000d6f00145d311a', cluster: 'OnOff', attribute: 'onOff', value: true } }
debug[13:51:05.122][0x000d6f00145d311a]PublishCommand on called for 0x000d6f00145d311a payload: { state: 'ON' }
info[13:51:05.123][Matterbridge zigbee2mqtt plugin]MQTT publish topic: zigbee2mqtt/0x000d6f00145d311a/set payload: {"state":"ON"}
debug[13:51:05.123][Zigbee2MQTT]Publishing [0] topic: zigbee2mqtt/0x000d6f00145d311a/set message: {"state":"ON"}
debug[13:51:05.124][0x000d6f00145d311a]No update for 2 seconds to allow the device 0x000d6f00145d311a to update its state
debug[13:51:05.128][Zigbee2MQTT]Publish [1] success on topic: zigbee2mqtt/0x000d6f00145d311a/set message: {"state":"ON"}
debug[13:51:05.264][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:51:05.265][0x000d6f00145d311a]Skipping not changed MQTT message for accessory 0x000d6f00145d311a
debug[13:51:05.266][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:51:05.267][0x000d6f00145d311a]Skipping not changed MQTT message for accessory 0x000d6f00145d311a
debug[13:51:05.706][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:51:06.201][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:51:06.488][Frontend]Received message from websocket client: { id: 121670, method: 'ping', src: 'Frontend', dst: 'Matterbridge', params: { } }
debug[13:51:06.489][Frontend]Sending api response message: { id: 121670, method: 'pong', src: 'Matterbridge', dst: 'Frontend', success: true }
debug[13:51:06.700][0x000d6f00145d311a]Skipping (no update) MQTT message for accessory 0x000d6f00145d311a
debug[13:51:07.126][0x000d6f00145d311a]No update is now reset for the device 0x000d6f00145d311a
Expected behavior
The bridge device should report changes in the measureValue attribute.
Info
Plugin:
- Version v2.8.1
Matterbridge:
- Host mode: service
- Bridge mode: bridge
- Version: v3.3.0
- OS: aarch64 GNU/Linux
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request