Common questions, answered straight
The questions homeowners actually search before they find this page.
Why doesn't Rachio see my Ecowitt soil sensors?
Because Rachio's controllers only accept input from wired soil sensors plugged into their S1 / S2 terminals — and Ecowitt's WH51 / WH52 probes are wireless, talking only to an Ecowitt gateway over their own RF protocol. The two products were never designed to talk to each other, and neither company has shipped a bridge.
Result: even if both are on your home Wi-Fi, your Rachio app won't show your soil moisture readings. You're not doing anything wrong. The integration just doesn't exist natively.
Why does Rachio interpret a 50% moisture reading as 75%?
This is the gotcha that breaks every DIY Ecowitt-to-Rachio bridge — and almost nobody learns it until they've already wired everything up. Rachio's sensor input expects "remaining allowable depletion," not raw soil moisture.
In Rachio's world, "100%" means no depletion yet — soil is at field capacity, and "0%" means all of MAD has been used up — time to water. So when you push a raw 50% reading from your WH51 into Rachio, it doesn't think "soil is half wet" — it thinks "50% of the allowable depletion is still left," which effectively translates to a soil moisture of around 75%. Your zones skip watering when they shouldn't, and your dashboard numbers stop matching your probes.
The math
- Probe reads 50% → Rachio thinks 50% of MAD left → effective ~75%
- Probe reads 20% → Rachio thinks 20% of MAD left → effective ~60%
- Probe reads 0% → Rachio finally agrees it's time to water
The fix in Home Assistant land is to write a template sensor that converts your raw moisture % into a depletion %, plumb THAT into Rachio via the API, and then re-calibrate every time you tune your MAD threshold. It works — until it doesn't (after a firmware update, a holiday weekend, or a probe swap).
The fix TurfPulse uses is to bypass Rachio's S1/S2 sensor input entirely. We read your probes ourselves, compute MAD against the FAO-56 reference ET₀ model and your soil-specific calibration baseline, and then fire Rachio zones directly via Rachio's REST API — the same path Rachio's own mobile app uses. No interpretation layer, no translation math, no firmware-update surprises. Rachio stays the valve controller; TurfPulse is the brain that decides which zone runs and for how long.
Read the full probe-driven methodology →
Can I connect Ecowitt to Rachio without Home Assistant?
Yes. Home Assistant is one path (the DIY/tinkerer path), but it's not the only one. TurfPulse is a hosted service that does the bridge for you — you paste your Rachio API key, pair your Rachio zones to your Ecowitt probes, and we run the soil-aware fire decisions in the cloud. No Raspberry Pi, no YAML, no automation scripts.
Setup is roughly 5 minutes versus 8–20 hours for a from-scratch HA build. Same outcome — your Rachio fires when your soil agrees — with the agronomic math (TAMU drought-floor, Smith-Kerns dollar-spot, FAO-56 ET₀) added on top.
See the 5-minute setup guide →
Does Rachio sell its own soil moisture sensor?
No, not as a primary in-ground product. Rachio's hardware lineup (as of 2026) is the controller itself, the Wireless Flow Meter (which is a pipe-leak detector), and the Smart Hose Timer. Their "smart" irrigation feature — Weather Intelligence — is forecast-based, not soil-based.
That's why so many homeowners end up here. Rachio's app gives a great forecast-aware experience, but if you want to know what's happening 4 inches under your front lawn versus your back lawn, you need a separate sensor — and the most-recommended one in homeowner forums is the Ecowitt WH51.
Setting up an Ecowitt WH51 to work with Rachio (the simple way)
The 5-step version, no soldering required:
- Install your Ecowitt GW1100 (or GW2000) gateway on your home Wi-Fi using the Ecowitt mobile app. ~$45 one-time.
- Push your WH51 soil moisture probe into the ground about 4" deep in your driest zone. The probe pairs to the gateway automatically. ~$30 each.
- Get a Rachio API key from the Rachio app (Account → Get API Key). Free.
- Make a free TurfPulse account, paste your Rachio API key, paste your Ecowitt API key (also free, from Ecowitt's web dashboard), and pair each Rachio zone to a probe.
- That's it. TurfPulse polls your probes every 15 minutes and fires Rachio zones only when the soil agrees.
You can get the closed loop running in about 30 minutes start-to-finish, hardware to first fire. No network configuration, no port forwarding, no Linux.
What soil moisture sensors are actually Rachio-compatible?
Rachio's S1 / S2 terminals accept normally-open / normally-closed wired sensors from a few brands — typically Rain Bird (e.g. SMRT-Y), Hunter (e.g. Soil-Clik), and Toro. These work, but they:
- Are wired (you trench cable from sensor to controller)
- Are usually binary (wet / dry) rather than continuous percentage readings
- Cost more per zone than an Ecowitt WH51
- Don't drive any agronomic models — they just gate the next fire
If you want continuous per-zone moisture graphs, agronomic modeling (drought-floor, disease pressure), and a setup that doesn't involve a trenching shovel, the Ecowitt-via-TurfPulse path is what most enthusiasts end up on.
How do I get true per-zone soil moisture decisions on Rachio?
You need three things working together:
- One probe per zone (or at minimum, one per "moisture personality" — a probe in your driest zone and one in your wettest covers most lawns).
- A bridge that reads each probe and decides per-zone — because Rachio's S1/S2 terminals accept only one sensor and gate the entire schedule, not per zone. TurfPulse handles this in software: each zone has its own probe binding and its own fire decision.
- An agronomic layer that knows what to do with the readings. A 22% reading on bermuda fine-sandy-loam means something different than 22% on St. Augustine clay. Without the model, the number is just a number.
TurfPulse is built around exactly this loop. The methodology page shows the math (FAO-56, TAMU, Smith-Kerns) and the activity-feed shows the receipts on every fire and skip.
Read the methodology →