NeverDry
never-dry/NeverDry · vv0.12.0
Smart irrigation for Home Assistant, scientific water balance model with per-zone crop coefficients
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) |
What people report
Irrigation scheduler that drives valves already in HA; compatibility table of valves is still thin.
- Works1
- Partly works2
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| SONOFF Zigbee valve via Zigbee2MQTT | Works Local | Three SONOFF Zigbee valves in compatibility table, timer-only ruleSaved copyThe compatibility table is the page people read before they spend money on a valve, and right now it has three rows. All three are SONOFF, all three are Zigbee through Zigbee2MQTT, and all three came off one person's installation: mine. That is not a compatibility table, it is a diary. This issue is where it stops being one. ## What to say Comment below with whatever you have. Nothing is mandatory, and a partial answer is worth more than no answer. * Vendor and model, and the firmware version if you can see it. Firmware matters more than you would expect: two units of the same model on … Excerpt saved from GitHub on 2026-10-23. | Issue #223 · 2026-09 | |
| Netro watering controller | Partly works | Polled valve confirmation can miss first refresh and be treated as failureSaved copyFrom reading `develop` against the Netro integration I run (ha-netro-watering). Not reproduced as a failure on my hardware yet; filed because the numbers do not fit, and because `scheduler.md` §8.3 and §8.6 are about to build a queue and a master on top of this confirmation. ## The two sides How NeverDry waits for a valve. `valve_operator.py` sends `switch.turn_on` / `turn_off` with `blocking=False` and starts a timer. The timer comes from `valve_latency.py`: 10 s until three samples exist, then mean + 3σ of the observed latency, clamped to 2 to 30 s. A timeout is `OPEN_FAILED` or a close … Excerpt saved from GitHub on 2026-10-23. | Issue #337 · 2026-10 | |
| Orbit B-hyve Gen 1 hose timer | Partly works | Added as timer-only row (switches in, no water-out reporting)Saved copyHere is mine, discontinued (new Gen 2 available by vendor) but maybe helpful: - Vendor and model, and the firmware version if you can see it. Orbit B-hyve Gen 1 Smart Hose Watering Timer / Hardware: HT25-0000 / Firmware: 0085 Orbit B-hyve WiFi-Hub / Hardware: BH1-0001 / Firmware: 0095 - How it reaches Home Assistant. Custom Integration via HACS: https://github.com/sebr/bhyve-home-assistant - Which entity the valve itself appears as: `valve.something` - Does it report anything about water? Last runtime, Consumption Gallons, Consumption Litres as attributes in `sensor.something_history` - Does … Excerpt saved from GitHub on 2026-10-23. | Issue #223 · 2026-09 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local push
Talks to the device on your network, and the device tells Home Assistant the moment something changes.
Details
| Installs (analytics) | 47 (0.01%) |
|---|---|
| GitHub stars | 54 |
| Latest version | v0.12.0 (2026-10-21) |
| Set up in the UI | Yes |
| Maintainers | @drake69 |
| License | MIT |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.
Sources
- Documentation: https://github.com/never-dry/NeverDry
- Source code: https://github.com/never-dry/NeverDry
- Issues: https://github.com/never-dry/NeverDry/issues
- HACS: https://hacs.xyz