So many events in Home Assistant

I’m running a single Blue connected through Zigbee2Mqtt into Home Assistant. When I look at the events generated by just tapping the “On” (top of the paddle), in the matter of about 3 seconds I get 340 events.

Below is the list of of entities that were updated in the 3 seconds. I’ve just included the entity names, the entire dump of the events is a file with 71000 lines. On a cursory look at the file it seems each event is repeated 5 times.

Some questions:

  1. Is this expected behavior?
  2. What can be done to reduce this? Why, for a button press, is an event generated for every single attribute of the device. Further, each event already contains all of the attributes.
  3. I recall see a post on this forum where someone was concerned about the switches constantly transmitting. Could a part of this be related to that report?

I fear installing a number of these switches will overwhelm Home Assistant.

Here is a link to where I have put the full event data:

Here is the list of entities, where each line represents an event. The name of my device is “inotest”.

            "entity_id": "select.inotest_doubletapclearnotifications",
            "entity_id": "number.inotest_defaultled7intensitywhenoff",
            "entity_id": "number.inotest_defaultled7intensitywhenon",
            "entity_id": "number.inotest_defaultled7colorwhenoff",
            "entity_id": "number.inotest_defaultled7colorwhenon",
            "entity_id": "number.inotest_defaultled6intensitywhenoff",
            "entity_id": "number.inotest_defaultled6intensitywhenon",
            "entity_id": "number.inotest_defaultled6colorwhenoff",
            "entity_id": "number.inotest_defaultled6colorwhenon",
            "entity_id": "number.inotest_defaultled5intensitywhenoff",
            "entity_id": "number.inotest_defaultled5intensitywhenon",
            "entity_id": "number.inotest_defaultled5colorwhenoff",
            "entity_id": "number.inotest_defaultled5colorwhenon",
            "entity_id": "number.inotest_defaultled4intensitywhenoff",
            "entity_id": "number.inotest_defaultled4intensitywhenon",
            "entity_id": "number.inotest_defaultled4colorwhenoff",
            "entity_id": "number.inotest_defaultled4colorwhenon",
            "entity_id": "number.inotest_defaultled3intensitywhenoff",
            "entity_id": "number.inotest_defaultled3intensitywhenon",
            "entity_id": "number.inotest_defaultled3colorwhenoff",
            "entity_id": "number.inotest_defaultled3colorwhenon",
            "entity_id": "number.inotest_defaultled2intensitywhenoff",
            "entity_id": "number.inotest_defaultled2intensitywhenon",
            "entity_id": "number.inotest_defaultled2colorwhenoff",
            "entity_id": "number.inotest_defaultled2colorwhenon",
            "entity_id": "number.inotest_defaultled1intensitywhenoff",
            "entity_id": "number.inotest_defaultled1intensitywhenon",
            "entity_id": "number.inotest_defaultled1colorwhenoff",
            "entity_id": "number.inotest_defaultled1colorwhenon",
            "entity_id": "number.inotest_ledintensitywhenoff",
            "entity_id": "number.inotest_ledintensitywhenon",
            "entity_id": "number.inotest_ledcolorwhenoff",
            "entity_id": "number.inotest_ledcolorwhenon",
            "entity_id": "number.inotest_activeenergyreports",
            "entity_id": "number.inotest_periodicpowerandenergyreports",
            "entity_id": "number.inotest_activepowerreports",
            "entity_id": "number.inotest_stateafterpowerrestored",
            "entity_id": "number.inotest_defaultlevelremote",
            "entity_id": "number.inotest_defaultlevellocal",
            "entity_id": "number.inotest_autotimeroff",
            "entity_id": "number.inotest_maximumlevel",
            "entity_id": "number.inotest_minimumlevel",
            "entity_id": "number.inotest_ramprateontoofflocal",
            "entity_id": "number.inotest_ramprateontooffremote",
            "entity_id": "number.inotest_dimmingspeeddownlocal",
            "entity_id": "number.inotest_dimmingspeeddownremote",
            "entity_id": "number.inotest_ramprateofftoonlocal",
            "entity_id": "number.inotest_ramprateofftoonremote",
            "entity_id": "number.inotest_dimmingspeeduplocal",
            "entity_id": "number.inotest_dimmingspeedupremote",
            "entity_id": "sensor.inotest_action",
            "entity_id": "sensor.inotest_remoteprotection",
            "entity_id": "sensor.inotest_powertype",
            "entity_id": "sensor.inotest_energy",
            "entity_id": "sensor.inotest_power",
            "entity_id": "select.inotest_relayclick",
            "entity_id": "select.inotest_doubletapupforfullbrightness",
            "entity_id": "select.inotest_firmwareupdateinprogressindicator",
            "entity_id": "select.inotest_onoffledmode",
            "entity_id": "select.inotest_outputmode",
            "entity_id": "select.inotest_localprotection",
            "entity_id": "select.inotest_smartbulbmode",
            "entity_id": "select.inotest_buttondelay",
            "entity_id": "select.inotest_switchtype",
            "entity_id": "select.inotest_loadlevelindicatortimeout",
            "entity_id": "select.inotest_invertswitch",
            "entity_id": "light.inotest",
            "entity_id": "binary_sensor.inotest_update_available",
            "entity_id": "select.inotest_doubletapclearnotifications",
            "entity_id": "number.inotest_defaultled7intensitywhenoff",
            "entity_id": "number.inotest_defaultled7intensitywhenon",
            "entity_id": "number.inotest_defaultled7colorwhenoff",
            "entity_id": "number.inotest_defaultled7colorwhenon",
            "entity_id": "number.inotest_defaultled6intensitywhenoff",
            "entity_id": "number.inotest_defaultled6intensitywhenon",
            "entity_id": "number.inotest_defaultled6colorwhenoff",
            "entity_id": "number.inotest_defaultled6colorwhenon",
            "entity_id": "number.inotest_defaultled5intensitywhenoff",
            "entity_id": "number.inotest_defaultled5intensitywhenon",
            "entity_id": "number.inotest_defaultled5colorwhenoff",
            "entity_id": "number.inotest_defaultled5colorwhenon",
            "entity_id": "number.inotest_defaultled4intensitywhenoff",
            "entity_id": "number.inotest_defaultled4intensitywhenon",
            "entity_id": "number.inotest_defaultled4colorwhenoff",
            "entity_id": "number.inotest_defaultled4colorwhenon",
            "entity_id": "number.inotest_defaultled3intensitywhenoff",
            "entity_id": "number.inotest_defaultled3intensitywhenon",
            "entity_id": "number.inotest_defaultled3colorwhenoff",
            "entity_id": "number.inotest_defaultled3colorwhenon",
            "entity_id": "number.inotest_defaultled2intensitywhenoff",
            "entity_id": "number.inotest_defaultled2intensitywhenon",
            "entity_id": "number.inotest_defaultled2colorwhenoff",
            "entity_id": "number.inotest_defaultled2colorwhenon",
            "entity_id": "number.inotest_defaultled1intensitywhenoff",
            "entity_id": "number.inotest_defaultled1intensitywhenon",
            "entity_id": "number.inotest_defaultled1colorwhenoff",
            "entity_id": "number.inotest_defaultled1colorwhenon",
            "entity_id": "number.inotest_ledintensitywhenoff",
            "entity_id": "number.inotest_ledintensitywhenon",
            "entity_id": "number.inotest_ledcolorwhenoff",
            "entity_id": "number.inotest_ledcolorwhenon",
            "entity_id": "number.inotest_activeenergyreports",
            "entity_id": "number.inotest_periodicpowerandenergyreports",
            "entity_id": "number.inotest_activepowerreports",
            "entity_id": "number.inotest_stateafterpowerrestored",
            "entity_id": "number.inotest_defaultlevelremote",
            "entity_id": "number.inotest_defaultlevellocal",
            "entity_id": "number.inotest_autotimeroff",
            "entity_id": "number.inotest_maximumlevel",
            "entity_id": "number.inotest_minimumlevel",
            "entity_id": "number.inotest_ramprateontoofflocal",
            "entity_id": "number.inotest_ramprateontooffremote",
            "entity_id": "number.inotest_dimmingspeeddownlocal",
            "entity_id": "number.inotest_dimmingspeeddownremote",
            "entity_id": "number.inotest_ramprateofftoonlocal",
            "entity_id": "number.inotest_ramprateofftoonremote",
            "entity_id": "number.inotest_dimmingspeeduplocal",
            "entity_id": "number.inotest_dimmingspeedupremote",
            "entity_id": "sensor.inotest_action",
            "entity_id": "sensor.inotest_remoteprotection",
            "entity_id": "sensor.inotest_powertype",
            "entity_id": "sensor.inotest_energy",
            "entity_id": "sensor.inotest_power",
            "entity_id": "select.inotest_relayclick",
            "entity_id": "select.inotest_doubletapupforfullbrightness",
            "entity_id": "select.inotest_firmwareupdateinprogressindicator",
            "entity_id": "select.inotest_onoffledmode",
            "entity_id": "select.inotest_outputmode",
            "entity_id": "select.inotest_localprotection",
            "entity_id": "select.inotest_smartbulbmode",
            "entity_id": "select.inotest_buttondelay",
            "entity_id": "select.inotest_switchtype",
            "entity_id": "select.inotest_loadlevelindicatortimeout",
            "entity_id": "select.inotest_invertswitch",
            "entity_id": "light.inotest",
            "entity_id": "binary_sensor.inotest_update_available",
            "entity_id": "select.inotest_doubletapclearnotifications",
            "entity_id": "number.inotest_defaultled7intensitywhenoff",
            "entity_id": "number.inotest_defaultled7intensitywhenon",
            "entity_id": "number.inotest_defaultled7colorwhenoff",
            "entity_id": "number.inotest_defaultled7colorwhenon",
            "entity_id": "number.inotest_defaultled6intensitywhenoff",
            "entity_id": "number.inotest_defaultled6intensitywhenon",
            "entity_id": "number.inotest_defaultled6colorwhenoff",
            "entity_id": "number.inotest_defaultled6colorwhenon",
            "entity_id": "number.inotest_defaultled5intensitywhenoff",
            "entity_id": "number.inotest_defaultled5intensitywhenon",
            "entity_id": "number.inotest_defaultled5colorwhenoff",
            "entity_id": "number.inotest_defaultled5colorwhenon",
            "entity_id": "number.inotest_defaultled4intensitywhenoff",
            "entity_id": "number.inotest_defaultled4intensitywhenon",
            "entity_id": "number.inotest_defaultled4colorwhenoff",
            "entity_id": "number.inotest_defaultled4colorwhenon",
            "entity_id": "number.inotest_defaultled3intensitywhenoff",
            "entity_id": "number.inotest_defaultled3intensitywhenon",
            "entity_id": "number.inotest_defaultled3colorwhenoff",
            "entity_id": "number.inotest_defaultled3colorwhenon",
            "entity_id": "number.inotest_defaultled2intensitywhenoff",
            "entity_id": "number.inotest_defaultled2intensitywhenon",
            "entity_id": "number.inotest_defaultled2colorwhenoff",
            "entity_id": "number.inotest_defaultled2colorwhenon",
            "entity_id": "number.inotest_defaultled1intensitywhenoff",
            "entity_id": "number.inotest_defaultled1intensitywhenon",
            "entity_id": "number.inotest_defaultled1colorwhenoff",
            "entity_id": "number.inotest_defaultled1colorwhenon",
            "entity_id": "number.inotest_ledintensitywhenoff",
            "entity_id": "number.inotest_ledintensitywhenon",
            "entity_id": "number.inotest_ledcolorwhenoff",
            "entity_id": "number.inotest_ledcolorwhenon",
            "entity_id": "number.inotest_activeenergyreports",
            "entity_id": "number.inotest_periodicpowerandenergyreports",
            "entity_id": "number.inotest_activepowerreports",
            "entity_id": "number.inotest_stateafterpowerrestored",
            "entity_id": "number.inotest_defaultlevelremote",
            "entity_id": "number.inotest_defaultlevellocal",
            "entity_id": "number.inotest_autotimeroff",
            "entity_id": "number.inotest_maximumlevel",
            "entity_id": "number.inotest_minimumlevel",
            "entity_id": "number.inotest_ramprateontoofflocal",
            "entity_id": "number.inotest_ramprateontooffremote",
            "entity_id": "number.inotest_dimmingspeeddownlocal",
            "entity_id": "number.inotest_dimmingspeeddownremote",
            "entity_id": "number.inotest_ramprateofftoonlocal",
            "entity_id": "number.inotest_ramprateofftoonremote",
            "entity_id": "number.inotest_dimmingspeeduplocal",
            "entity_id": "number.inotest_dimmingspeedupremote",
            "entity_id": "sensor.inotest_action",
            "entity_id": "sensor.inotest_remoteprotection",
            "entity_id": "sensor.inotest_powertype",
            "entity_id": "sensor.inotest_energy",
            "entity_id": "sensor.inotest_power",
            "entity_id": "select.inotest_relayclick",
            "entity_id": "select.inotest_doubletapupforfullbrightness",
            "entity_id": "select.inotest_firmwareupdateinprogressindicator",
            "entity_id": "select.inotest_onoffledmode",
            "entity_id": "select.inotest_outputmode",
            "entity_id": "select.inotest_localprotection",
            "entity_id": "select.inotest_smartbulbmode",
            "entity_id": "select.inotest_buttondelay",
            "entity_id": "select.inotest_switchtype",
            "entity_id": "select.inotest_loadlevelindicatortimeout",
            "entity_id": "select.inotest_invertswitch",
            "entity_id": "light.inotest",
            "entity_id": "binary_sensor.inotest_update_available",
            "entity_id": "select.inotest_doubletapclearnotifications",
            "entity_id": "number.inotest_defaultled7intensitywhenoff",
            "entity_id": "number.inotest_defaultled7intensitywhenon",
            "entity_id": "number.inotest_defaultled7colorwhenoff",
            "entity_id": "number.inotest_defaultled7colorwhenon",
            "entity_id": "number.inotest_defaultled6intensitywhenoff",
            "entity_id": "number.inotest_defaultled6intensitywhenon",
            "entity_id": "number.inotest_defaultled6colorwhenoff",
            "entity_id": "number.inotest_defaultled6colorwhenon",
            "entity_id": "number.inotest_defaultled5intensitywhenoff",
            "entity_id": "number.inotest_defaultled5intensitywhenon",
            "entity_id": "number.inotest_defaultled5colorwhenoff",
            "entity_id": "number.inotest_defaultled5colorwhenon",
            "entity_id": "number.inotest_defaultled4intensitywhenoff",
            "entity_id": "number.inotest_defaultled4intensitywhenon",
            "entity_id": "number.inotest_defaultled4colorwhenoff",
            "entity_id": "number.inotest_defaultled4colorwhenon",
            "entity_id": "number.inotest_defaultled3intensitywhenoff",
            "entity_id": "number.inotest_defaultled3intensitywhenon",
            "entity_id": "number.inotest_defaultled3colorwhenoff",
            "entity_id": "number.inotest_defaultled3colorwhenon",
            "entity_id": "number.inotest_defaultled2intensitywhenoff",
            "entity_id": "number.inotest_defaultled2intensitywhenon",
            "entity_id": "number.inotest_defaultled2colorwhenoff",
            "entity_id": "number.inotest_defaultled2colorwhenon",
            "entity_id": "number.inotest_defaultled1intensitywhenoff",
            "entity_id": "number.inotest_defaultled1intensitywhenon",
            "entity_id": "number.inotest_defaultled1colorwhenoff",
            "entity_id": "number.inotest_defaultled1colorwhenon",
            "entity_id": "number.inotest_ledintensitywhenoff",
            "entity_id": "number.inotest_ledintensitywhenon",
            "entity_id": "number.inotest_ledcolorwhenoff",
            "entity_id": "number.inotest_ledcolorwhenon",
            "entity_id": "number.inotest_activeenergyreports",
            "entity_id": "number.inotest_periodicpowerandenergyreports",
            "entity_id": "number.inotest_activepowerreports",
            "entity_id": "number.inotest_stateafterpowerrestored",
            "entity_id": "number.inotest_defaultlevelremote",
            "entity_id": "number.inotest_defaultlevellocal",
            "entity_id": "number.inotest_autotimeroff",
            "entity_id": "number.inotest_maximumlevel",
            "entity_id": "number.inotest_minimumlevel",
            "entity_id": "number.inotest_ramprateontoofflocal",
            "entity_id": "number.inotest_ramprateontooffremote",
            "entity_id": "number.inotest_dimmingspeeddownlocal",
            "entity_id": "number.inotest_dimmingspeeddownremote",
            "entity_id": "number.inotest_ramprateofftoonlocal",
            "entity_id": "number.inotest_ramprateofftoonremote",
            "entity_id": "number.inotest_dimmingspeeduplocal",
            "entity_id": "number.inotest_dimmingspeedupremote",
            "entity_id": "sensor.inotest_action",
            "entity_id": "sensor.inotest_remoteprotection",
            "entity_id": "sensor.inotest_powertype",
            "entity_id": "sensor.inotest_energy",
            "entity_id": "sensor.inotest_power",
            "entity_id": "select.inotest_relayclick",
            "entity_id": "select.inotest_doubletapupforfullbrightness",
            "entity_id": "select.inotest_firmwareupdateinprogressindicator",
            "entity_id": "select.inotest_onoffledmode",
            "entity_id": "select.inotest_outputmode",
            "entity_id": "select.inotest_localprotection",
            "entity_id": "select.inotest_smartbulbmode",
            "entity_id": "select.inotest_buttondelay",
            "entity_id": "select.inotest_switchtype",
            "entity_id": "select.inotest_loadlevelindicatortimeout",
            "entity_id": "select.inotest_invertswitch",
            "entity_id": "light.inotest",
            "entity_id": "binary_sensor.inotest_update_available",
            "entity_id": "select.inotest_doubletapclearnotifications",
            "entity_id": "number.inotest_defaultled7intensitywhenoff",
            "entity_id": "number.inotest_defaultled7intensitywhenon",
            "entity_id": "number.inotest_defaultled7colorwhenoff",
            "entity_id": "number.inotest_defaultled7colorwhenon",
            "entity_id": "number.inotest_defaultled6intensitywhenoff",
            "entity_id": "number.inotest_defaultled6intensitywhenon",
            "entity_id": "number.inotest_defaultled6colorwhenoff",
            "entity_id": "number.inotest_defaultled6colorwhenon",
            "entity_id": "number.inotest_defaultled5intensitywhenoff",
            "entity_id": "number.inotest_defaultled5intensitywhenon",
            "entity_id": "number.inotest_defaultled5colorwhenoff",
            "entity_id": "number.inotest_defaultled5colorwhenon",
            "entity_id": "number.inotest_defaultled4intensitywhenoff",
            "entity_id": "number.inotest_defaultled4intensitywhenon",
            "entity_id": "number.inotest_defaultled4colorwhenoff",
            "entity_id": "number.inotest_defaultled4colorwhenon",
            "entity_id": "number.inotest_defaultled3intensitywhenoff",
            "entity_id": "number.inotest_defaultled3intensitywhenon",
            "entity_id": "number.inotest_defaultled3colorwhenoff",
            "entity_id": "number.inotest_defaultled3colorwhenon",
            "entity_id": "number.inotest_defaultled2intensitywhenoff",
            "entity_id": "number.inotest_defaultled2intensitywhenon",
            "entity_id": "number.inotest_defaultled2colorwhenoff",
            "entity_id": "number.inotest_defaultled2colorwhenon",
            "entity_id": "number.inotest_defaultled1intensitywhenoff",
            "entity_id": "number.inotest_defaultled1intensitywhenon",
            "entity_id": "number.inotest_defaultled1colorwhenoff",
            "entity_id": "number.inotest_defaultled1colorwhenon",
            "entity_id": "number.inotest_ledintensitywhenoff",
            "entity_id": "number.inotest_ledintensitywhenon",
            "entity_id": "number.inotest_ledcolorwhenoff",
            "entity_id": "number.inotest_ledcolorwhenon",
            "entity_id": "number.inotest_activeenergyreports",
            "entity_id": "number.inotest_periodicpowerandenergyreports",
            "entity_id": "number.inotest_activepowerreports",
            "entity_id": "number.inotest_stateafterpowerrestored",
            "entity_id": "number.inotest_defaultlevelremote",
            "entity_id": "number.inotest_defaultlevellocal",
            "entity_id": "number.inotest_autotimeroff",
            "entity_id": "number.inotest_maximumlevel",
            "entity_id": "number.inotest_minimumlevel",
            "entity_id": "number.inotest_ramprateontoofflocal",
            "entity_id": "number.inotest_ramprateontooffremote",
            "entity_id": "number.inotest_dimmingspeeddownlocal",
            "entity_id": "number.inotest_dimmingspeeddownremote",
            "entity_id": "number.inotest_ramprateofftoonlocal",
            "entity_id": "number.inotest_ramprateofftoonremote",
            "entity_id": "number.inotest_dimmingspeeduplocal",
            "entity_id": "number.inotest_dimmingspeedupremote",
            "entity_id": "sensor.inotest_action",
            "entity_id": "sensor.inotest_remoteprotection",
            "entity_id": "sensor.inotest_powertype",
            "entity_id": "sensor.inotest_energy",
            "entity_id": "sensor.inotest_power",
            "entity_id": "select.inotest_relayclick",
            "entity_id": "select.inotest_doubletapupforfullbrightness",
            "entity_id": "select.inotest_firmwareupdateinprogressindicator",
            "entity_id": "select.inotest_onoffledmode",
            "entity_id": "select.inotest_outputmode",
            "entity_id": "select.inotest_localprotection",
            "entity_id": "select.inotest_smartbulbmode",
            "entity_id": "select.inotest_buttondelay",
            "entity_id": "select.inotest_switchtype",
            "entity_id": "select.inotest_loadlevelindicatortimeout",
            "entity_id": "select.inotest_invertswitch",
            "entity_id": "light.inotest",
            "entity_id": "binary_sensor.inotest_update_available",
