[RELEASE] Aeotec Heavy Duty Smart Switch

I just installed one of these switches. Used your driver. I can control the switch. I get voltage reading, energy, but no power or current. I am trying to detect when my water heater comes on/off.

Is there something else I need to do to get those values?

1 Like

Finally have all my devices to execute my plan. As for importing your driver, you have one .groovy and one .json in your github folder. Does it matter which one I import as the driver for the HDSS? I did the .groovy one :smiley:

i use the aeon home energy dryer app with one of the aeon home energy monitors (2 probes that go on each side of the 220 circuit.

Just the groovy one

As of this morning I've been having problems with my HDSS not responding properly to on & off commands. HE (C5) is currently on V2.2.4.145. Metering etc are all working ok. I've power cycled the HDSS and also rebooted the HE. The HDSS driver version is 1.1.1

I click on the "on" button on the device page and it doesn't turn on.
It looks like it sent the on command (255) but the response says it was turned off.

Any idea what might be gong on here?

I get the following in the logs:

dev:9612020-11-22 16:18:03.394 debugKitchen HWC parse() - parsed to cmd: SecurityMessageEncapsulation(commandByte:[0], commandClassIdentifier:32, commandIdentifier:3, secondFrame:false, sequenceCounter:0, sequenced:false) with result: [['name':'switch', 'value':'off', 'descriptionText':Was turned off]]

dev:9612020-11-22 16:18:03.390 infoWas turned off

dev:9612020-11-22 16:18:03.386 traceKitchen HWC zwaveEvent(BasicReport) - cmd: BasicReport(value:0, targetValue:0, duration:0)

dev:9612020-11-22 16:18:03.382 traceKitchen HWC zwaveEvent(SecurityMessageEncapsulation) - encapsulatedCommand: BasicReport(value:0, targetValue:0, duration:0)

dev:9612020-11-22 16:18:03.374 traceKitchen HWC zwaveEvent(SecurityMessageEncapsulation) - cmd: SecurityMessageEncapsulation(commandByte:[0], commandClassIdentifier:32, commandIdentifier:3, secondFrame:false, sequenceCounter:0, sequenced:false)

dev:9612020-11-22 16:18:03.369 debugKitchen HWC parse() - description: 'zw device: 06, command: 9881, payload: 00 20 03 00 , isMulticast: false'

dev:9612020-11-22 16:18:01.772 traceKitchen HWC cmd(Command) - cmd: BasicGet() isSecured(): true S2: null

dev:9612020-11-22 16:18:01.769 traceKitchen HWC cmd(Command) - cmd: BasicSet(value:255) isSecured(): true S2: null

dev:9612020-11-22 16:18:01.765 traceKitchen HWC cmdSequence(Command) - commands: [BasicSet(value:255), BasicGet()] delayBetweenArgs: 250

dev:9612020-11-22 16:18:01.750 debugKitchen HWC on()

Try the last version of the driver v1.1.2, what kind of pairing are you using?

Thanks, have updated using package manager and confirmed 1.1.2 has loaded. I used secure pairing when I added the switch.

All the metering seems to be coming back ok, it’s just changing switch state that seems to be failing. Note that this was working ok before the update to HE 2.2.4.x so it may be a bug in the new HE code, but I’m keen to understand your view before I go to support given it’s a community driver. The firmware version of the switch is 3.28, I haven’t been able to find any other version anywhere.

I’ve tried again, this time sending off as it’s on. No change in the switch state, logs are below:

dev:9612020-11-24 09:47:59.496 debugKitchen HWC parse() - parsed to cmd: SecurityMessageEncapsulation(commandByte:[255], commandClassIdentifier:32, commandIdentifier:3, secondFrame:false, sequenceCounter:0, sequenced:false) with result: [['name':'switch', 'value':'on', 'descriptionText':Was turned on]]

dev:9612020-11-24 09:47:59.491 infoKitchen HWC Was turned on

dev:9612020-11-24 09:47:59.486 traceKitchen HWC zwaveEvent(BasicReport) - cmd: BasicReport(value:255, targetValue:0, duration:0)

dev:9612020-11-24 09:47:59.482 traceKitchen HWC zwaveEvent(SecurityMessageEncapsulation) - encapsulatedCommand: BasicReport(value:255, targetValue:0, duration:0)

dev:9612020-11-24 09:47:59.477 traceKitchen HWC zwaveEvent(SecurityMessageEncapsulation) - cmd: SecurityMessageEncapsulation(commandByte:[255], commandClassIdentifier:32, commandIdentifier:3, secondFrame:false, sequenceCounter:0, sequenced:false)

dev:9612020-11-24 09:47:59.472 debugKitchen HWC parse() - description: 'zw device: 06, command: 9881, payload: 00 20 03 FF , isMulticast: false'

dev:9612020-11-24 09:47:57.911 traceKitchen HWC cmd(Command) - cmd: BasicGet() isSecured(): true S2: null

dev:9612020-11-24 09:47:57.906 traceKitchen HWC cmd(Command) - cmd: BasicSet(value:0) isSecured(): true S2: null
dev:9612020-11-24 09:47:59.496 debugKitchen HWC parse() - parsed to cmd: SecurityMessageEncapsulation(commandByte:[255], commandClassIdentifier:32, commandIdentifier:3, secondFrame:false, sequenceCounter:0, sequenced:false) with result: [['name':'switch', 'value':'on', 'descriptionText':Was turned on]]

dev:9612020-11-24 09:47:59.491 infoKitchen HWC Was turned on

dev:9612020-11-24 09:47:59.486 traceKitchen HWC zwaveEvent(BasicReport) - cmd: BasicReport(value:255, targetValue:0, duration:0)

dev:9612020-11-24 09:47:59.482 traceKitchen HWC zwaveEvent(SecurityMessageEncapsulation) - encapsulatedCommand: BasicReport(value:255, targetValue:0, duration:0)

dev:9612020-11-24 09:47:59.477 traceKitchen HWC zwaveEvent(SecurityMessageEncapsulation) - cmd: SecurityMessageEncapsulation(commandByte:[255], commandClassIdentifier:32, commandIdentifier:3, secondFrame:false, sequenceCounter:0, sequenced:false)

dev:9612020-11-24 09:47:59.472 debugKitchen HWC parse() - description: 'zw device: 06, command: 9881, payload: 00 20 03 FF , isMulticast: false'

dev:9612020-11-24 09:47:57.911 traceKitchen HWC cmd(Command) - cmd: BasicGet() isSecured(): true S2: null

dev:9612020-11-24 09:47:57.906 traceKitchen HWC cmd(Command) - cmd: BasicSet(value:0) isSecured(): true S2: null

dev:9612020-11-24 09:47:57.901 traceKitchen HWC cmdSequence(Command) - commands: [BasicSet(value:0), BasicGet()] delayBetweenArgs: 250

dev:9612020-11-24 09:47:57.896 debugKitchen HWC off()
dev:9612020-11-24 09:47:57.901 traceKitchen HWC cmdSequence(Command) - commands: [BasicSet(value:0), BasicGet()] delayBetweenArgs: 250

dev:9612020-11-24 09:47:57.896 debugKitchen HWC off()

Thanks for the info, I'll give it a try on my side

You are right it's also not working on my side with v2.2.4.145, there must be a bug in HE this was working before :frowning:
image

@bcopeland, Have you seen any issues with the last HE FW?

No..

Have done some more testing, swapped the device driver to the one by peng1can. It started working again. Have swapped back to your device driver and it still works.

Thanks I'll give this a better look this weekend

Could it be related?

It's working again with HE 2.2.4.147

It’s intermittent. I’m now seeing the same issue as before again. I thought it was fixed too, but I just had to take the cover off and manually press the button to switch on the hot water.

I’m contemplating joining it again without S2 as per the link you posted above if I get time this weekend. I have a couple of other Aeotec switches (Nanos) that are still working ok and were joined securely. Don’t know if they share the same firmware. I think the nanos and the HDSS are all 500 series, so logic says they’ll have different firmware to the 700 series that are referred to in that post.

Not sure if it’s relevant, but the node looks really odd in the zwave details page.


It’s node 06 down the bottom. At this point it is responding though.

I’m currently on 2.2.4.148.

I just set up this switch using this driver and I'm having the exact same issue. If I "Poll" the driver it will update the values, but it doesn't auto update as the heating element on my water heater turns on / off. It's a 4500 watt load so that should be large enough to cause it to auto update I would think.

I've had similar issues -- I find that occasionally, the switch seems to forget to send the update. I have an RM setup to "refresh" the switch every 15 minutes.

It was working fine for the longest time, then it started doing this.

I have another of the same switch using the same driver and it updates just fine.

I just installed my switch today and installed your driver... can someone explain the difference between "state check" and "report interval"?

Nice driver. I wrote the driver for SmartThings jpansarasa / SmartThings/DeviceTypes/AeotecHDSS.groovy 6 years back.

I am glad I did not have to write the driver for Hubitat.

1 Like