ioBroker.zwave
ioBroker.zwave copied to clipboard
🚩 Certain Object Values Not Updating For Single Node
I've got several z-wave devices successfully included and working with this adapter.
- Raspi 3
- Node.js v10.16.3
- NPM 6.9.0
- zwave adapter 1.6.1
- ozw 1.6
- only one instance
Recently I added a Qubino (Goap) ZMNHDD1 Flush Dimmer
- ZWave+_Version 1
- Application_Version 3.01
- Library_Version 3
- Protocol_Version 4.24
✔ Inclusion went well
✔ Changing configuration objects in zwave.0.NODE15.CONFIGURATION
work as expected
✔ Device can control the attached lamp correctly
For example, if I change dim level
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
from 0
to 50
, the lamp is getting turned on and dimmed to 50%.
⚠ But there is an issue when changing object values.
If I change object values from
zwave.0.NODE15.SWITCH_MULTILEVEL
the new values are correctly executed (example from above) but the newly entered values does not appear as new values. The object value stays unchanged until I change the object value again. Than the value becomes the number I entered first.
Again example from above:
- I change
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
from0
to50
- The lamp turns on and dims with 50%
- But the value of
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
does not change to50
as it should but stays on0
- Changing then
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
from50
to75
- Lamp goes up from
50
to75
% brightness - Value of
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
now becomes50
instead of expected75
- Now changing
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
from75
to0
- Lamp turns off (
75
to0
) - Value of
zwave.0.NODE15.SWITCH_MULTILEVEL.Level_1
now becomes75
instead of expected0
ℹ with every change "last updated" becomes the current time (confirmed: true, quality: ok) even though there are no changes visible for this value
📌 The odd thing is, that this only happens for some objects and only for this one NODE.
Changing objects values from zwave.0.NODE15.CONFIGURATION
works as expected and changes are instantly visible.
But some other values - that are read only -, like from zwave.0.NODE15.METER
never update them self.
📢 To get the current values for those misbehaving objects, I need to restart the instance. Only then, current values are pulled and stored in the object. There is nothing to be found in the logs that would hint to an issue.
ℹ What I've tried:
- I excluded/re-included the device
- Completely removed/setup again adapter
ℹ The device works well in Domoticz
and Home Assistant
.
Any idea what could be wrong or how I could further debug this issue?
I fear this is an issue of https://github.com/OpenZWave/open-zwave/ ioBroker only receives new values if that library tells us.
Any idea what could be wrong or how I could further debug this issue?
A first hint could be found in OZW_Log.txt (probably in /opt/iobroker/node_modules/openzwave-shared
if you enabled loggin in the adapter settings)
Thanks for the hint, @AlCalzone!
Here is a part of the log: log.txt
- Line 2 - I was changing
zwave.0.NODE6.SWITCH_MULTILEVEL.Level_1
from0
to10
<-- lamp is on - Line 68 -
Received SwitchMultiLevel report: level=0
❗ <-- should belevel=10
- Line 69 -
Refreshed Value: old value=0, new value=0
❗ <-- should benew value=10
- Line 77 - changing
zwave.0.NODE6.SWITCH_MULTILEVEL.Level_1
back from10
to0
<-- lamp goes off - line 143 -
Received SwitchMultiLevel report: level=8
❗ << consider8
to be10
(dimmer sometimes set other values as requested) <-- should belevel=0
- Line 144 -
Refreshed Value: old value=0, new value=8
❗ <-- should beold value=10, new value=0
- Line 152 - Again setting
zwave.0.NODE6.SWITCH_MULTILEVEL.Level_1
to0
(lamp is already turned off) - Line 218 -
Received SwitchMultiLevel report: level=0
<-- finally the0
arrived in the object value
So it really looks like a OZW issue 😒