Aeotec Water Sensor 6 ZW122 Won't Report

I have been fighting issues with my own battery operated device. In my case the wake-up command in the manual was wrong.
What ended up working for me was to watch the log as I woke tthe device up repeatedly until it was successful. With debugging tormed on, if you try & head the device and it is not fully discovered, you get an error saying where the discovery process is waiting. For instance,

2019-10-26 06:07:30.257 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Configuration update received
2019-10-26 06:07:30.259 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Configuration update set action_heal to true (Boolean)
2019-10-26 06:07:30.260 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Starting heal on node!
2019-10-26 06:07:30.261 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 11: Can not start heal as initialisation is not complete (VERSION).

I have a ZW122 water sensor 6 also and new to zwave so Iā€™m sure Iā€™m doing something wrongā€¦ or my device is a dudā€¦ I can get alarm_flood to be triggered from the device and shows in the debug log. But the burglar_alarm wonā€™t alert (the buzzer goes off when moved but nothing is sent) and temp is still set to Celsius whereas the factory value and my settings if for Fahrenheit. I get battery valueā€¦ but the tamper bit for the burglar alarm would be nice to have. @chris I am running the development binding:

openhab> list -s |grep zwave
209 x Active x 80 x 2.5.0.201901201452 x org.openhab.binding.zwave

I did discover and add via paperui, but the settings via habmin are easier to list:

It triggers with the alarm_flood:

Just canā€™t figure out the burglar_alarmā€¦

image

Anything I could be missing? I did add without security. Do some features not work without that? Even if I pull all the linked channels off, I still see the node reporting the flood alarm:

16:35:14.642 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0E 60 0D 01 01 71 05 00 00 00 FF 05 02 00 00
16:35:14.642 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0E 60 0D 01 01 71 05 00 00 00 FF 05 02 00 00
16:35:14.643 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
16:35:14.643 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Application Command Request (ALIVE:DONE)
16:35:14.643 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: resetResendCount initComplete=true isDead=false
16:35:14.643 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Decapsulating COMMAND_CLASS_MULTI_CHANNEL
16:35:14.644 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Incoming command class COMMAND_CLASS_ALARM, endpoint 1
16:35:14.644 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: SECURITY not supported
16:35:14.644 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 2: Received COMMAND_CLASS_ALARM V7 NOTIFICATION_REPORT
16:35:14.653 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: NOTIFICATION report - 0 = 0, event=2, status=255, plen=0
16:35:14.656 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: Alarm Type = FLOOD (0)
16:35:14.656 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got an event from Z-Wave network: ZWaveAlarmValueEvent
16:35:14.656 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got a value event from Z-Wave network, endpoint = 1, command class = COMMAND_CLASS_ALARM, value = 255
16:35:14.660 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
16:35:14.660 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 2, type OnOffType
16:35:14.662 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating channel state zwave:device:d3ebf740:node2:alarm_flood1 to ON [OnOffType]
16:35:14.662 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Commands processed 1.

Thanks in advance. I am pulling my hair out here.

Welcome

Actually HABmin is the preferred interface for administering Z-Wave devices. There are many configuration parameters for this device, some hidden under the Advanced setting. Here is our database entry for the device.

https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/721

An Engineering Specification is there along with the user manual.

Thanks @Bruce_Osborne I checked that out and was going over the tech spec on that site. I see commandclass from the node for the flood but nothing for tilt or tamper and I canā€™t see anywhere in the advanced settings or on that link or here https://www.cd-jackson.com/zwave_device_uploads/721/ES---Water-Sensor-6.pdf that looks like it would be pulled. Looks like bit 0 is water leak event, and bit 1 vibration and bit 2 for tilt sensor at the bottom of that pdf. I just have no clue where to check that. Flood works:

