[SOLVED] "Meter Pulse V1" zwave parsing broken

I have observed two things that suggest that there might be a bug in either the zwave.parse() function or in the hubitat.zwave.commands.meterpulsev1.MeterPulseReport class.

  1. Within device driver code, the expression
zwave.parse("zw device: 0A, command: 3505, payload:  00 00 00 07 , isMulticast: false",  [0x35: 1]).getPayload()

evaluates to an empty array, whereas I would have expected it to evaluate to an array of Shorts containing the values 0,0,0,7. There is nothing special about this particular payload; the unexpected behavior seems to occur in all cases, regardless of the value of the payload.

  1. Within device driver code, the expression
zwave.parse("zw device: 0A, command: 3505, payload:  00 00 00 07 , isMulticast: false",  [0x35: 1]).pulseCount

evaluates to null, whereas I would have expected to evaluate to the integer 7. Again, There is nothing special about this particular payload; the unexpected behavior seems to occur in all cases, regardless of the value of the payload.

This bug is complicating my efforts to write a device driver for a zwave device that implements the zwave "Meter Pulse V1" command class. The string that is passed as the argument to the zwave.parse() function in the expressions above is one that I observed the Hubitat platform passing as an argument to my device driver's parse() function while testing.

I see the problem.. Will get it fixed for the next release..

2 Likes

WOW; that was a fast response! I eagerly await the promised fix.

1 Like

2.3.0 is in beta now.. If you want it quicker.. It will be in the next beta build…

3 Likes

Download the Hubitat app