3 Likes

Saw this referenced over on the firmware thread but this is probably a more appropriate spot to throw in my “me too” comment.

I have 2 of the Blues and they ate up 20GB of DB space within days. I would very much like to see the massive amount of attribute duplication addressed. Button press events are one thing but the power updates every few seconds and that attribute is on like 100 entities per switch.

According to my understanding, the button event size would be expected because of how Home Assistant and Z2M work. Since the state object in Z2M holds all the parameters, you should see “duplicates” in an old state and a new state as the action transitions. See here:

Events - Home Assistant (home-assistant.io)

As for power reporting that can be configured on the reporting tab of Z2M. You can increase the Min rep change to whatever you want to set it to.

1 Like

I believe the issue isn’t the the old vs new attribute values but rather each switch has ~100 entities and they all have the same duplicated attributes so any event or state change generates a huge amount of events.

Thats probably a Z2M issue. The converters just provide the “mappings” for the commands. Z2M would be responsible for translating the state of the device to MQTT and from there into entities in Home Assistant. None of that is done at the converter level. I actually just moved my door sensor from ZHA to Z2M and got 4 events from opening the door. one for contact (the thing that changed), power_outage_count, device_temperature and battery (none of these values actually changed). So, what you are seeing is not isolated to the Inovelli 2 in 1 from my quick test. It’s not a big deal with a device that only exposes 4 entities, but that would be an issue with number of parameters exposed via the 2 in 1.

