Z-Wave Polling Questions Answered

After doing a little digging of my own I wanted to hopefully shed some light on what the polling interval and polling intensity actually does within the HA (Home Assistant) configuration.

There have been many questions and complains about devices not polling correctly, and while I shared some of the frustration with these issues after taking a look at the HA code and the libopenzwave python code it all became clear. To save you all the trouble of doing the same digging here are my findings.

  1. Z-Wave devices that update their state automatically such as a motion sensor being triggered or a switch turning on do not need to be polled.

  2. Devices such as temperature sensors (including those embedded within a motion sensor) may require polling if no option exists to send a report of the sensors state regularly.

  3. The Fibaro and Aeotec Multi Sensors all have options to send a report at regular intervals of their temperature, humidity, lux, etc. states. However, by default this option is turned off. (I’ll explain later how to turn it on.)

  4. Any device that does not have an option to send a regular report a a specific interval will need to be polled. The polling interval will be how long HA will wait to poll for new device states, the polling intensity will be how frequently you want a specific device to be polled.

  5. Devices that sleep will ignore polling requests, if they have no setting for automatic reporting HA will only be able to update their state if it polls that specific device when it happens to be on. For example, with the default config of the Fibaro sensor, HA would only update the temp and lux values when a motion event is close to a polling event. Hence the value of setting the Fibaro to send regular reports.

For example:
zwave: usb_path: /dev/ttyUSB0 config_path: /usr/local/share/python-openzwave/config polling_interval: 60000 customize: sensor.greenwave_powernode_6_port_energy_10: polling_intensity: 2

With the above config HA will check the sensor state greenwave_powernode_6_port_energy_10 every other time the polling occurs so, in this case every 120 seconds.

A polling request on a z-wave network can overwhelm it, so it is important to try and turn on automation state reporting on as many devices as possible.

To update the Fibaro sensor, change the reports interval for illumination and temperature to your desired interval, mine is currently set at 15 minutes.

For the AeoTec, first change the Group 1 Reports to 241 this will include all sensors in the group 1 report. Then you can set the Group 1 Interval to your desired time in seconds. In my case 60 seconds, as the AeoTec senor is powered by the wall.

18 Likes

Thanks! That’s a great summary of a complex subject. I would also add that for the Aetec sensor at least, it is impossible to set the reporting interval to less than an hour if it is on battery power - that stumped me for a while until I figured it out and now get update every 60 seconds since I powered it.

1 Like

Having just received my Aeotec Z Wave stick and a multisensor 5 this week, this couldn’t have come at a better time. Thank you both!

That looks like the open-zwave-control-panel (https://github.com/OpenZWave/open-zwave-control-panel). It’s super helpful in configuring ZWave components. It’s what I use, for example, to change the device names, locations, LED statues, etc. If you need help compiling it and such, I found this post helpful:

https://lickthesalt.com/2016/04/11/compiling-open-zwave-control-panel-on-a-raspberry-pi-3/

That is Pi specific but the same steps mostly apply to a standard Ubuntu distribution on PC hardware.

Late reply, but I was playing around with this yesterday. You can get the AeoTec to update more than every hour on battery power. You just need to set the minimum wakeup interval between 240-3600. Basically, you can get it to update as frequently as 4 minutes on battery.

Good overview - The thing that has always stumped me about the Aeotec is the need to set it to “Binary Sensor Report” . Every guide for HASS says to do it, but I haven’t done it (mostly because I can’t get it to stick), but I don’t have any issues with it as default.

Any thoughts on this setting and why it is or isn’t required?

I always thought this was to get the motion sensors to show as binary sensors (motion on/off) rather than a numeric level, but I could be mistaken.

I just changed mine and the sensor still reports 0 for no motion, 3 for tamper, and 8 for motion (which is fine with me!)

I’m still digging.

So you don’t see a binary_sensor entity since changing?

According to the z-wave service, it’s changed, but I don’t see any difference in the sensor’s behavior:

17-01-21 10:23:31 INFO (Thread-8) [homeassistant.components.zwave] Config parameter 5 on Node 9 : Binary Sensor Report

Let me clarify; if you look in your dev states panel, do you see a new binary_sensor entity with the name of your device?

It’s there, but it’s not new:

binary_sensor.aeotec_zw100_multisensor_6_sensor_9_0

That should be your motion detector. It should turn off and on based on motion.

I swear I’ve checked that functionality before and found it not to be reliable, but I’ll try to test again later tonight!

My automations still use the numeric sensor sensor.aeotec_zw100_multisensor_6_burglar_9_10 which works fine. What’s interesting, is that the binary sensor has been there since I set this up and it was set to Basic Reporting until yesterday.

Thanks!
Roddie

I think I adjusted my polling on the Aetoec and it’s pretty much instantaneous for me and has been reliable since I installed them. I may have also set another option - I’ll take HA down later on today and run OZWCP to see and I’ll report back here.

I’ve got a couple of things I’m testing with other devs so I need to keep HA running for the moment. :wink:

1 Like

You may be right, it’s just not something I’ve noticed - My polling is at 3600 because I’m on battery. Is that the only change that the setting impacts?

I’ve been running the sensor for a few months now and I only automate based on burglar and temperature (Lux is a bit better since the firmware update, but still useless.)

I’d be lying if I told you for sure one way or the other - I mainly did it because Ben @bruhautomation pointed out the importance of it in his ZWave video. LOL

I’m running on AC power for mine so I tweaked the polling for my needs.

Hi roddie (and all)
I have the exact same setup when I installed it today.
The motion seems to be set by the burglar sensor, and it is set to 8 when motion.
(Doesnt seem to detect any tampering though?)

And normally I can change configurations in Open Z wave control panel, but it doesnt get saved when I try to change to binary reports. (Or I cant find the correct save button?)

Have you had any success/made any changes to your setup?

I haven’t made any changes to my setup and all appears to be stable and working fine. If I remember correctly, there was a save button right near or below that configuration option which gave me the idea that it had to be saved there before moving on; like maybe doing so would expose other options below it.

Ok so I finally got it working.
The problem was that I didnt wake the device (probably obvious to alot of users :slight_smile: ).
It does says so in the manual as well… sigh Multisensor 6 user guide : Aeotec Help Desk

In order to configure Multisensor 6, you must either (1) wake up Multisensor 6 using the below button press function, or (2) temporarily put your Multisensor 6 on USB power.

So:

  1. Enter OZWCP
  2. Initiate/load as usual.
  3. Click on aeotec motion sensor
  4. Wake it, holding the action button till orange light according to manual. (the device will be seen as AWAKE (dynamic) )
  5. Change to binary report. (it probably will change back to the default option shortly, untill it has communicated the changes to the device. It should then change back to binary, and stick to it. (the device will be seen as Sleeping)
  6. Click SAVE in top right corner of the UI.

DONE!
Now my burglar sensor read 3 when tampered, and still also 8 on motion).
The binary sensor for motion on/off

1 Like