Oto lawn sprinkler, HA

I have a few Oto lawn sprinklers. I really like how they water and think that it is well designed and uses quality components. The App and support is great but there is no integration into HA. There is also one big issue with Oto . It relies on the cloud. If the internet connection to the sprinkler is lost it will stop watering. It also collects usage and diagnostic data. I really don’t like things that are cloudy and I’d prefer things to stay secure and local. For this reason I have been developing my own firmware for my Oto lawn sprinklers and intend to have a custom component and esphome support for my sprinklers. This way I can setup zones and schedules with HA and HA can provide rain and wind delay info or other automation rather then some cloud service. I am close to completing this but thought I would post here to see if there are others who may be interested in this. Please comment here if you are.

Love this. Would be very interested. Just got one and looking into the company developments recently I have little hope this will be supported in a few years.

I am testing my code now and nearing completion. I will post everything to github once complete. I want to make certain that my code waters at least as evenly as the original code which waters quite evenly based upon my testing. To upgrade to the new firmware physical access to the ESP32 uart is necessary. The good news is this is relatively easy to access. The bottom of the unit needs to be removed by unclipping a couple snap clips which is tricky but not hard if you don’t know how to access them. I will provide instructions and photos later. Once the bottom cover is removed there is a small rubber plug that can be pulled out gently to extend a uart cable that is plugged into to the main board. Nice of Oto to provide that access :slight_smile: When I post to github I’ll provide a pinout and connection details for the first time flash. After that all updates should be OTA.

Would we be able to use the pouches again? That would be perfect.

Unfortunately no. In new units Oto has removed some of the hardware for the pouches. I think they ran into a legal issue. If you accidently spray someone in the face with water no big deal, if you do that with fertilizer or bug killer it could be a lawsuit.
I did see Oto released new firmware that has a kids play mode. I can try and incorporate something like that in the new HA firmware.

Okay, thanks.

I would appreciate access to your repo when you have it ready! I have taken apart one unit (it died), and was impressed with their use of ESP32. As you mention, it is well designed.

The catch mode is actually quite clever, and my dog loves it. Highly recommend integrating with your app.

Looking forward to seeing what you put together!

Thanks for chiming in. That's great you had one to disassemble. Until you have a chance to see where the clips are it can be tricky to disassemble. I'm planning to provide a guide for this. What failed on the one you had? I'm curious.
I haven't had a chance to try the Oto game mode but will try it soon.
Thanks.

I'm also looking forward to trying the firmware. I have two dead otos and I'm sure they just need replacement batteries so I'd be willing to play around and test the firmware during my teardown.

Oto replaced them free of charge but I've kept these two broken ones around for a moment like this.

Cool, only dead batteries. Those are definitely fixable. Once you know how to get inside one of these the single cell 4000mAh battery could easily be replaced.

Interested in supporting this effort. Following this thread.

Something I've been spending a fair amount of time on is the mechanics of the watering itself. Given how the Oto nozzle produces a relatively small water spot it can easily disturb seed. I have been working on a very smooth and gentle path that also optimizes coverage. My house also has well water so the well pump and the pressure tank produce output that varies between 45 and 60 psi. I wanted my system to adjust for pressure changes to achieve the most even and accurate overage of my zones. My smooth watering method rotates the nozzle more quickly then the original firmware that minimizes the impact by moving fast and making more passes.
I would like to solicit input from others
What features of your Oto sprinkler are the most important to you?
What features would you like the most in new firmware?
The new firmware will be free of the cloud. It will work with home assistant. It will continue to operate without internet or wifi connection. Obviously, if it can't talk to home assistant it won't be able to get rain or wind delay or schedule updates. Perhaps I'll make continue without wifi (home assistant connection) an option. The original Oto firmware will stop in the middle of a watering if the wifi or internet connection goes down. That really annoyed me as some of my Oto as a bit far away from my AP.
My current firmware for the Oto creates heatmaps after a watering to observe coverage depth and uniformity, not withstanding wind of course. It's really quite neat and my testing with watering cups have shown it to be accurate. Physics is great.
Please give me feedback it will help me wrap this up.

This is really impressive. I think the smooth/gentle watering path, pressure compensation, and heatmap validation are probably the biggest differentiators versus just making the OtO cloud-free. That takes it from “local replacement firmware” to something that could actually water more accurately than stock.

For me, the most important first-release features would be:

  1. Reliable cloud-free operation

    • Local control without depending on OtO cloud
    • Does not stop mid-watering if Wi-Fi or internet drops
    • Configurable behavior if Home Assistant is unavailable: continue current run, continue local schedule, or fail-safe stop
  2. ESPHome/Home Assistant support

    • ESPHome endpoints would be huge because they also make it flexible for Node-RED, MQTT, and custom automation stacks.
    • HA integration is a major bonus, but clean local entities/services are the real foundation.
  3. Basic exposed controls/status

    • Start/stop watering
    • Select zone/program
    • Current watering state
    • Battery/charging status
    • Last run result
    • Error/failure state
    • Stop-all command
  4. Cycle-and-soak compatibility

    • Even if the full scheduler lives in Home Assistant/Node-RED later, it would be great if the firmware supports reliable short repeated passes.
    • Example: instead of 30 minutes straight, run 3x10-minute passes while other zones water during soak time.
  5. Gentle/new-seed watering mode

    • Your fast smooth multi-pass approach sounds perfect for new seed or overseeding where the original spray pattern may be too harsh.
  6. Heatmap/coverage visibility

    • If heatmap data can be viewed, exported, or exposed somehow, that would be extremely useful for tuning zones instead of guessing.
  7. Simple test/calibration mode

    • Run a zone briefly
    • Test nozzle movement
    • Confirm coverage after setup
    • Make seasonal setup/troubleshooting easier