1 Like

I see what you mean. I guess I have never noticed it on other devices before because they don’t have so many entities.

Maybe it would be possible to have most of the entities disabled by default. They could still be configured manually through z2m or automated through the mqtt service. The only ones I don’t have disabled are the light, action, power, and energy.

Also, I had trouble getting the power reports to be less frequent using the exposes tab. For instance one of the switches when the smart lights on the load were off would fluctuate between 0.2 and 2.1 every second. The only way to get it to report less was setting the minimum report change to 25 in the reporting tab of the device in z2m.

I’m still running my switch on a bench which means I just unplug it. That means it doesn’t impact my HA production environment. It also means I’m reluctant to to install into the wall.

It seems like there are two problems here. One is the overwhelming number of events, seemingly due to the large number of attributes. The second is the switch is overly chatty which causes multiple updates over MQTT, thus generating events, exacerbating the problem.

A couple of thoughts on problem one. Is it possible that most of the parameters stay on the Zigbee2Mqtt side and don’t pass over to HA? Is it possible that an update from the switch only send updates for attributes that have changed?

On problem two, it feels like a bug in the switch, or at a minimum a feature request to quench the updates. Are the updates all because of the energy readings fluctuating?

For me one thing it certain. I’m not installing these switches onto my production network until there are improvements around these two issues.

