Bug in Z-Wave command parser found

Hey @duncan,

You may want to file a bug:

Parsing associationv1.AssociationReport throws groovy.lang.MissingPropertyException.

4:56:55 PM PST: debug parse(zw device: 0A, command: 8503, payload: 01 05 00 01 )
4:56:55 PM PST: warn Exception 'groovy.lang.MissingPropertyException: No such property: nodeId for class: physicalgraph.zwave.commands.associationv1.AssociationReport
Possible solutions: nodeid' encountered parsing 'cmd: 8503, payload: 01 05 00 01'

This only happens when parsing V1 AssociationReport. V2 is defined correctly. Apparently, there’s a typo in the class definition: nodeid should be nodeId.

See in https://graph.api.smartthings.com/ide/doc/zwave-utils.html#associationV1

class physicalgraph.zwave.commands.associationv1.AssociationReport 
    Short groupingIdentifier
    Short maxNodesSupported
    List<Short> nodeid     // <---- BUG!
    Short reportsToFollow
    List<Short> payload

    String format()

Att: @duncan

Another bug in the Dimmer Switch device handler:

Line 146:

def zwaveEvent(physicalgraph.zwave.commands.configurationv1.ConfigurationReport cmd) {

should be:

def createEvent(physicalgraph.zwave.commands.configurationv1.ConfigurationReport cmd) {

Bugs filed. Thanks!

I’d like to someday get rid of the different versions for Z-Wave commands since the spec guarantees that they are backwards compatible anyway.

Also wow that dimmer device type really needs a rewrite. It’s setting canBeCurrentState on events, which AFAIK hasn’t been a thing for years.

1 Like