Skip to content

Repository files navigation

Gardena Smart System for Home Assistant

HACS Custom GitHub Release Home Assistant License Quality Scale mypy Test Coverage

A Home Assistant custom integration for Husqvarna smart garden devices — supporting both the Gardena Smart System API and the Automower Connect API through a single integration. Real-time WebSocket push with automatic polling fallback.

📖 Full documentation lives in the Wiki — available in English and German / Vollständige Dokumentation im Wiki — auf Englisch und Deutsch.

⚠️ Breaking change in v2.0.0 — the integration domain was renamed gardena_smart_systemgardena_smart_system_ng (required for HACS default-catalog inclusion; the old domain is taken by another integration). There is no automatic migration: delete the old entry, update to 2.0.0, delete the orphaned custom_components/gardena_smart_system/ folder, restart, and re-add the integration with the same credentials. Full steps in the CHANGELOG.

⚠️ Breaking Change in v2.0.0 — die Integrations-Domain wurde umbenannt von gardena_smart_system zu gardena_smart_system_ng (erforderlich für die Aufnahme in den HACS-Default-Katalog; die alte Domain ist von einer anderen Integration belegt). Es gibt keine automatische Migration: alten Eintrag löschen, auf 2.0.0 aktualisieren, den verwaisten Ordner custom_components/gardena_smart_system/ löschen, neu starten und die Integration mit denselben Zugangsdaten neu hinzufügen. Vollständige Schritte im CHANGELOG.


English

Quickstart

  1. Get Husqvarna API credentials. Go to the Husqvarna Developer Portal, create an Application (redirect URI https://localhost), and enable the Gardena Smart System API and/or Automower Connect API. Note the Application Key and Application Secret.
  2. Install via HACS. Open HACS → Integrations → search for Gardena Smart System → Download → restart Home Assistant. (If not listed: add https://github.com/kayloehmann/ha-gardena-smart-system as a custom repository, category Integration.)
  3. Add the integration. Go to Settings → Devices & Services → Add Integration → search Gardena Smart System → enter your Application Key and Secret → choose the API (Gardena or Automower).

To use both APIs, add the integration twice with the same credentials.

Documentation

Topic Link
Installation Wiki / Installation
Configuration Wiki / Configuration
Supported Devices Wiki / Supported Devices
Entities & Services Wiki / Entities and Services
API Rate Limits Wiki / API Rate Limits
MQTT Bridge Wiki / MQTT Bridge
Automation Examples Wiki / Automation Examples
Limitations Wiki / Limitations
Troubleshooting Wiki / Troubleshooting
Contributing Wiki / Contributing

Local access (preview)

Talk to the GARDENA smart Gateway directly over your LAN, alongside the cloud. When enabled and reachable, local state takes precedence over the cloud and commands are sent locally first (the cloud stays as the fallback) — lower latency, and monitoring/control keep working during a cloud or internet outage. Built on the official gardena-smart-local-api (GARDENA GmbH).

One-time gateway setup (required). The gateway's local WebSocket service is off by default and can only be enabled via shell on the gateway itself — the integration cannot do it. After enabling SSH on the gateway:

touch /etc/enable-websocketd   # survives reboots and firmware updates
systemctl restart firewall     # opens 8443/TCP — easy to forget!
systemctl start websocketd

Integration setup. Settings → Devices & Services → Gardena → Configure, then set Enable local gateway access, the host/IP (e.g. 10.0.0.5 or GARDENA-xxxxxx.local), the password (the first 8 characters of the gateway's device id, printed on the underside), and the port (default 8443).

Two entities surface the behaviour: a Local gateway connected binary sensor and a per-device Last command via (local/cloud) diagnostic sensor.

Notes: the gateway uses a self-signed certificate (verification is disabled for it) and sends no initial state snapshot, so the cloud still provides the initial device state after a restart. If Home Assistant sits on a different VLAN than the gateway, allow it to reach the gateway on TCP 8443.


Deutsch

Schnellstart

  1. Husqvarna-API-Zugangsdaten anlegen. Auf das Husqvarna Developer Portal gehen, eine Application erstellen (Redirect-URI https://localhost) und die Gardena Smart System API und/oder die Automower Connect API aktivieren. Application Key und Application Secret notieren.
  2. Über HACS installieren. HACS → Integrationen → nach Gardena Smart System suchen → Herunterladen → Home Assistant neu starten. (Nicht gelistet? https://github.com/kayloehmann/ha-gardena-smart-system als Custom Repository der Kategorie Integration hinzufügen.)
  3. Integration hinzufügen. Einstellungen → Geräte & Dienste → Integration hinzufügenGardena Smart System suchen → Application Key und Secret eingeben → API auswählen (Gardena oder Automower).

Um beide APIs zu nutzen, die Integration zweimal mit denselben Zugangsdaten hinzufügen.

Dokumentation

Thema Link
Installation Wiki / Installation
Konfiguration Wiki / Konfiguration
Unterstützte Geräte Wiki / Unterstützte Geräte
Entities & Services Wiki / Entities und Services
API-Rate-Limits Wiki / API-Rate-Limits
MQTT-Bridge Wiki / MQTT-Bridge
Automatisierungsbeispiele Wiki / Automatisierungsbeispiele
Einschränkungen Wiki / Einschränkungen
Fehlerbehebung Wiki / Fehlerbehebung
Mitwirken Wiki / Mitwirken

Lokaler Zugriff (Vorschau)

Direkt mit dem GARDENA smart Gateway über das LAN kommunizieren, parallel zur Cloud. Wenn aktiviert und erreichbar, hat der lokale Zustand Vorrang vor der Cloud und Befehle gehen zuerst lokal raus (die Cloud bleibt Fallback) — geringere Latenz, und Überwachung/Steuerung funktionieren auch bei Cloud- oder Internet-Ausfall weiter. Basiert auf der offiziellen gardena-smart-local-api (GARDENA GmbH).

Einmalige Gateway-Einrichtung (erforderlich). Der lokale WebSocket-Dienst des Gateways ist standardmäßig aus und lässt sich nur per Shell am Gateway selbst aktivieren — die Integration kann das nicht. Nach dem Aktivieren von SSH am Gateway:

touch /etc/enable-websocketd   # übersteht Reboots und Firmware-Updates
systemctl restart firewall     # gibt 8443/TCP frei — leicht zu vergessen!
systemctl start websocketd

Einrichtung in der Integration. Einstellungen → Geräte & Dienste → Gardena → Konfigurieren, dann Lokalen Gateway-Zugriff aktivieren, Host/IP (z. B. 10.0.0.5 oder GARDENA-xxxxxx.local), Passwort (die ersten 8 Zeichen der Geräte-ID vom Aufkleber) und Port (Standard 8443) setzen.

Zwei Entitäten machen das sichtbar: ein Binary-Sensor Lokales Gateway verbunden und ein Diagnose-Sensor Letzter Befehl über (local/cloud) je Gerät.

Hinweise: Das Gateway nutzt ein selbstsigniertes Zertifikat (Verifikation dafür deaktiviert) und sendet keinen initialen Zustands-Snapshot — der Anfangszustand kommt nach einem Neustart weiter aus der Cloud. Liegt Home Assistant in einem anderen VLAN als das Gateway, muss der Zugriff auf TCP 8443 freigegeben werden.


License

This project is licensed under the MIT License. See LICENSE for details.

About

Gardena Smart System integration for Home Assistant (HACS custom component)

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages