pradeepmouli / homebridge-isy-js

Homebridge platform plugin for the ISY series of home controllers from Universal Devices.
MIT License
28 stars 9 forks source link

Leak Sensors showing only the Dry device and so acting backwards #16

Open TheSwartz opened 4 years ago

TheSwartz commented 4 years ago

Using: ISY 994i/IR PRO v5.0.16c Node.js Version v12.16.3 Npm Version v6.14.4 Homebridge Server Version 1.0.4 homebridge-isy v0.5.0-beta.27 homebridge-config-ui-x v4.19.0

I have a few leak sensors. They are automatically being found and added to HomeKit, but not in a way that I would expect.

This is how these leak sensors are listed in ISY. ISY lists three devices with the same first 6 digits in the address with a different digit at the end:

X1 Y2 Z3 1
X1 Y2 Z3 2
X1 Y2 Z3 4

The digit at the end corresponds to:

1 = Dry
2 = Wet
4 = Heartbeat

When the device is "Dry" (i.e. in the normal state), then 1 will be "ON" and "2 will be "OFF"

When the device is "Wet" (i.e. when a leak is detected), then 1 will be "OFF" and "2 will be "ON"

The device periodically sends a signal, which the ISY picks up and will report 4 as being "ON". After a while, it goes to "OFF". I programmed a notification to tell me that the leak sensor battery is dead. I'm not sure what to do in HomeKit with this; what I would like, is the status shown and a notification sent if heartbeat is reported "OFF" (which is the opposite of how tiles usually work).

Currently, homebridge-isy ONLY lists the device address ending in 1. And, since it is reported as "ON" in the normal state, it shows up in HomeKit as "Leak Detected".

My preferred situation is that 1 and 2, or 1, 2, and 4, are all shown as a device. Can be grouped, or ungrouped in a single tile. Either way, "Leak Detected" should only be reported if 2 is "ON".

THANKS!

pradeepmouli commented 4 years ago

Thanks - will look at this. Dry = OFF doesn't also mean leak detected?

TheSwartz commented 4 years ago

Thanks - will look at this. Dry = OFF doesn't also mean leak detected?

I think that would work. Yes.

I did a test with a couple sensors. For each one:

State before test:

Dry = ON
Heartbeat = ON
Wet = OFF

State after test:

Dry = OFF
Heartbeat = ON
Wet = ON

As an FYI, because I have to look this up every time. When you do a test. After the leak is detected. You should be able to dry it off, then press the set button once to clear it back to the dry state.

Thanks!

CVHvisuals commented 3 years ago

Same issue here. Only Dry status showing as true, which enables the false leak status.