I’ll have to look into this because there is supposed to be a “hard limit” of 15 seconds to prevent heavy power reports if there is some kind of strange power fluctuation. You are seeing them more frequently than that?

As far as I know, that is not possible. You would have to remove the item from the expose tab completely. Z2M doesn’t provide a way for only a portion of the items to be available as entities in Home Assistant.

As I said in my previous post the switch is only sending updates for attributes that change. Z2M is putting all the exposed state into the attributes of each of the exposed items which trigger them all to update regardless if the tracked parameter of the entity changes or not. I confirmed that this is an issue with other devices in Z2M, it’s just not a big deal when your scale is 4 vs 100.

The energy entities would just be like any other entity coming from Z2M. It would be impacted by the same issue as described above because that energy level is stored in the same state. Once it changed then all the entities from the expose tab would “update” with it. I am taking a look at the energy related exposed entities in relation to the power reporting. But as a workaround, I would suggest just changing the reporting settings on the reporting tab of the device in Z2M until the reports fit your needs.

So it sounds like there are a couple issues that results in a couple switches being able to generate tens of gigs of data in a few days.

  1. Z2M is making every attribute its own entity which also contains every other entity as an attribute which results in roughly 132x132 or 17424 items being updated every time any one of them changes.
  2. There may be a bug with the 15s hard limit Eric was talking about which would make item 1 even worse.

