Aeon Labs Smart Strip DSC11-ZWUS

Tags: #<Tag:0x00007f616cc30f08> #<Tag:0x00007f616cc30d28> #<Tag:0x00007f616cc30b48>

I am trying to read the power and energy usage on the individual outlets and the strip as a whole. But I get the following error in my log:

 [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = MB_SmartStrip_pwr5, command class name = meter, using 0 refresh interval.
 [.b.z.i.c.ZWaveConverterHandler:295 ]- No command class found for item = MB_SmartStrip_pwr6, command class name = meter, using 0 refresh interval.

The items definition is as below:

Number  MB_SmartStrip_pwr1 "Strip A Current Usage [%.2f W]" <energy> (Master_Bedroom,Power) { zwave="21:1:command=METER,meter_scale=E_W,refresh_interval=60" }
Number  MB_SmartStrip_pwr2 "Strip B Current Usage [%.2f W]" <energy> (Master_Bedroom,Power) { zwave="21:2:command=METER,meter_scale=E_W,refresh_interval=60" }
Number  MB_SmartStrip_pwr3 "Strip 1 Current Usage [%.2f W]" <energy> (Master_Bedroom,Power) { zwave="21:3:command=METER,meter_scale=E_W,refresh_interval=60" }
Number  MB_SmartStrip_pwr4 "Strip 2 Current Usage [%.2f W]" <energy> (Master_Bedroom,Power) { zwave="21:4:command=METER,meter_scale=E_W,refresh_interval=60" }
Number  MB_SmartStrip_pwr5 "Strip 3 Current Usage [%.2f W]" <energy> (Master_Bedroom,Power) { zwave="21:5:command=METER,meter_scale=E_W,refresh_interval=60" }
Number  MB_SmartStrip_pwr6 "Strip 4 Current Usage [%.2f W]" <energy> (Master_Bedroom,Power) { zwave="21:6:command=METER,meter_scale=E_W,refresh_interval=60" }

There was a brief discussion about this and it was supposed to be fixed as per the thread here and here

What version of the binding are you using?

OpenHAB V1.7.1 Z-Wave binding

Ummm - so which one is it? V1.7.1, or 1.8.0?

Is the version that you’ve listed from the zwave initialisation message?

OpenHAB binaries are 1.7.1 but the Z-Wave binding (addon jar) is from the 1.8 build.

Can you please post the XML file for this device (from the /etc/zwave folder).

Here you go :slight_smile:
node21.xml (17.4 KB)

What happens if you delete the XML and restart the binding? In theory, it should add the classes back in… If that doesn’t work, a debug log would be interesting to see…

i just deleted the xml and restarted the instance in debug mode. i am still seeing the same error. i have attached the new xml files that OpenHAB created and the debug log for zwave binding.

node21.xml (11.6 KB)

I am also getting the same message with the Aeon smart energy switch. But things seem to be working and refreshing but still get the log entry.

I think I fixed it since the switch has 1 endpoint you can’t use node:X just use node number.

I have paired the same power strip and am having no problem getting the power consumption from the first 4 of the 6 outlets but not from the last two.
It is interesting to node that the numbering for the switching is shifted by two from the numbering for the power. i.e. the first switching outlet is zwave=“55:1” but appears as zwave=“55:3” for the power reading.
Thus the two outlets I cannot measure are “55:5” and “55:6”. Could it be that the binding thinks that :4 is the maximum possible value and ignores the last two, since there are only 4 switchable plugs?

For this device we added the extra endpoints into the database since the device doesn’t report them during the discovery - you should be able to use endpoints 5 and 6 METER command class so long as you have a version that is recognised in the database.

what needs to be down in openhab2? i have everything working properly but meter 5-6 are missing

The database needs to be updated to add endpoints 5 and 6 - same explanation as above which was for OH1… I’ll try and do this over the coming days - feel free to raise an issue in the OH2 zwave issue tracker if you want.

I am also using an Aeon Labs Smart Strip DSC11-ZWUS under openhab 2. The switches and energy consumption work fine, but I always get zero for the power of individual channels (the aggregate power dissipation of the entire strip is reported correctly.

Errors messages from the log (I have no clue what they mean):

22:28:57.045 [ERROR] [ding.zwave.handler.ZWaveThingHandler] - NODE 3: Size error 4<>1 from config_80_4
22:29:04.035 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 2 attempts left!
22:29:04.036 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.
22:29:09.040 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 1 attempts left!
22:29:09.040 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.
22:29:14.070 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 0 attempts left!
22:29:14.070 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.

And there is a “MISMATCH” notification in the debug log:

22:26:30.526 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 3: Sending REQUEST Message = 01 0A 00 13 03 03 70 05 01 25 25 92 
22:26:30.539 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 04 01 13 01 E8 
22:26:30.543 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
22:26:30.544 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 04 01 13 01 E8 
22:26:30.546 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 04 01 13 01 E8 
22:26:30.547 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=SendData[0x13], type=Response[0x01], priority=High, dest=255, callback=0, payload=01 
22:26:30.548 [DEBUG] [l.serialmessage.SendDataMessageClass] - NODE 3: Sent Data successfully placed on stack.
22:26:30.555 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 07 00 13 25 00 00 02 CC 
22:26:30.558 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
22:26:30.560 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 09 00 13 25 00 00 02 00 00 C2 
22:26:30.563 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 09 00 13 25 00 00 02 00 00 C2 
22:26:30.565 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=SendData[0x13], type=Request[0x00], priority=High, dest=255, callback=0, payload=25 00 00 02 
22:26:30.566 [DEBUG] [l.serialmessage.SendDataMessageClass] - NODE 3: SendData Request. CallBack ID = 37, Status = Transmission complete and ACK received(0)
22:26:30.567 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Config, dest=3, callback=37, payload=03 03 70 05 01 
22:26:30.569 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=SendData[0x13], type=Request[0x00], priority=High, dest=255, callback=0, payload=25 00 00 02 
22:26:30.570 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=SendData, callback id=37, expected=ApplicationCommandHandler, cancelled=false      MISMATCH

Item definitions:

Number denStripPower  "Strip Power [%.1f W]"  	    <energy>    { channel = "zwave:device:157cc1f584a:node3:meter_watts" }
Number denStripPower1  "Den Strip Power 1 [%.1f W]" <energy>   	{ channel = "zwave:device:157cc1f584a:node3:meter_watts1" }
Number denStripPower2  "Den Strip Power 2 [%.1f W]" <energy>   	{ channel = "zwave:device:157cc1f584a:node3:meter_watts2" }
Number denStripPower3  "Den Strip Power 3 [%.1f W]" <energy>   	{ channel = "zwave:device:157cc1f584a:node3:meter_watts3" }
Number denStripPower4  "Den Strip Power 4 [%.1f W]" <energy>   	{ channel = "zwave:device:157cc1f584a:node3:meter_watts4" }
Number denStripPower5  "Den Strip Power 5 [%.1f W]" <energy>   	{ channel = "zwave:device:157cc1f584a:node3:meter_watts5" }
Number denStripPower6  "Den Strip Power 6 [%.1f W]" <energy>   	{ channel = "zwave:device:157cc1f584a:node3:meter_watts6" }

Only the 1st entry reports correct data. Entries 1-4 report always zero, 5 & 6 show - in the Basic UI for the following statements in the sitemap:

    Frame label="Den Power" {
        Text item=denStripPower valuecolor=[>25="orange",>15="green",<=15="blue"]
        Text item=denStripPower1
        Text item=denStripPower2
        Text item=denStripPower3
        Text item=denStripPower4
        Text item=denStripPower5
        Text item=denStripPower6

Is this possibly related to the other issues reported in this thread?

Timeouts mean that the device didn’t respond to a request, but that’s all I can say without a debug log.

This is a debug message and is perfectly normal when receiving unsolicited data from a device.

Hi Chris and thanks for the quick answer!

What exactly do you mean with “debug log”? Is there a document somewhere that describes what is required and how to produce this information?

I’ve enabled debugging for zwave and included debug messages in my earlier post, but apparently this is not the information needed.

Many thanks,

The debug log is the logfile, but with debug enabled. Take a look in the wiki - it’s documented there on the ZWave page how to enable debug logging.

No - the earlier post didn’t have any debug - only error messages. You had debug messages when you mentioned the “MISMATCH”, but I was specifically referring to the timeouts which had no debug provided -: