Skip to main content

Yardian smart home integration, free and open source

Yardian integration for Gladys Assistant

Yardian sprinkler controllers, locally: zones, watering, rain delay, start and stop.

Unofficial Gladys Assistant integration for the Yardian smart sprinkler controllers (Yardian, Yardian Pro, Yardian Pro C1), over their local HTTP API: no Yardian cloud, no account. Not affiliated with Aeon Matrix or Yardian.

Never tested with a real device: it was built from the library of the manufacturer (pyyardian 1.4.2, the one of the Home Assistant integration). Please report what works and what does not.

What you get​

  • The controller: watering now (yes/no), the zones watering now, the rain delay left (minutes), the standby, and a Stop all watering button.
  • Each enabled zone: watering now (yes/no), a Start watering button and a Stop watering button.

Watering is never a switch: a "turn everything on/off" from a voice assistant, HomeKit or a scene on switches can never open a valve.

Setup​

  1. Give the controller a fixed IP address in your router.
  2. Find its access token in the Yardian app (settings of the controller).
  3. In Gladys, open the integration, type the address and the token, save.
  4. Add the controller and its zones from the Discovery tab.

The token is kept by Gladys in its database, never shown again, and sent only to your controller, in clear on your local network (the controller has no https).

Starting and stopping​

  • Starting a zone opens a valve: it is off by default. Turn on Allow starting the zones to use the Start buttons. Without it, the dashboard, the scenes and the voice assistants can only read and stop.
  • Before each start, Gladys reads the controller: another controller at the address, or zones watering it cannot read: refused; the zone already watering: nothing sent. The zone waters for the configured length (10 minutes by default, 60 minutes at most); the controller closes the valve by itself at the end.
  • After a start, another start on the same controller is refused at once ("try again in a minute") until the zone is read watering, or for 60 s.
  • Stopping is never held by the option, a pause asked by the controller, a refused token or a recent start. It is refused, without sending anything, only when: another controller answers at the address; the controller is no longer at its address; no access token is set; on the C1 models, the waterings running cannot be read (then Gladys watches for a minute and sends the stop as soon as a read shows them). On a C1 with more than 32 waterings running, or some unreadable, the readable ones (32 at most) are stopped.
  • A stop cancels the starts not sent yet. A start already sent before the stop is watched too, for a minute after its answer (reads at 5, 15, 30 and 55 s): if it is applied after the stop within that minute, the stop is sent again. If the zones are still read watering after a stop, it is sent again (3 times at most, within a minute), unless a start the controller took was sent after it.
  • On the Yardian and Yardian Pro without the C1 suffix, the controller only stops every zone at once: the Stop button of a zone stops them all.
  • A command leaves within 3.5 s or is refused unsent. "Sent, without confirmation" means the controller may have taken it but it was not read back yet: check the zone a few seconds later.

Refresh​

The controller is read every 30 s by default (10 to 600 s), never sooner: not after a restart, a reconnection, a scan or the Check button. If it asks to wait (HTTP 429 or 5xx), reads pause for 1 minute to 6 hours. If it refuses the token, reads stop until you save another token or the Check the controller button succeeds (it tries once, never sooner than the interval).

Limits​

  • One controller per integration.
  • The YC models (C1 suffix) and the rain delay and standby fields were not seen on a real answer: see TODO.md in the repository.
  • A watering started by a schedule of the controller: nothing says the stop of the Yardian API stops it (unknown). If it does not, you see "sent, without confirmation", then 3 resends: stop it from the Yardian app.
  • No schedules, no scene actions or widget yet.

Configuration settings​

These are the settings Yardian asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your Yardian controller, on your local networksectionNoThe zones of a Yardian smart sprinkler controller (Yardian, Yardian Pro), the zones watering now, the rain delay and the standby, through its local HTTP API, without the Yardian cloud. Give the controller a fixed IP address in your router, type it below with its access token, then add the controller and its zones from the Discovery tab. Never tested with a real device. Unofficial integration, not affiliated with Aeon Matrix or Yardian.
IP address of the controllerstringNoFor example 192.168.1.60 (the controller answers on its ports 880 and 80).
Access tokensecretNoThe access token of the controller, shown by the Yardian app in the settings of the controller. Kept by Gladys in its database, never shown again, sent only to your Yardian controller (in clear on your local network: it has no https).
Refresh interval (s)numberNoHow often the controller is read, in seconds. Never sooner, even after a restart.
Starting and stopping the zonessectionNoEach zone has a Start and a Stop button, never a switch; the controller has "Stop all watering". Starting opens a valve: refused until you allow it below, and decided on a read just before. A zone waters for the length below, 60 minutes at most. Stopping needs no permission and is never held by a pause, a refused token or a recent start; it cancels the starts not sent yet. It is refused unsent only when another controller answers at the address, the controller is no longer at its address, no token is set, or (C1 models) the waterings running cannot be read: then Gladys sends it as soon as a read shows them, within a minute. Without the C1 suffix, the controller only stops every zone at once.
Allow starting the zonesbooleanNoOff by default: the zones are only read and stopped. On: the dashboard, the scenes and the voice assistants can start watering.
Watering length of a zone started from Gladys (min)numberNoFrom 1 to 60 minutes. The controller closes the valve by itself at the end.
Language of the feature namesselectNoUsed for the names of the features added from now on, and for the command errors.

How to install Yardian in Gladys​

  1. In Gladys, open Integrations: Yardian appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/lm1lc3n7/gladys-yardian:0.1.2), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-yardian.

Yardian requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

Yardian is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