'Aeon HEM V1 Laundry Driver' is NOW working on Hubitat

i really need to see what the raw description is for this (prior to being parsed to a zwave command)
add the following as the first line in the parse(String description) method
log.trace "description:${description}"
this will generate tons of logging, but it's going to be the only way to track it down.
What I need is that log trace output when the NullPointerException is thrown...

1 Like

dev:13152019-06-11 12:01:30.259 pm errorjava.lang.NullPointerException: Cannot invoke method and() on null object on line 60 (parse)

dev:13152019-06-11 12:01:30.212 pm traceParse received zw device: 09, command: 600D, payload: 02 00 32 02 21 70 00 00 00 00 00 00 00 03 CA 28 , isMulticast:

How/where are you adding the log.trace command?

Was already in the code, just had to uncomment it.

Isn't the HEM device a built-in driver?

OK it is in the Laundry Driver

1 Like

Correct.

did the end of this message not get copied?, or was there no data for the isMulticast attribute...

Oops! Thanks. It's FALSE.

dev:13152019-06-11 12:01:30.259 pm errorjava.lang.NullPointerException: Cannot invoke method and() on null object on line 60 (parse)

dev:13152019-06-11 12:01:30.212 pm traceParse received zw device: 09, command: 600D, payload: 02 00 32 02 21 70 00 00 00 00 00 00 00 03 CA 28 , isMulticast: false

1 Like

@SmartHomePrimer - I am still using this driver with my Aeon HEM v1 to monitor laundry. It has been very reliable for me. I am still running 2.1.0, as I tend to wait a few days before upgrading my production hubs to new firmware.

It's actually still working. Receiving laundry announcements. Just have the occasional error showing up. Don't want to have the hub buggered up with errors, so thought I would bring it to light.

I don't have the skills to do figure out what that error means to line 60, which is...

    	def value = encapsulatedCommand.scaledMeterValue

In the individual clamp version I use this command is not throwing an error:

newValue = Math.round(encapsulatedCommand.scaledMeterValue)

Which is just rounding it.

Appreciate it. Tried replacing with that and it throws two errors. I'm not skilled in groovy.

dev:13152019-06-11 02:15:30.792 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 68 (parse)

dev:13152019-06-11 02:15:30.776 pm traceParse received zw device: 09, command: 600D, payload: 01 00 32 02 21 74 00 00 0C A8 00 00 00 03 CA 2C , isMulticast: false

dev:13152019-06-11 02:15:01.010 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 89 (parse)

dev:13152019-06-11 02:15:00.994 pm traceParse received zw device: 09, command: 600D, payload: 02 00 32 02 21 74 00 00 00 00 00 00 00 03 CA 2C , isMulticast: false

Line 68 is
if (value.toInteger() >= settings.washerRW.toInteger()){

Line 89 is
if (value.toInteger() >= settings.dryerRW.toInteger()){

I'm no expert but looks like you aren't getting the meter data. I'm storing mine as numbers.

Jesh, I see this exact same error from time to time on different devices and its been driving me insane, but I finally found it with the payload that you sent.
It is a platform issue, not related to drivers and or devices...
This should be out in the next 2.1.1 hot fix

6 Likes

Awesome! I'm glad I asked and was of some help.

4 Likes

Any way to add a 2nd debounce? Or just configure the debounce to only apply to the washing machine?

I’ve had to add about a 200 second debounce to the washer due to the cycles, but then my dryer notifications are pretty late even though that device doesn’t need a waiting period.

There’s always a way! :wink:

Why not give it a try yourself? You literally only need to add 1 line of code to allow the input of a second delay, and modify the dryer’s “runIn()” command to use the new delay value.

1 Like

easy as pie! Thanks.

Thanks for your Pull Request. Your changes looked great!

@mike.maxwell and @ogiewon Can either of you tell me what change I need to make to the Aeon v1 Laundry Driver to get reporting every 5 seconds? Apparently 30 seconds is the factory default, but there is a payload that you can send that will change it to five seconds.