# Integrating GeoDrops Soil Moisture Sensors with Home Assistant

**URL:** <https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280>\
**Category:** Developer Community\
**Created:** [November 9, 2025, 1:07am UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280 "2025-11-09T01:07:28Z")\
**Posts on this page:** 8\
**Page:** 2

<div class="post-metadata">

**Author:** ![Scythe](https://avatars.discourse-cdn.com/v4/letter/s/b9e5f3/32.png) [@Scythe](https://geodrops.discourse.group/u/Scythe)\
**Post date:** [August 16, 2026, 7:37pm UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/23 "2026-08-16T19:37:23Z")

</div>

Just published the scheduler at [GitHub - ajbaldwin/ha-geodrops-rachio-irrigation-scheduler: GeoDrops + Rachio + Tempest nightly irrigation scheduler for Home Assistant (pyscript). Configure without editing Python. · GitHub](https://github.com/ajbaldwin/ha-geodrops-rachio-irrigation-scheduler)

Installation instructions are here: [ha-geodrops-rachio-irrigation-scheduler/README.md at main · ajbaldwin/ha-geodrops-rachio-irrigation-scheduler · GitHub](https://github.com/ajbaldwin/ha-geodrops-rachio-irrigation-scheduler/blob/main/README.md)

Configuration examples are included as well: [ha-geodrops-rachio-irrigation-scheduler/examples at main · ajbaldwin/ha-geodrops-rachio-irrigation-scheduler · GitHub](https://github.com/ajbaldwin/ha-geodrops-rachio-irrigation-scheduler/tree/main/examples)

Hope you enjoy!

---

<div class="post-metadata">

**Author:** ![Gr8M1ke](https://avatars.discourse-cdn.com/v4/letter/g/8491ac/32.png) [@Gr8M1ke](https://geodrops.discourse.group/u/Gr8M1ke)\
**Post date:** [August 18, 2026, 11:30am UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/24 "2026-08-18T11:30:33Z")

</div>

Thank you. I have it all installed, but running in the background so I can observe it’s behavior for a few days before the cutover. Sincerely appreciate your efforts.

---

<div class="post-metadata">

**Author:** ![Scythe](https://avatars.discourse-cdn.com/v4/letter/s/b9e5f3/32.png) [@Scythe](https://geodrops.discourse.group/u/Scythe)\
**Post date:** [August 18, 2026, 11:00pm UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/25 "2026-08-18T23:00:29Z")

</div>

No worries - always open to feedback. There’s a lot of power under the hood (I’m particularly proud of the zone adjacency awareness!) that I hope helps.

Some of my own observational notes:

1. You’re going to see more Rachio notifications during a run because, to Rachio, all of these API-started runs are consider manual “quick runs”. The scheduler batches groups together where it can (reducing notifications), but if you’re using soak/cycle functionality (I’m big on this), Rachio doesn’t expose that functionality via API, so you’re going to get a notification for each soak cycle start. Wish this wasn’t the case, but I decided the soak/cycle functionality was important enough for me to deal with grouped notifications (which are silenced for me at night anyways). I’m looking at using the PAUSE feature available via the API to do this in a less spammy way.

2. Since we’re using GeoDrops data as ground truth and irrigation systems are (generally) designed with generous overlap zones to ensure complete lawn coverage, watch out for scenarios where watering one zone will hit the sensor of another zone and artificially inflating the moisture level for that zone. For about two weeks, the system watered my side yard faithfully and managed to convince my front yard sensor that the front yard was living its’ best life =)

---

<div class="post-metadata">

**Author:** ![Scythe](https://avatars.discourse-cdn.com/v4/letter/s/b9e5f3/32.png) [@Scythe](https://geodrops.discourse.group/u/Scythe)\
**Post date:** [August 25, 2026, 12:37am UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/26 "2026-08-25T00:37:33Z")

</div>

Just released v.0.6.0, which leverages a new scheduler logic using the Rachio PAUSE feature that I mentioned above. I’ve run it for the last couple of nights and it works well. I’m enjoying only seeing two Rachio notifications when I wake up (run start and run complete).

Also added the ability to adjust the watering window stop by a time offset (e.g. stop watering at 60 minutes after sunrise), configurable on a per-drought level basis.

Specifics + diffs: [Release v0.6.0 · ajbaldwin/ha-geodrops-rachio-irrigation-scheduler · GitHub](https://github.com/ajbaldwin/ha-geodrops-rachio-irrigation-scheduler/releases/tag/v0.6.0)

---

<div class="post-metadata">

**Author:** ![Gr8M1ke](https://avatars.discourse-cdn.com/v4/letter/g/8491ac/32.png) [@Gr8M1ke](https://geodrops.discourse.group/u/Gr8M1ke)\
**Post date:** [August 25, 2026, 2:12pm UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/27 "2026-08-25T14:12:31Z")

</div>

Thanks for this, the pile of notifications was a bit annoying 🙂

---

<div class="post-metadata">

**Author:** ![Scythe](https://avatars.discourse-cdn.com/v4/letter/s/b9e5f3/32.png) [@Scythe](https://geodrops.discourse.group/u/Scythe)\
**Post date:** [August 26, 2026, 2:18am UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/28 "2026-08-26T02:18:04Z")

</div>

No problem, and I agree 🙂

---

<div class="post-metadata">

**Author:** ![Scythe](https://avatars.discourse-cdn.com/v4/letter/s/b9e5f3/32.png) [@Scythe](https://geodrops.discourse.group/u/Scythe)\
**Post date:** [September 6, 2026, 3:39pm UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/29 "2026-09-06T15:39:07Z")

</div>

Released v0.7 as a resiliency improvement release: [Release v0.7.0 · ajbaldwin/ha-geodrops-rachio-irrigation-scheduler · GitHub](https://github.com/ajbaldwin/ha-geodrops-rachio-irrigation-scheduler/releases/tag/v0.7.0)

**Collapsed-schedule drop recovery**

When Rachio drops the single night-long schedule mid-run, the scheduler now re-issues a fresh schedule for the remaining water (up to 2 retries) instead of aborting and losing the night. Adds a `recoveries` count in the run record, a persisted breadcrumb trail (`start`/`pause`/`resume`/`drop-detected`/`recover`/`give-up`/`end`) so a drop is diagnosable from the record alone, and a post-resume valve probe that detects a dropped resume quickly.

### **Restart-during-wait recovery**

The nightly plans at 23:00 but waits hours for its pre-dawn watering window. An HA restart during that wait used to silently discard the run; it now re-arms on startup.

### **`irrigation_reset` action**

New `pyscript.irrigation_reset` action (and “Irrigation: Reset” script/button) cancels a planned **or** in-progress run and resets the system to idle — unlike `irrigation_stop`, it interrupts the pre-dawn waiting phase immediately.

---

<div class="post-metadata">

**Author:** ![Scythe](https://avatars.discourse-cdn.com/v4/letter/s/b9e5f3/32.png) [@Scythe](https://geodrops.discourse.group/u/Scythe)\
**Post date:** [September 13, 2026, 12:02am UTC](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280/30 "2026-09-13T00:02:06Z")

</div>

Released v0.8 as a feature improvement release since it’s overseeding season: [Release v0.8.0 · ajbaldwin/ha-geodrops-rachio-irrigation-scheduler · GitHub](https://github.com/ajbaldwin/ha-geodrops-rachio-irrigation-scheduler/releases/tag/v0.8.0)

**Per-zone exclude** (on by default, no config needed to use it)  
Pull any zone out of both the nightly plan and calibration probing with an `input_boolean` toggle — e.g. for an overseeded zone you’re watering separately on a lighter, more frequent schedule. Optional per zone via `exclude_boolean` in `config.yaml`; omit it and the zone behaves exactly as before.

**Active Watering Calibration (Beta, off by default)**  
Each zone can now learn its own dosing span from its actual soil-moisture response — running small “probe” waterings, measuring the resulting rise, and converging on a points-per-minute efficacy — instead of trusting the Rachio-derived dosing estimate, which can be substantially off for a given yard’s soil and sensor placement.

This is new and still being validated, so it ships **off by default**. See the README section **“Enabling Active Watering Calibration (Beta)”** before turning it on — it covers what it does, how to watch it converge, how to exclude one zone from it, and how to fall back instantly if it’s not behaving as expected.

[Previous page](https://geodrops.discourse.group/t/integrating-geodrops-soil-moisture-sensors-with-home-assistant/280.md?page=1)