I wouldn’t personally expect every advanced feature in the first release. Things like ET-based watering, Tempest/weather station averaging, soil moisture, per-zone water budgeting, pressure-aware seasonal adjustment, and advanced scheduling can all be layered on later through Home Assistant, Node-RED, or other automation tools.

The biggest thing I’d want from the firmware is a reliable local irrigation endpoint with good telemetry, safe offline behavior, and accurate watering mechanics. Once that foundation exists, a lot of the smarter logic can be built around it later.

Wow! Great input. Thanks for all the detail.

Schedules also need to live on the device for it to operate standalone. I envision having a HA card to manage a fleet of Oto's or just one.

Currently I have the system running its own web and terminal ui. Certainly not fully polished yet but fully functional. I haven't implemented spot watering or play mode yet but next steps are probably esphome / HA integration.

That makes sense. I agree that if the goal is true standalone operation, schedules need to live on the device, with Home Assistant acting more like the manager/orchestrator when it’s available.

The HA fleet card idea sounds like the right direction too. Even if someone only has one OtO, the same structure scales well if they add more later.

And just to clarify my earlier feature dump — I definitely don’t think all of that needs to be in the first release. I was more thinking out loud about what the platform could eventually support once the base is stable. A lot of those are nice-to-have features that could be layered in later.

For a base release, I’d personally care most about:

  • cloud-free/local operation
  • reliable on-device schedules
  • safe behavior if Wi-Fi/HA drops
  • basic web/terminal control
  • ESPHome/HA integration
  • simple status reporting
  • manual start/stop/test controls

Then things like spot watering, play mode, cycle-and-soak, weather-station averaging, soil moisture, ET-based watering, and advanced dashboards can all come later.

Your current path sounds right to me: get the local/standalone foundation solid first, then ESPHome/HA integration becomes the big unlock.

Things are coming along well migrating my Oto project to ESPHome and HA. It is nearly complete. An exciting new capability for the system is input pressure dynamic compensation. For me this has been important since I have a well water system where the water pressure cycles from 45 to 60 psi. The well pump charges a pressure tank where the pump turns on when the water pressure drops below 45 psi then shuts off when the pressure reaches 60 psi. This is normal for a well system. While smart sprinklers such as the Oto use pressure to accurately sweep water across a known distance, where they become inaccurate is when the input water pressure drops below what's needed to achieve a particular throw distance. My firmware now monitors current versus calibrated water pressure and can take advantage of the peaks in the water pressure to ensure full zone coverage. The evidence is in the results. I have the system provide heatmaps and scores and I've done measuring cup validation. I'm hoping others will find this useful and accurate.

How is progress? Very excited to see I can give these things some more capabilities and HA control is amazing. I found this thread looking for an API or Bluetooth SDK so I could make a computer vision kid chaser for my kids with either an iPhone app (Bluetooth) or via raspberry pi if the API was responsive enough to play this summer. Would love to see what you have written!

Funny that you mention the vision kid chaser. I probably won't have a vision kid chaser example at release but I did just try at the Oto play mode and the kids loved it. Now I'm testing my own chase mode. Fun stuff. Lots of things very complete. Still have some HA schedule examples to do. Still need to do multi device on the dashboard. I need to create some instructions for folks on how to open the bottom of the Oto unit so they can get to the UART cable, backup their original image, do first time install of the new firmware. After that its all OTA.

Really looking forward to this. I have 3 but if they ever go out of business, I dont wanna stop using them.

Im really confused as to why so many people are excitedly listing what features they'd like this new sprinkler controller to have and then the OP is talking about making a brand new one from scratch and im honestly baffled here because.........

All of these features are included in the default

Esphome Sprinkler integration.

So are all of these....

All of these are included by default except a battery monitoring configuration but, that is covered by itself already in the official Esphome documentation and one would just need to add it into their config and set it up which is very easy.

Same story for this wish list too. Its already all built-in and called Set Divider

I worked in landscaping/hardscaping for 15 years and installed 100's or brand new lawns and hundreds of overseeding jobs and im quite sure that this isnt even a thing that people do or is offered by the professionals responsible for installing the turf/seed. If for some reason there was a problematic head/zone thats making a mess and blasting holes or causing damage then the right thing to do is replace or readjust that head/zone and also, most systems arent even capable of adjusting a zones pressure like that for a "gentle mode"

This isnt a default functionality but, you can very easily import sensor data from elsewhere like in HA, MQTT, etc. You can easily create whatever entities/sensors you'd like such as rainfall sensors, sensors that track and calculate previous day/s rainfall totals and forecasted totals and then use that data to more accurately determine if and how much irrigation is needed based on say, last 48hr rainfall + today's forecasted rainfall with the fact that today was gloomy/overcast all day which would significantly make a difference in choosing to run a normal cycle or a much reduced cycle. Hopefully that made sense...

This also is not an included by default functionality but, just like the avove scenario and example i gave, it could very easily be something that could be manually added.

Heres someone else's completely DIY built sprinkler where they used the Esphome Sprinkler Integration thats already included by default.

You can also find tons of historical examples from many other people over the years and you can find lots of cool systems, designs, ideas, etc and the best part about this is no one has to reinvent the wheel and build another one from scratch when one already exists!