[Solved] Zooz ZEN06 smart plug not reporting switch status (known issue?)

Hello all,

On installation of a Zooz ZEN06 smart plug, I noticed a peculiarity.
Everything is working fine, except one thing: the switch does not report switch status back to Openhab when the switch is powered on manually using the hardware switch. The status stays “OFF”.
Triggering the switch with z-wave obviously shows the correct status as the hub initiates that.

Switch_Power_LR_TV1_Power (Type=NumberItem, State=37.635, Label=Power TV, Category=energy, Groups=[power])
Switch_Power_LR_TV1_Switch (Type=SwitchItem, State=OFF, Label=Switch TV, Category=switch, Groups=[power])

As you can see, it is currently switched on, draws power (and reports it), but the switch status is OFF.

Zooz support sends the following about it:

It’s possible that this is some kind of incompatibility between the unit and OpenHAB. When we first released the plug, it worked well with the OpenHAB set-up but it’s possible it was since updated and doesn’t recognize physical presses on the plug anymore. Since the ZEN06 is being phased out in favor of the ZEN25 model, we wouldn’t be able to submit it to OpenHAB for official integration to address that issue.

So, before I add a comment or change the description here, I’d like to know if any other ZEN06 users experience this, too.
I’m running Debian Buster on Openhab 2.5.0.M6.

Do you have version 2 or the original? Our database entry is for the original version. Your link is based on information from the database, I believe.

https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/511

EDIT: Parameter 24 controls that function. Value of 0 disables that function.

Yes, Version 2.0. I have never come across a v1.0, though.

The link is to the database entry, yes. If that is for the original, and not 2.0, that may be the reason for this missing feature.
As Zooz support mentioned this:

Since the ZEN06 is being phased out in favor of the ZEN25 model, we wouldn’t be able to submit it to OpenHAB for official integration to address that issue.

I am not sure if they will be cooperative about it.

And yes, I am aware of Parameter 24 and verified that it is set to “1”, the default setting, in which it reports every change (z-wave and manual). Listing the “thing” properties on the console reports it correctly as “1”. Sorry, I forgot to mention that in my original post.

What is the value for parameter 24, On/Off Status Change Notifications ? It should default to 1 but 2 should alert to manual changes too.

I may be able to ping my contacts if we cannot figure this out.

Assuming the device supports associations, as indicated in the database, then it should work with OH2 if configured correctly.

Have you checked the debug logs during initialisation, and also the logs to see if anything is received when you change the state?

1 Like

Parameter 24 confirmed as “1” according to the output of “things show ID”

config_24_1 : 1

Changing it to “2” (status on manual change only) does not report changes, either.

Debug logs show nothing regarding the switch status (as far as I can see), but on switching off it reports the power change to zero at 14:22:47.619. So the state change should be somewhere around that time. I’ll attach the log here:

