Gardena Scheduler — watering schedules for a GARDENA smart system, as an add-on

I have a GARDENA smart irrigation system, and kept running into the same wall: the Gardena app can schedule watering, but the Gardena API cannot. It has no schedule endpoints at all — it reports device state and accepts commands, and that is the whole surface. So my valves were either scheduled inside an app I could not automate, or not scheduled at all.

Gardena Scheduler stores the schedules itself and opens each valve at the right moment: GitHub - frontendphil/gardena-schedule: Home Assistant add-on: watering schedules for GARDENA smart irrigation · GitHub

Schedules are written the way you think about watering

Start at 06:30, then run these sprinklers for these durations. That ordered list is the only thing stored — every clock time on the page is derived from it, and re-derived as you drag a row or change a number. Move the start time ten minutes later and the whole run moves with it.

  • Sprinklers can run together. Mark one to start with the previous and the group lasts as long as its longest member. A controller can hold at most two of its own valves open at once, so the editor refuses a third and names the two that clash rather than letting you find out at 06:00.
  • Weekdays, or every N days from an anchor date — a two-day cycle cannot be expressed as a weekday set, which is why both modes exist.
  • Skip watering when the soil is already wet, if you have a GARDENA smart Sensor. Targets can be set per sprinkler, per schedule or globally, and the most specific one wins, so a shaded bed can stay wetter than the lawn. It is re-checked before every sprinkler, so a long run reacts to the soil as it goes.
  • A stale reading waters anyway. Past an age you choose, a reading counts as unknown rather than as gospel. Watering an already-wet garden wastes one cycle; trusting a sensor that has quietly stopped reporting skips watering indefinitely while every run still looks healthy.
  • Run now, per schedule — for a dry spell, or to check the plumbing after moving a sprinkler.
  • One switch stops everything and closes whatever is open at that moment.
  • A run history that says why: what watered, what was skipped, and what the soil read at the time.

Only one schedule runs at a time, so everything due today is plotted on one clock and two schedules that overlap are flagged there — the second would be skipped for the day rather than queued behind the first.

Two things worth knowing before you install

  • Delete your schedules in the Gardena app. Two schedulers opening the same valves is exactly as bad as it sounds, and the moisture check cannot stop the other one.
  • Home Assistant has to stay running. A stopped add-on is a schedule that silently does not water. A valve’s duration is enforced by the device itself, though, so a valve still closes on its own if the add-on dies mid-run.

Installing

Add https://github.com/frontendphil/gardena-schedule under Settings → Add-ons → Add-on Store → ⋮ → Repositories, then install Gardena Scheduler. It pulls a prebuilt image for aarch64 and amd64, so installing on a Raspberry-Pi-class box is a download rather than a ten-minute build.

You will need an application key and secret from the Husqvarna developer portal with the GARDENA smart system API connected to your application. The add-on runs behind Ingress, so Home Assistant does the authenticating and no port is published.

About that API budget

Gardena allows roughly 3000 requests a month, which sounds generous until you notice a single page load could cost one. The add-on holds a WebSocket per location and serves every page from memory, so browsing costs nothing at all — the budget goes on socket reconnects, token refreshes, and one request per valve per run. Settings shows the running count.

The interface is English and German. It has been watering my garden all season; issues and ideas are welcome on GitHub.

This path has been changed since HA dropped the term Add-on. I would suggest updating this here and in your Git Repo to prevent any confusion to new users.
image

Add-ons have been Apps for over a year now. Scrubbing all this documentation and testing everything (like installation docs) would be helpful rather than copying blindly what an outdated reference source tells you.