{ "packageName": "Zooz Sprinkler Scheduler", "author": "RamSet", "version": "0.16.2", "releaseNotes": "0.16.2 - Fixed a start-up race that produced a phantom manual run and a duplicate \"starting\" notification. The app announced the run and switched on the first zone before it had finished recording that a run was under way, so the handlers watching your zone and Run switches still believed nothing was running and mistook the app's own switch-on for a button press - starting a stray 10-minute manual run on the first zone and starting the schedule a second time. The run is now claimed before anything is announced or switched on. Also fixed: the Run switch could ignore a real OFF press, because a leftover marker from an earlier run was never cleared and swallowed the next one. 0.16.1 - The Zooz relay drivers gained an \"Invert Sw Sensor Reporting\" switch. Some sensors wired to a relay input - most irrigation rain sensors, for one - are built the opposite way round: their contacts open when they are triggered rather than close. That made the relay report them backwards, showing wet when it was dry and dry when it was raining, and the relay itself offers no way to reverse it. Turn this on for that input and the reading is corrected at the source, so the schedule, dashboards and every other app see the right state. 0.16.0 - Pause sensors can now be told to ignore brief blips, one sensor at a time. A sensor that flicks on and off for a few seconds - a water heater short-cycling, say - used to cost a pause, a valve close and reopen, the resume wait and two notifications every single time. Pick the sensors that should have to hold steady, set how long, and blips shorter than that are ignored completely. Doors and gates are left out of it on purpose: they should still stop the water the instant they open. 0.15.0 - The app now confirms each zone relay actually turned on. Sending a Z-Wave command is fire-and-forget: if it is lost on the mesh the app used to keep running its timers and sending \"watering\" notifications while nothing was actually watering. A few seconds after each valve is commanded on, the app re-reads what the relay reports, re-sends the command if it has not confirmed, and if it still never confirms it tells you and (by default) skips that zone and carries on with the rest of the schedule. Configurable under Hardware safety - wait time, number of retries, and whether a failure skips the zone, stops the run, or just notifies. 0.14.1 - Status section now shows elapsed time + estimated time remaining for the current run, the current phase's remaining time (watering/soak), and time-left-on-resume when paused. 0.14.0 - Live Status section at the top of the app: current run + zone/phase/cycle, pause-sensor state, rain-sensor state, coordination-lock state, and seasonal multiplier, with color badges. 0.13.4 - Saving the app now sends a confirmation notification: when the schedule will start, how many zones, and the estimated total run time. 0.13.3 - Multiple start times now all work (each was overwriting the last on a shared scheduler handler); and a re-entrancy guard prevents a single trigger from starting a run twice (the double-start / double notification). Re-save each app after updating to register the new per-window schedules. 0.13.2 - Pause sensors never skip a run, even a manual one (Run switch / Run-now button): an active pause sensor now holds the run and auto-starts when it clears instead of reporting skipped. 0.13.1 - Pause-sensor hold now applies on every scheduled start regardless of the pause/stop mode (a sensor set to stop mode previously still skipped the cycle at the scheduled start). 0.13.0 - Pause sensors (water heater on, door/contact open) now hold a scheduled run and start it automatically once they clear, instead of skipping the cycle (with a \"waiting for X\" notification); genuine skips (wet rain sensor, weather, quiet hours, mode/HSM) still skip and say why. The completion summary's seasonal figure now reflects the actual extra over the scheduled base so the numbers reconcile. Fully-local irrigation controller for Zooz ZEN16/ZEN17 relays (or any Switch device): day-of-week or every-N-days scheduling, cycle & soak, Open-Meteo weather (rain delay, seasonal scaling, smart skips; unit-aware), rain/moisture/pause sensors with true pause-and-resume, pump/master valve, HomeKit/dashboard exposure, notifications, and a verified hardware auto-off failsafe. Includes a RamSet fork of @jtp10181's ZEN16/ZEN17 Advanced drivers (adds ping(), removes telemetry).", "category": "Irrigation", "tags": "Irrigation, Sprinkler, Zooz, ZEN16, ZEN17, Z-Wave, Weather, Local", "dateReleased": "2026-09-04", "minimumHEVersion": "2.3.0", "apps": [ { "id": "f6aadfbc-e1fb-43f4-a19b-713a99acc4ef", "name": "Zooz Sprinkler Scheduler", "namespace": "ramset", "location": "https://raw.githubusercontent.com/RamSet/hubitat/refs/heads/main/apps/zooz-sprinkler-scheduler/zooz-sprinkler-scheduler.groovy", "required": true, "oauth": true, "primary": true, "description": "Sprinkler/irrigation scheduler app — zones, weather, sensors, pause-and-resume, and hardware safety." } ], "drivers": [ { "id": "5aee38c9-88cf-4a0e-99e6-d9618b2d8632", "name": "Zooz ZEN16 MultiRelay Advanced", "namespace": "jtp10181", "location": "https://raw.githubusercontent.com/RamSet/hubitat/refs/heads/main/drivers/zooz-zen16-multirelay/zooz-zen16-multirelay.groovy", "required": false, "oauth": false, "description": "Zooz ZEN16 (3-relay) driver — RamSet fork of @jtp10181's, exposes setParameter for the hardware auto-off push and adds ping(). Optional: only needed if you drive the zones with a ZEN16." }, { "id": "5355a3c3-d2fa-4d48-ad9a-0e282caea2a0", "name": "Zooz ZEN17 Universal Relay Advanced", "namespace": "jtp10181", "location": "https://raw.githubusercontent.com/RamSet/hubitat/refs/heads/main/drivers/zooz-zen17-universal-relay/zooz-zen17-universal-relay.groovy", "required": false, "oauth": false, "description": "Zooz ZEN17 (2-relay) driver — RamSet fork of @jtp10181's. Optional: only needed if you drive the zones with a ZEN17." } ] }