SP600 is flooding the network with messages
See original GitHub issueThis is a small sample of the debug log from my network with a single SP600.
zigbee2mqtt:debug 2020-01-14 00:47:52: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:52: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:52: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"instantaneousDemand":1,"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:52: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0.1,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:53: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:53: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0.1,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:54: Received MQTT message on 'zigbee2mqtt/bridge/config/devices' with data '1578962874587'
zigbee2mqtt:info 2020-01-14 00:47:54: MQTT publish: topic 'zigbee2mqtt/bridge/log' //removed
zigbee2mqtt:debug 2020-01-14 00:47:54: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"instantaneousDemand":0,"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:54: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":28,"power":0,"energy":0.6636000000000001}'
zigbee2mqtt:info 2020-01-14 00:47:55: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"version":"1.8.0","commit":"da4d26a","coordinator":{"type":"zStack12","meta":{"transportrev":2,"product":0,"majorrel":2,"minorrel":6,"maintrel":3,"revision":20190608}},"log_level":"debug","permit_join":false}'
zigbee2mqtt:debug 2020-01-14 00:47:55: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:55: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":28,"power":0,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:56: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"instantaneousDemand":1,"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:56: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0.1,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:57: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"instantaneousDemand":0,"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:57: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:58: Received MQTT message on 'zigbee2mqtt/bridge/config/devices' with data '1578962878589'
zigbee2mqtt:info 2020-01-14 00:47:58: MQTT publish: topic 'zigbee2mqtt/bridge/log', //removed
zigbee2mqtt:debug 2020-01-14 00:47:58: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:58: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0,"energy":0.6636000000000001}'
zigbee2mqtt:debug 2020-01-14 00:47:59: Received Zigbee message from 'SmartPlug6', type 'attributeReport', cluster 'seMetering', data '{"currentSummDelivered":[0,6636]}' from endpoint 9 with groupID 0
zigbee2mqtt:info 2020-01-14 00:47:59: MQTT publish: topic 'zigbee2mqtt/SmartPlug6', payload '{"state":"OFF","linkquality":26,"power":0,"energy":0.6636000000000001}'
As you can see, that single device is sending 2 to 3 messages per second, which sounds quite a lot to me!
I doubt that if instead of just one I had 2 or 3, the network would not be able to cope with them!
There’s nothing attached to the smart plug and it is currently off, yet I do see the power value on the received messages oscillating between 0 and 1, which given the multiplier of 10000 it then translates to a real power value between 0.0W and 0.1W (so not very important)
Any idea why we see these oscillations?
There also seems to be a javascript math rounding error in mqtt message energy attribute, so I’ve created PR #905 to fix that.
Issue Analytics
- State:
- Created 4 years ago
- Comments:19 (19 by maintainers)
Top Results From Across the Web
Unicast Flooding in Switched Campus Networks - Cisco
This document discusses possible causes and implications of unicast packet flooding in switched networks.
Read more >What is network flooding and how does it work? - TechTarget
In a computer network, flooding occurs when a router uses a nonadaptive routing algorithm to send an incoming packet to every outgoing link...
Read more >zigbee2mqtt 1.13.0 on Node.js NPM - NewReleases.io
... in all messages; #3308 Fix position out-of-sync when Blaupunkt SCM-S1 is controlled via remote; #903 SP600 is flooding the network with messages...
Read more >Flooding (computer networking) - Wikipedia
Flooding is used in computer networks routing algorithm in which every incoming packet is sent through every outgoing link except the one it...
Read more >Corrida Sanding Sheet SP-600 Grit P600 PK100 : SupplyVan.com ...
Buy Original Corrida Sanding Sheet SP-600 Grit P600 PK100 from SupplyVan.com. Also available other Sandpaper Sheets and Fabricating and Machining products ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Amazing work @lwfitzgerald, I’ve now tested your changes and I can confirm that my SP600 stopped flooding the network! 😁
I had some time to look at this last night and I’ve worked out the issue is.
I’ve raised PR #1157 which includes an explanation of the issue and a fix.
After breaking out the sniffer, I noticed that the
currentSummDeliveredreports were being sent even though the value was not changing:I then had a look at the
configureReportingmessage sent when manually triggering configuration of the device:Here I noticed that the
reportableChangevalue was incorrect (0instead of the expected1).currentSummDeliveredis auint48value and as such, when reporting is being configured, thereportableChangeneeds to be of the same type.BuffaloZcl.writeUInt48expects to be passed a 2 element array of numbers, the first representing the 2 most significant bytes and the second the 4 least significant bytes. This means the default payload had an incorrect value of1, which should instead be[0, 1].