Z-wave sends command to items every 30min, even if no change on item?

perhaps it is not a right place to ask, as it might be related to node-red (openhab nodes specifically), but I figured I should start asking somewhere. I am experiencing the fallowing:
In node-red I use openhab nodes that trigger to items change with a very basic “when changed, send me an notification” flow (rule). In my logs I am reliably seeing that items receive last command repeated every half an hour, like:

21.01. 07:55:22: Ack: TestZwave_Switch changed to ON
21.01. 07:55:23: Ack: FilCameraWall_Switch changed to ON
21.01. 08:25:22: Ack: TestZwave_Switch changed to ON
21.01. 08:25:23: Ack: FilCameraWall_Switch changed to ON
21.01. 08:55:22: Ack: TestZwave_Switch changed to ON
21.01. 08:55:23: Ack: FilCameraWall_Switch changed to ON

Strange thing is that this is not appearing in the openhab logs at all, that is why I suspected that it must have been node-red thing. However, this is happening only for items with z-wave binding, something that node-red should not be aware of, as it uses openhab api (i think http?) and I believe it cannot differentiate between transports on the openhab side.
This is not happening with ikea lights or for virtual items, so it again puts the blame on the “z-wave” component of openhab. Or does it?

I do not have any rules on these items anywhere in the system, not mentioned in the openhab rules, not mentioned in node-red flows. Only one “openhab-get” node in node-red that sends info to mysql.

My rules work fine in node-red as they react on change only, but it is clogging my event-log.
Is this expected behavior for z-wave binding, or something else that might push update to z-wave items and trigger nodes in node-red?

Comment only, as I do not understand your setup.

In OpenHAB, changed means changed e.g. from ON to OFF.

States may also be updated, e.g. an Item aleady ON gets an update from a device saying it is (still) ON.
Any given binding may or may not put that kind of unchanged update onto OpenHABs event bus as a formal Update. Depends what the author preferred.

Some bindings I think supress unchanged updates, so they’re not visible in OH logs. That would be desirable behaviour e.g. in a Modbus setup that polls states every second.

In your case, I do not know.

I would guess that this is related to polling - by default, the binding updates the state of devices every 30 minutes (although this will change in the dev version). It shouldn’t actually command the value - just update the state.

I’m not sure what the logs are you have here - my guess is that the state is not being updated, but because binding receives a message from the device, it puts the state on the bus (as explained by @rossko57). This is normal.

Just curious: why did you change the polling interval from 30 minutes to 24 hours?

When I calculated out the traffic for large networks, 30 minutes was to quick so I thought it was safer to slow it down.

eg if you have 100 devices, each with 4 or 5 channels, that’s 500 requests, or 1 every 3 seconds - just for polling… Many people have much larger networks, and many more channels, so it’s often worse than this…

I totally agree. My Z-Wave network has 126 nodes and each device has at least 3-4 channels active. Thank you for the clarification!

Thanks @chris , I understand now. After checking in more details my flow I see that I have actually made a mistake by listening for “ItemStateEvent” as you described it, rather then a “ItemStateChangedEvent”.
Probably a copy-paste from some other flows.
Well, a man learns new thing every day :slight_smile:
Thank you all for helping me out!