Aeotec ZW096 Smart Switch 6; included in secure mode but shows "zwave_secure false"

One of my ZW096 does not react to “switch on/off” commands. The log file says:
Command class class COMMAND_CLASS_SWITCH_BINARY for endpoint 0 not found

Indeed, using the “Reintialize the Device” function, this command class is not included in UPDATE_STATE_NODE_INFO_RECEIVED:

Then I noted that under “Things Properties” there is “zwave_secure false”.

But device was included in secure mode and does encrypt:

The device was correctly switching on/off when I used with openHAB 2.5 - actually, that was last year for Christmas lightings; ).

I recently upgraded to openHAB 3.0 a few days ago.

Firmware version of the device is 1.1.

Does anyone have a hint?

Thanks a lot!

How did you upgrade? Have you verified that the encryption key for the controller migrated successfully?

I upgraded my openhabian installation to 3.0 with openhabian-config.

I just checked:

  • The network security key is correctly shown in the controller ‘Thing’
  • From my 2.5. backup: already there in the file network_xxxxxxxx__node_50 there is the entry <security>false</security>

So it seems to me that the problem was probably there prior to the migration to 3.0. Probably I only happened to note the problem after migration to 3.0.

Could I try to manually change the security setting in the file network_xxxxxxxx__node_50 from false to true? Maybe that would help?

Thank you very much!

No That would not work.

You would likely need to exclude the device, reset it, and then include in secure mode. Secure inclusion must be completed within 15 seconds.

I excluded the device and included it in secure mode again, et voilà: it works now - same as at Christimas 2019 :slight_smile:

Thanks Bruce :smiley:

… I still wonder how it happened that the device was managed as non-secure.


1 Like

Exactly the same problem occurred again, on the same device: the device is still working as securely included (NONCES are exchanged), but is treated as non-secure (zwave_secure is false).

Question: how does openHAB determine whether a device is using “secure” data exchange? By looking if the “SECURITY” command class is in the NIF? In this case this command class is in the NIF.

I still have a bunch of logfiles around that I could scan, what would I have to look at?


I really wonder why openHAB again lost the status of the device’s secure inclusion.

zwave_secure is false again, even though the device reports the SECURITY command class in the NIF and does encrypt.

Here is what I did do:

  • I plugged in the device to a new socket
  • I tried to change a few configuration parameters
  • The changed parameters showed “pending” indefinitely
  • So I tired a few times “Reinitialise the Device” and “Heal the device”; also I restarted openHAB
  • -> no improvement
  • -> actually, now when I change a configuration parameter, then the change is reverted back on the UI and there is the error “Error getting configurationCommandClass” in the log file (yes, there is no configuration command class in the NIF, see first posting of this thread).

Can anybody say how openHAB determines the value of “zwave_secure”?

Besides, I upgraded from 3.0.0 to 3.0.1, already before the problem occurred again.


I doubt many people here other than @chris would have an idea, especially without the DEBUG logs requested in the binding documentation.

So there is a log, node 64 is the securely included ZW096: node64-zw096-securely-included.txt (232.1 KB)

After a “Reintialise the Device” the NIF contains the SECURITY command class:

@chris: why did openHAB change zwave_secure to false for this device (the device was working nicely previously)? Any specific information that the zwave binding is looking at?

Best regards,

Well, due to lack of input, I just excluded/re-included the device once more in secure mode. As before, for now everything works. And I will just wait till the next time openHAB thinks the device is not in secure mode.


Just saying, had the same effect with two Danalock V3s.

1 Like