Is that about right?

Any Z2M devs hang out around here or does this need to be duped over there?

Not quite that bad. Using your numbers, changing one attribute would generate 132 events. The entity that updated would get a new value in HA and then the attribute parameter of the other 131 entities would get updated, but the value of the entity would remain the same.

Edit:
An extra clarification here too, actions or button events would generate 2 * 132 because it would set the action to the button press combination and then back to null.

That’s true but those 132 events all have 132 attributes that are being written (as noted by the DB size/query). I didn’t mean to suggest it was 17k separate events.

1 Like

Oh didn’t know you were referring to storage. I’m not sure about the details of the storage in Home Assistant’s recorder. If it is tracking the individual attributes as separate rows in the database that would be correct.

Should this be a bug report or feature request for Zigbee2Mqtt to only send updates on items that have changed?

My energy reporting settings are below. I believe that should reduce them but I am seeing power changes of 0.1. Have I set the values correctly?

BTW, I am running the very latest (as of last night) of the inovelli.js from GitHub as a custom MQTT addon.

Use the reporting tab rather than the exposes tab. There is an issue with the sliders there connecting to the reporting configuration that they were intended to represent.

1 Like

Thank you @nathanfiscus!

Here is what I changed…

I changed Min. rep. change to 100 which stopped the reports, I tried 10 and still no reports, then 1 and the reports started to work again. What is the units for this variable? Is this even the right report?

When does Min. rep. interval come into play? I take it that is in seconds.

Is there a guide somewhere on this somewhere? I looked at Usage | Zigbee2MQTT which describes many of the screens but I don’t see anything on reporting.

The unit is 0.1 Watts

1 Like

Something feels broken then. On a 10 watt load and setting to 10 reports stop.

I think the way it works is a setting of 10 will mean that a change of 1 watt create a new report. So if the current reading of 10 watts will have to change to more than 11 watts or less than 9 watts to create a new report.

Thank you @mike789!

The test I used was from off I turned on the load which is usually 10.1 or 10.2. I’m assuming off is 0, but I have seen 0.2.

Interestingly I could be right on the edge if the change is from .2 to 10.1, a change of 9.9.

So I can’t explain why a setting of 10 would not report.

What I would like to have is to report on a 1w change.