[RELEASE] Aeotec Water Sensor 6

image

Features:

  • Availability of all device parameters
  • Driver automatic version check (every 7 days at noon)
  • Configurable logging levels
  • Added probe support (Needs more testing)

Status: Fully tested and working

Todo: Nothing for the moment

Download: GitHub

6 Likes

I have the dock and external probes so I will see how it acts.

I had previously found this code from @BorrisTheCat:

For some reason though the probes don't seem to work properly.

1 Like

@syepes I tested your code with the dock and external probes and probe 1 does not work.

I don't personally have the probes, so that aspect is not really tested.
But I can try add support for them, could you please enable the "trace" logLevel and send me all the generated logs during 1h or 2h for the device.

DM or email me the logs directly, just not to flood the thread with tracing info.

@evanandmaryanne
Try the last driver version and set both Probe 1 Value and Probe 2 Value to Presence of water: 0xFF, Absence of water: 0x00, then Wakeup the device you the config is synced.

After this please test the probes and send me the logs in trace mode.


Regards,
Seb

1 Like
Logs




@syepes you definitely deserve a @king for this driver its been sitting dumb at my place for ages :+1:

@BorrisTheCat
Thanks for the logs I'll have a look at this later tonight and try to add a fully functional support for the probes.

1 Like

I have the probes and am using it with your driver from a week ago. When I test dunked each in a glass of water the sensor did trip wet/dry, it just didn't specify which probe, or that there are probes at all.

Would it be helpful if I tested the new driver and sent logs as well, or should I wait?

@planetix
Thanks for the feedback.
Yes please, try the last version of the driver and send me the logs when triggering each of the probes independently.

Also note that what probe should be seen on the value of the variable probe

1 Like

@syepes you rock, thanks for making this available!!

Does version 1.0.3 work with the probes now?

@EAN The last version does, note that I don't own them but someone has already tested it and it works.

1 Like

@syepes weird, i'm using version 1.0.3 but it's not working for me. Probe 1 logs an event only after i hit the configure button and probe 2 doesnt log an event at all. Also, even though i set the setting to Fahrenheit, it looks like it's still capturing temperature in Celsius.

Why are you checking cmd.size for values of 1, 2 or 3 when detecting which probe is wet - shouldn't it be cmd.scaledConfigurationValue? That would explain why people say the probe detection isn't working.

I need some help on why my sensor does not show wet when the sensor is actually wet. I have the latest driver 1.0.3 and the other states seem to be working fine. Also, I'm not using a probe, just putting the sensor down in some water.

What's interesting is if I use the Generic Water Sensor driver, it works fine. It will show wet and also will also send an alert.

My assumption is I don't have it configured correctly, but I haven't been able to figure it out.


Very strange, could you please follow the following steps and pm or attachment the full device logs.

  1. set the logging to trace
  2. click the refresh and configuration buttons
  3. move the device (vibration) to Wake it up..
  4. wait 1min
  5. send me all the generated logs

Normally this should reset/force the reconfiguration, but I can check with the logs

PM sent of the trace log.

I'm also having issues using the driver and seeing some errors in the logs...

java.lang.NullPointerException: Cannot invoke method multiply() on null object on line 490

java.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 227 (parse)

You are getting this error certainly because you have just switched from another driver and you have not established (saved) this drivers settings.

Doing the following should remove the errors:

  • Click the button: Preferences --> Save Preferences
  • Click the Refresh and configuration buttons
2 Likes

Thanks, I guess I didn't wait long enough to test it. Those messages no longer appear in the logs.

I do have another error when I tested it (undocked, just the sensor) in water and FWIW the status info on the device page does not get updated to WET:

dev:14092020-05-05 14:49:58.614 infoShock detected
dev:14092020-05-05 14:49:58.596 tracezwaveEvent(NotificationReport) - cmd: NotificationReport(v1AlarmType:0, v1AlarmLevel:0, reserved:0, notificationStatus:255, notificationType:7, event:3, sequence:false, eventParametersLength:0, eventParameter:[])
dev:14092020-05-05 14:49:58.593 debugparse() - description: 'zw device: 4D, command: 7105, payload: 00 00 00 FF 07 03 00 , isMulticast: false'
dev:14092020-05-05 14:49:58.585 debugparse() - parsed to cmd: NotificationReport(v1AlarmType:0, v1AlarmLevel:0, reserved:0, notificationStatus:255, notificationType:5, event:0, sequence:false, eventParametersLength:0, eventParameter:[]) with result: [['name':'water', 'value':'dry', 'descriptionText':'Sensor is dry'], ['name':'probe', 'value':'dry']]
dev:14092020-05-05 14:49:58.582 infoWater cleared
dev:14092020-05-05 14:49:58.580 tracezwaveEvent(NotificationReport) - cmd: NotificationReport(v1AlarmType:0, v1AlarmLevel:0, reserved:0, notificationStatus:255, notificationType:5, event:0, sequence:false, eventParametersLength:0, eventParameter:[])
dev:14092020-05-05 14:49:58.577 debugparse() - description: 'zw device: 4D, command: 7105, payload: 00 00 00 FF 05 00 00 , isMulticast: false'
dev:14092020-05-05 14:49:45.322 errorgroovy.lang.MissingMethodException: No signature of method: hubitat.zwave.commands.notificationv3.NotificationReport.call() is applicable for argument types: (hubitat.zwave.commands.configurationv1.ConfigurationGet) values: [ConfigurationGet(parameterNumber:136)]
Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), each(groovy.lang.Closure), grep() on line 285 (parse)
dev:14092020-05-05 14:49:45.311 debugparse() - parsed to cmd: NotificationReport(v1AlarmType:0, v1AlarmLevel:0, reserved:0, notificationStatus:255, notificationType:7, event:3, sequence:false, eventParametersLength:0, eventParameter:[]) with result: [['name':'shock', 'value':'detected', 'descriptionText':'Shock detected']]
dev:14092020-05-05 14:49:45.289 infoShock detected
dev:14092020-05-05 14:49:45.284 tracezwaveEvent(NotificationReport) - cmd: NotificationReport(v1AlarmType:0, v1AlarmLevel:0, reserved:0, notificationStatus:255, notificationType:7, event:3, sequence:false, eventParametersLength:0, eventParameter:[])
dev:14092020-05-05 14:49:45.279 debugparse() - description: 'zw device: 4D, command: 7105, payload: 00 00 00 FF 07 03 00 , isMulticast: false'
dev:14092020-05-05 14:49:45.265 infoWater detected