OpenZWave / open-zwave

a C++ library to control Z-Wave Networks via a USB Z-Wave Controller.
http://www.openzwave.net/
GNU Lesser General Public License v3.0
1.05k stars 915 forks source link

Possible issue with Inovelli switch #2139

Closed kevinkahn closed 4 years ago

kevinkahn commented 4 years ago

I have mostly Homeseer switches and these are working ok. However, I have a single Inovelli switch and it is not. When I turn on the switch from HA it sends a setvalue command just as it does for the Homeseer units. I looked at the value id and it corresponds to the command class 37 value that was read from the Invelli switch during startup. So the correspondence looks correct and it is trying to set the value to true (which would be on). However, unlike the Homeseer units which get an immediate response with the new state as on, there is no response from the Inovelli unit. This worked ok under the old zwave stuff. It appears that somewhere in OpenZWave or the OZW mqtt adapter, things are getting lost. Not sure if this is the right place to put this issue (point me to a better spot if it isn't) but it looks like the HA side is issuing a reasonable mqtt command.

erikced commented 4 years ago

I see the something similar with my 3 qubino flush dimmers (they change but status in HA is never updated), whereas my fibaro dimmer 2 works as expected. Not sure of the issue is with HA or ozw though.

Fishwaldo commented 4 years ago

Logs?

kevinkahn commented 4 years ago

Here are the log from OZW and the output of a mosquitto_sub filtered for OpenZWave topic items. There are 2 nodes of interest. Node 6 is a Homeseer switch. I issued an on and and off for it and you will see in the mqtt stream the setvalues for valueid 105463824 for setting true and false. In each case that is followed by a state report for the switch in the new state. The other node is 23 and this is the Inovelli switch. For it the relevant setvalue valueid is 390676496 which appears in the mqtt stream. However, for it no state report follows but there is a timeout message. Let me know if you need something else. logs.zip

Fishwaldo commented 4 years ago

Looking at the logs, for whatever reason, the switch refuses to respond to a SwitchBinary_Get message which is perfectly valid from a protocol perspective.

So seems the problem is with the device itself. I suggest you raise the issue with Inovelli and see what they say.

(moving to OZW repository and closing for now. If they come back with something additional, please reopen)

@erikced please raise a separate issue

kevinkahn commented 4 years ago

I found out what the problem here was. For some reason the ozw cache on the system was polluted. This manifested itself in a different problem where the string labels returned for scenes were wrong (discussion is in https://community.home-assistant.io/t/the-future-of-z-wave-in-ha-qt-openzwave/148541/134). I ultimately deleted the cache and restarted ozwdaemon and things now work. There is still a question of why/how the cache got corrupted since I simply installed ozw with a docker pull (wasn't even aware of the existence of the cache until digging in to track the other bug down). However, looking at the old cache freshcoast concluded the cache was bad while in parallel I had guessed the same thing. Deleting and rebuilding the cache has fixed matters in any case. Sorry for the bother but something you may want to remember should anyone else see similar symptoms. Thanks.