[OBSOLETE] Aeon Labs Garage Door Controller

I had issues with the door sensor before and it reporting open when it was closed and vice versa. What I do is open it and remove the sensor, remove the battery, and put it back in and replace the sensor. The battery is still kicking since 2015. Doesn’t use much juice… Every once in a while all goes wonky and I unplug (the controller) and plug it back in, and hit the big button then it seems to work ok again. The garage door opener and the doorbell are my two problem children… 9891 by doc, https://graph.api.smartthings.com/ide/doc/zwave-utils.html#clockV1 would be a secure report from the clock comamnd class… 98 being secure, 0x81 being clock…, https://graph.api.smartthings.com/ide/doc/zwave-utils.html#clockV1

I didn’t write anything in the handler to handle that… but it probably doesn’t matter anyway. The garage door opener is basically two main things. A switch that is also a gate controller… so it can act as a switch or a gate control device… and a sensor that detects if the door is open or closed… the config stuff sets some of the parameters up the manufacturer provides. My initial rev was my “go to” and worked fine for ages. Granted, there is probably more I could do with the device type like provide locking ability and so forth, but I haven’t… yet… loaded up with projects (and work) at the moment. Let me check firmware… thanks for the output.

Output from the z-wave tweaker logs:

4703a4b2-2eff-4dc7-be03-03a665dc3451 7:14:25 PM: info
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:14:25 PM: info
Command: [commandClassId: 0x73, commandClassName: POWERLEVEL, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: PowerlevelReport(powerLevel: 0, timeout: 0)
Command: [commandClassId: 0x7A, commandClassName: FIRMWARE_UPDATE_MD, commandID: 0x02, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: FirmwareMdReport(checksum: 14800, firmwareId: 0, manufacturerId: 134)
Command: [commandClassId: 0x85, commandClassName: ASSOCIATION, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: AssociationReport(groupingIdentifier: 2, maxNodesSupported: 5, nodeId: [1], reportsToFollow: 0)
Command: [commandClassId: 0x86, commandClassName: VERSION, commandID: 0x12, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: VersionReport(applicationSubVersion: 12, applicationVersion: 1, zWaveLibraryType: 3, zWaveProtocolSubVersion: 99, zWaveProtocolVersion: 3)
Command: [commandClassId: 0x98, commandClassName: SECURITY, commandID: 0x81, description: zw device: 5D, command: 9881, payload: 00 71 05 00 00 00 00 06 00 00 00 ]
=> Example: SecurityMessageEncapsulation(commandByte: [0, 0, 0, 0, 6, 0, 0, 0], commandClassIdentifier: 113, commandIdentifier: 5, reserved13: 0, secondFrame: false, sequenceCounter: 0, sequenced: false)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:14:25 PM: info Command types [10]:
Command: [commandClassId: 0x20, commandClassName: BASIC, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: BasicReport(value: 253)
Command: [commandClassId: 0x25, commandClassName: SWITCH_BINARY, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: SwitchBinaryReport(value: 253)
Command: [commandClassId: 0x59, commandClassName: ASSOCIATION_GRP_INFO, commandID: 0x02, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: AssociationGroupNameReport(groupingIdentifier: 2, lengthOfName: 8, name: [116, 114, 97, 110, 115, 109, 105, 116])
Command: [commandClassId: 0x71, commandClassName: NOTIFICATION, commandID: 0x05, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: AlarmReport(alarmLevel: 0, alarmType: 0)
Command: [commandClassId: 0x72, commandClassName: MANUFACTURER_SPECIFIC, commandID: 0x05, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: ManufacturerSpecificReport(manufacturerId: 134, manufacturerName: AEON Labs, productId: 62, productTypeId: 259)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:14:09 PM: info NotificationReport types [0]:
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:14:09 PM: info MeterReport types [0]:
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:14:09 PM: info SensorMultilevelReport types [0]:
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:57 PM: info
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:57 PM: info
Command: [commandClassId: 0x73, commandClassName: POWERLEVEL, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: PowerlevelReport(powerLevel: 0, timeout: 0)
Command: [commandClassId: 0x7A, commandClassName: FIRMWARE_UPDATE_MD, commandID: 0x02, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: FirmwareMdReport(checksum: 14800, firmwareId: 0, manufacturerId: 134)
Command: [commandClassId: 0x85, commandClassName: ASSOCIATION, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: AssociationReport(groupingIdentifier: 2, maxNodesSupported: 5, nodeId: [1], reportsToFollow: 0)
Command: [commandClassId: 0x86, commandClassName: VERSION, commandID: 0x12, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: VersionReport(applicationSubVersion: 12, applicationVersion: 1, zWaveLibraryType: 3, zWaveProtocolSubVersion: 99, zWaveProtocolVersion: 3)
Command: [commandClassId: 0x98, commandClassName: SECURITY, commandID: 0x81, description: zw device: 5D, command: 9881, payload: 00 71 05 00 00 00 00 06 00 00 00 ]
=> Example: SecurityMessageEncapsulation(commandByte: [0, 0, 0, 0, 6, 0, 0, 0], commandClassIdentifier: 113, commandIdentifier: 5, reserved13: 0, secondFrame: false, sequenceCounter: 0, sequenced: false)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:57 PM: info Command types [10]:
Command: [commandClassId: 0x20, commandClassName: BASIC, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: BasicReport(value: 253)
Command: [commandClassId: 0x25, commandClassName: SWITCH_BINARY, commandID: 0x03, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: SwitchBinaryReport(value: 253)
Command: [commandClassId: 0x59, commandClassName: ASSOCIATION_GRP_INFO, commandID: 0x02, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: AssociationGroupNameReport(groupingIdentifier: 2, lengthOfName: 8, name: [116, 114, 97, 110, 115, 109, 105, 116])
Command: [commandClassId: 0x71, commandClassName: NOTIFICATION, commandID: 0x05, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: AlarmReport(alarmLevel: 0, alarmType: 0)
Command: [commandClassId: 0x72, commandClassName: MANUFACTURER_SPECIFIC, commandID: 0x05, description: SECURITY_MESSAGE_ENCAPSULATION]
=> Example: ManufacturerSpecificReport(manufacturerId: 134, manufacturerName: AEON Labs, productId: 62, productTypeId: 259)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:53 PM: info Parameters [0]:
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:38 PM: info Endpoints [0]:
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:28 PM: info Association groups [2]:
Association Group #1: [id:1, maxNodesSupported:5, name:Lifeline, nodes:[01]]
Association Group #2: [id:2, maxNodesSupported:5, name:transmit, nodes:[01]]
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:17 PM: info Discovery Stats:
Number of association groups discovered: 2 [Print Assoc Groups]
Number of endpoints discovered: 0 [Print Endpoints]
Number of parameters discovered: 0 [Print Parameters]
Number of unique command types received: 10 [Print Commands]
Number of MeterReport types discovered: 0 [Print Sensor]
Number of NotificationReport types discovered: 0 [Print Sensor]
Number of SensorMultilevelReport types discovered: 0 [Print Sensor]
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:17 PM: info General Information:
Device Name: Z-Wave Switch Secure
Raw Description: zw:Ls type:4007 mfr:0086 prod:0103 model:003E ver:1.12 zwv:3.99 lib:03 cc:5E,86,72,98 ccOut:22,5A,82 sec:25,70,85,59,7A,66,71,73 role:05 ff:9E00 ui:9E00
Supported Command Classes: [SWITCH_BINARY (0x25), ASSOCIATION_GRP_INFO (0x59), ZWAVEPLUS_INFO (0x5E), BARRIER_OPERATOR (0x66), CONFIGURATION (0x70), NOTIFICATION (0x71), MANUFACTURER_SPECIFIC (0x72), POWERLEVEL (0x73), FIRMWARE_UPDATE_MD (0x7A), ASSOCIATION (0x85), VERSION (0x86), SECURITY (0x98)]
Security: Device is paired securely.
=> Command classes supported with security encapsulation: UNKNOWN (0xNULL)
=> Command classes supported for CONTROL with security encapsulation: UNKNOWN (0xNULL)
Manufacturer ID: 0086
Manufacturer Name: null
Product Type ID: 0103
Product ID: 003E
Firmware Metadata: Firmware ID: 0000, Checksum: 39D0
Application (Firmware) Version: 1.12
Z-Wave Protocol Version: 3.99
Z-Wave Library Type: 03 (Enhanced Slave)
Powerlevel: NormalPower
Protection Mode: [ Local: null (null), RF: null (null) ]
Switch_All Mode: null (null)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:11 PM: warn zwaveEvent(): No handler for command: AlarmReport(alarmLevel: 0, alarmType: 0)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:13:05 PM: error zwaveEvent(): Unable to extract security encapsulated command from: SecurityMessageEncapsulation(commandByte: [1, 64], commandClassIdentifier: 113, commandIdentifier: 8, reserved13: 0, secondFrame: false, sequenceCounter: 0, sequenced: false)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:12:28 PM: warn zwaveEvent(): No handler for command: AlarmReport(alarmLevel: 0, alarmType: 0)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:12:22 PM: error zwaveEvent(): Unable to extract security encapsulated command from: SecurityMessageEncapsulation(commandByte: [1, 64], commandClassIdentifier: 113, commandIdentifier: 8, reserved13: 0, secondFrame: false, sequenceCounter: 0, sequenced: false)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:12:22 PM: info scanSensor(): Scanning alarm/notification:
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:12:22 PM: info scanSensor(): Scanning for common sensor types (this can take several minutes to complete).
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:12:03 PM: info zwaveEvent(): Switch Binary Report received: SwitchBinaryReport(value: 253)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:12:00 PM: info zwaveEvent(): Basic Report received: BasicReport(value: 253)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:11:59 PM: info scanActuator(): Scanning for common actuator values.
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:11:42 PM: info scanParams(): Scanning Device Parameters (#0 to #20).
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:11:24 PM: info scanEndpoints(): Scanning for Endpoints (#0 to #10).
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:11:24 PM: warn sync(): Device does not appear to support MULTI_CHANNEL command classes.
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:11:04 PM: info scanAssocGroups(): Scanning Association Groups (#0 to #10).
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:10:55 PM: info Version Report: Application Version: 1.12, Z-Wave Protocol Version: 3.99, Z-Wave Library Type: 03 (Enhanced Slave)
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:10:53 PM: info Powerlevel Report: Power: NormalPower, Timeout: 0
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:10:52 PM: info Manufacturer-Specific Report: Manufacturer ID: 0086, Manufacturer Name: AEON Labs, Product Type ID: 0103, Product ID: 003E
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:10:51 PM: info Firmware Metadata Report: Firmware ID: 0000, Checksum: 39D0
4703a4b2-2eff-4dc7-be03-03a665dc3451 7:10:50 PM: info scanGeneral(): Scanning for common device attributes.

also weird you see 9881 because it isnt even listed in the command classes in that firmware output…

cc:5E,86,72,98
ccOut:22,5A,82
sec:25,70,85,59,7A,66,71,73

if you refer to that doc, https://graph.api.smartthings.com/ide/doc/zwave-utils.html#clockV1

you can look up each class by its (hexadecimal) number…

cc is command classes
ccOut is output classes
sec is secured command classes… so like 9825 and 9870 etc…

try this https://aeotec.freshdesk.com/support/solutions/articles/6000165832-manually-pair-tilt-sensor-to-garage-door-controller

Well, that makes me feel a bit stupid.

I actually tried that earlier, but didn’t get any love out of the device. It’s paired again and I am now getting door status updates. How should the configure functions work? I get nothing from that button still.

Also interesting, I’m suddenly getting a whole bunch more logs from the device. All the debugging is suddenly working now.

that fixed everything for me! sensor working and both open / close working.

Thanks for the help from both of you!!!

Mark

And… now I’m back to broken. Device isn’t even responding to main button push, but is reporting door status. I’m not loving this PoS right now. :angry:

In any case, thanks for your help @Robert_Vandervoort

I would just exclude it and start over since you know everything should
work properly after a fresh start

I’m back functional… adding some audio files to the thing caused the problem. As soon as I removed them it started working again. In a perfect world I’ll figure out how to turn off the audio and strobe anyway. Just frustrating how fragile it is. I’m not certain that after a power outage I’ll have connectivity back without some intervention. Let’s just say it’s got some work to do to earn my trust and I think I know why it’s not widely available yet.

That was the first thing I disabled… if you’re using Roberts device
Handler code just change the two parameters to from 1 to 0.
Look for… set blink, sound, volume and change the last parameter to zero
on the first two. Such as (5.1.1.1) to (5.1.1.0).
Save it… publish it… go to the device page and open up your device…
click on edit and then click on update.

Ya, I figured it out. Just had to look more closely at the code. I think I was expecting a place to set those in the device. Once I realized what the configure button actually did, it came clear.

Thanks!

My configure button doesn’t work did you get yours to work?

The way I understand it, that’s just how you get the zwave conversation to happen to effect the configuration. You won’t see any feedback in the app.

Yeah sorry guys, I basically did enough to get it working with SmartThings. Since having the device type in there when you discover the device doesn’t get it added with the right handler, I have the configure button to send the configuration commands you’ve found. And yeah you’re absolutely right, if you want to change some parameters just change them in the device handler code and save it then hit configure in the tiles. Sorry it’s kind of primitive, I just never got back around to it. My kid grew up a little (4 now) and takes a lot of my time, deservingly so. I wrote a bunch of handlers and it pretty much the same story for them all. I’ve got plans to polish them up at some point. The later ones I wrote have some better code, and there’s a bunch of artifacts of stuff I was experimenting with in the last zooZ mini plug switch code… I guess I really started learning Java / groovy with SmartThing work. Then once they knew I could code, my work took advantage of that. I’ve also branched off into device development in Arduino and now ARM Cortex M4. So… Yeah. If you ever have issues with my code just ping me. I may be a little slow to respond, but I’ll get to it :slight_smile:

I appreciate the code and your responsiveness. Especially given that the problem wasn’t even a code problem. I’m okay hacking others code, but suck at writing it myself, so the head start is most appreciated. I may look at modifying that bit myself in my not so spare time.

Thanks again!
Marc

1 Like

Ahhh gotcha! Thanks

Hi Robert
Is it possible to use the speaker to receive a notification when a door is open or unlock,or any other notification we can think of ?
Thanks

THANK YOU!!! This worked for me. Took about 15 mins to figure everything out.

Hopefully it will stay working. The only thing i am trying to get rid of is the blinking light delay.

HI Robert
Just Install the garage door controler and everything work.
But i can’t control the door while its mooving , i have to wait that the sensor have detected the door is open or closed,so its not possible to stop the door half way.

Is it possible to modified the dh that i can stop the door anytime while mooving,just like my regular switch.
Thanks