17:51:35.895 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 14 00 04 00 02 0E 60 0D 01 01 71 05 00 00 00 FF 05 02 00 00 02
17:51:35.899 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0E 60 0D 01 01 71 05 00 00 00 FF 05 02 00 00
17:51:35.899 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0E 60 0D 01 01 71 05 00 00 00 FF 05 02 00 00
17:51:35.900 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null
17:51:35.901 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Application Command Request (ALIVE:STATIC_VALUES)
17:51:35.901 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Decapsulating COMMAND_CLASS_MULTI_CHANNEL
17:51:35.902 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: Incoming command class COMMAND_CLASS_ALARM, endpoint 1
17:51:35.902 [DEBUG] [ing.zwave.internal.protocol.ZWaveNode] - NODE 2: SECURITY not supported
17:51:35.903 [DEBUG] [otocol.commandclass.ZWaveCommandClass] - NODE 2: Received COMMAND_CLASS_ALARM V7 NOTIFICATION_REPORT
17:51:35.904 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: NOTIFICATION report - 0 = 0, event=2, status=255, plen=0
17:51:35.904 [DEBUG] [l.commandclass.ZWaveAlarmCommandClass] - NODE 2: Alarm Type = FLOOD (0)
17:51:35.904 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got an event from Z-Wave network: ZWaveAlarmValueEvent
17:51:35.905 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Got a value event from Z-Wave network, endpoint = 1, command class = COMMAND_CLASS_ALARM, value = 255
17:51:35.906 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter processing NOTIFICATION
17:51:35.906 [DEBUG] [nternal.converter.ZWaveAlarmConverter] - NODE 2: Alarm converter NOTIFICATION event is 2, type OnOffType
17:51:35.907 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 2: Updating channel state zwave:device:d3ebf740:node2:alarm_flood1 to ON [OnOffType]
17:51:35.907 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Commands processed 1.
17:51:35.908 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - NODE 2: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@209eb26.
17:51:35.908 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
17:51:35.909 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
17:51:35.909 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
17:51:35.910 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
17:51:35.912 [DEBUG] [ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 14 00 04 00 02 0E 60 0D 02 01 71 05 00 00 00 FF 05 02 00 00 01
17:51:35.916 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0E 60 0D 02 01 71 05 00 00 00 FF 05 02 00 00
17:51:35.916 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=2, callback=0, payload=00 02 0E 60 0D 02 01 71 05 00 00 00 FF 05 02 00 00
17:51:35.916 [DEBUG] [rnal.protocol.ZWaveTransactionManager] - lastTransaction null

Sometimes features are disabled when security is not used, but in this case I think itā€™s extremely unlikely to be the issue.

Since I donā€™t see any reports in the log, the issue must be a device configuration issue. Iā€™m assuming that the lifeline is configured - youā€™re using a recent binding so it should always be set. In this case, the device should always send all reports to the controller unless they are disabled somehow.

Probably the burglar alarm should be changed to tamper alarm, but as the device isnā€™t sending the report, it doesnā€™t really matter what channel we call it.

Here is how the lifeline is configured on my device.

Thanks! So interestingly enough I removed it for the 1012th time and messed with it in habmin and now I am getting the alarm type = BURGLAR. No idea what I changedā€¦ But would the association group 1 to controller make the flood alerts be sent but not the burglar? And interesting point that the sensor reports now in F whereas habmin and paperUI still show in C.

NODE 2: Updating channel state zwave:device:d3ebf740:node2:sensor_temperature to 61.4 Ā°F [QuantityType]

It shouldnā€™t. The lifeline should receive ALL reports that the device sends that are applicable for a gateway controller. Other association groups are typically used to directly control devices.

Hey Jay, for your setup does the second or third flood entities ever trigger? For me I have two problems:

  1. The buzzer never goes off.
  2. With the dock, If I put one extension end in the water the first flood entity value changes. If I put the second one in the water it does the exact same thing. Only the first flood value changes. I thought the first was for the first sensor, the second was for the second sensor, and the third floor sensor was for when both were active. Thoughts?

Thanks.

JR

Iā€™m currently on a cruise, when I get back Iā€™ll test this.

Best, Jay

So I somehow got the first zw122 to trigger the burglar alert and poll for the battery and temp. But I removed it, reset it way too many times no telling what happened to make it work. This time, I figured it wouldnā€™t alert on that until after initializedā€¦ So I added another one and and waited after it initialized and starting to pollā€¦ it gets alerts for flood, (flood1 is speakerside flood2 is led side). However, I removed, reset, added so many times on the first one one and burglar_alarm started to work. Iā€™d imagine it should just send. Any idea why these arenā€™t working with buglar_alarm? Could it be the stick not getting it from the start?

15:18:36.602 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 4: Polling zwave:device:d3ebf740:node4:alarm_burglar
15:18:36.602 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 4: Polling zwave:device:d3ebf740:node4:alarm_flood
15:18:36.603 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 4: Polling zwave:device:d3ebf740:node4:battery-level

but only get the buzzer when moved, nothing is logged. Hoping to figure out why they donā€™t work without going crazy.

difference between node 2 (works correctly) and node 4 (doesnā€™t alarm on burglar)

# diff /var/lib/openhab2/zwave/network_cd0a2e40__node_2.xml /var/lib/openhab2/zwave/network_cd0a2e40__node_4.xml
3c3
<   <nodeId>2</nodeId>
---
>   <nodeId>4</nodeId>
28a29
>     <commandClass>COMMAND_CLASS_SECURITY</commandClass>
42,44d42
<           </associationMember>
<           <associationMember>
<             <node>1</node>
81,86c79
<         <associations>
<           <associationMember>
<             <node>1</node>
<             <endpoint>1</endpoint>
<           </associationMember>
<         </associations>
---
>         <associations/>
294c287
<                     <value>3585</value>
---
>                     <value>1</value>
324c317
<                     <value>65792</value>
---
>                     <value>68157696</value>
334c327
<                     <value>65792</value>
---
>                     <value>20971776</value>
458a452,460
>             <commandClass>COMMAND_CLASS_SECURITY</commandClass>
>             <COMMAND__CLASS__SECURITY>
>               <version>0</version>
>               <instances>1</instances>
>               <control>false</control>
>               <versionSupported>0</versionSupported>
>             </COMMAND__CLASS__SECURITY>
>           </entry>
>           <entry>
495c497
<               <interval>3600</interval>
---
>               <interval>240</interval>
718a721
>     <int>3</int>
720c723
<   <lastReceived>2019-11-24 20:59:52.770 UTC</lastReceived>
---
>   <lastReceived>2019-11-24 21:08:41.741 UTC</lastReceived>

Hey JR,

I havenā€™t physically tested what you did but hereā€™s my config for all 3 of my units using a USB dock.