14:22:47.502 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 03 20 03 00 
14:22:47.505 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
14:22:47.507 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
14:22:47.509 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
14:22:47.510 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_BASIC, endpoint 0
14:22:47.512 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
14:22:47.514 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_BASIC V1 BASIC_REPORT
14:22:47.515 [DEBUG] [l.commandclass.ZWaveBasicCommandClass] - NODE 17: Basic report, value = 0
14:22:47.516 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
14:22:47.518 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_BASIC, value=0
14:22:47.519 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
14:22:47.521 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@779b3709.
14:22:47.522 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:47.523 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:47.525 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
14:22:47.526 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
14:22:47.595 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 10 00 04 00 11 0A 32 02 21 74 00 00 00 00 00 00 95 
14:22:47.597 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 0A 32 02 21 74 00 00 00 00 00 00
14:22:44.516 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 0A 32 02 21 74 00 00 32 22 00 00 
14:22:44.517 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
14:22:44.518 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
14:22:44.519 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
14:22:44.520 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_METER, endpoint 0
14:22:44.522 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
14:22:44.523 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_METER V3 METER_REPORT
14:22:44.524 [DEBUG] [l.commandclass.ZWaveMeterCommandClass] - NODE 17: Meter: Type=Electric(1), Scale=W(2), Value=12.834
14:22:44.525 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveMeterValueEvent
14:22:44.527 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_METER, value=12.834
14:22:44.528 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Updating channel state zwave:device:278e825a:node17:meter_watts to 12.834 [DecimalType]
14:22:44.530 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
14:22:44.532 [INFO ] [smarthome.event.ItemStateChangedEvent] - Switch_Power_LR_TV1_Power changed from 12.696 to 12.834
14:22:44.533 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@5ec77214.
14:22:44.534 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:44.535 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:44.537 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
14:22:44.538 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
14:22:47.495 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 09 00 04 00 11 03 20 03 00 C3 
14:22:47.499 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 03 20 03 00 
14:22:47.502 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 03 20 03 00 
14:22:47.505 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
14:22:47.507 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
14:22:47.509 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
14:22:47.510 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_BASIC, endpoint 0
14:22:47.512 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
14:22:47.514 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_BASIC V1 BASIC_REPORT
14:22:47.515 [DEBUG] [l.commandclass.ZWaveBasicCommandClass] - NODE 17: Basic report, value = 0
14:22:47.516 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
14:22:47.518 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_BASIC, value=0
14:22:47.519 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
14:22:47.521 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@779b3709.
14:22:47.522 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:47.523 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:47.525 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
14:22:47.526 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
14:22:47.595 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 10 00 04 00 11 0A 32 02 21 74 00 00 00 00 00 00 95 
14:22:47.597 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 0A 32 02 21 74 00 00 00 00 00 00 
14:22:47.599 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 0A 32 02 21 74 00 00 00 00 00 00 
14:22:47.600 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
14:22:47.602 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
14:22:47.603 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
14:22:47.604 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_METER, endpoint 0
14:22:47.606 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
14:22:47.607 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_METER V3 METER_REPORT
14:22:47.609 [DEBUG] [l.commandclass.ZWaveMeterCommandClass] - NODE 17: Meter: Type=Electric(1), Scale=W(2), Value=0E+1
14:22:47.610 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveMeterValueEvent
14:22:47.612 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_METER, value=0E+1
14:22:47.613 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 17: Updating channel state zwave:device:278e825a:node17:meter_watts to 0 [DecimalType]
14:22:47.615 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
14:22:47.619 [INFO ] [smarthome.event.ItemStateChangedEvent] - Switch_Power_LR_TV1_Power changed from 12.834 to 0
14:22:47.620 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1cb240c.
14:22:47.622 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:47.624 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
14:22:47.625 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
14:22:47.627 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

Interesting. If the device is reporting updates to power, then the association is configured correctly as there’s only 1 association in this device (according to the database).

And indeed - it is reporting -:

This should update the channel, but it seems it’s not exporting correctly. I’ll take a look.

On that device for Endpoint 0 “BASIC” is set as basic. Shouldn’t “SWITCH_BINARY” be basic??

Yes - I’ve just updated it.

1 Like

If there’s only one association, that sounds like the binding is doing everything correctly.
Strange.

I sadly don’t have another hub besides Openhab to confirm if it reports there correctly or not. But as an internet search turns up very little on this, you’d expect more if that were a fundamental flaw of that device.

This should work with the next update - as mentioned, the device is sending the reports, and there is a database configuration issue that I’ve resolved earlier. Once this is all updated, I expect it will work.

1 Like

That should be in 2.5 RC1 then?

Only if I can get it done tonight (RC1 will be delayed until tomorrow I think).

1 Like

Thanks.
This just posted.

Yep - as I said :wink:

1 Like

Thank you very much for the support. It’ll be interesting to see if it works with RC1, then.
If not, it is not that much of an issue (at least to me) as the switch reacts to zwave commands for switching, which is the most important aspect.

Sounds like the RC1 build is not really far away.

1 Like

You will likely need to delete the Thing from OpenHAB (do NOT exclude)) and re-discover it.
The Thing will have the same ID so your Items should continue to work.

Thanks, that will not be an issue. I’ll make a note of it.

Installed RC1, removed the node from openhab and re-added it: it’s working now and correctly reporting switch status.
Thanks a lot!

1 Like