OpenSprinklerPro-Erweiterung

OpenSprinklerPro bezeichnet den erweiterten Funktionsumfang für OpenSprinkler-Installationen mit modernen Funkintegrationen, umfangreicher Sensorik, Online-Updates, KI/MCP-Zugriff und erweiterten Benachrichtigungen. Die Basisfunktionen bleiben unverändert: Zonen, Programme, Wetteranpassung, Protokolle, Fernzugriff und Web-/App-Bedienung.

Die OpenSprinklerShop-Firmware inklusive OpenSprinklerPro verwendet eine eigene Firmware-Versionsnummerierung unabhängig von der Upstream-OpenSprinkler-Firmware. Die aktuelle OpenSprinklerShop-Firmware-Version ist 2.4.0(199).

Diese Seite ist eigenständig lesbar und verweist nur dort auf Detailseiten, wo zusätzliche Referenzdaten hilfreich sind.

Überblick

OpenSprinklerPro umfasst insbesondere:

  • Online-OTA-Updates mit Manifestprüfung, Update-Status und Backup-/Update-Endpunkten.
  • ESP32-C5-Funkfunktionen: Zigbee-Gateway/-Client und IEEE-802.15.4-Modusumschaltung.
  • BLE-Sensoren auf unterstützten ESP32-Builds und OSPi-Systemen mit Bluetooth.
  • FYTA-Cloud-Pflanzensensoren für Bodenfeuchte und Temperatur.
  • Matter und ESP RainMaker für Smart-Home- und Cloud-/App-Integration auf ESP32.
  • MCP-Zugriff für KI-Assistenten, direkt in der Firmware oder über den externen Node.js-Server.
  • Benachrichtigungsereignisse für MQTT, E-Mail, IFTTT und Monitoring.

Plattform-Verfügbarkeit

OpenSprinklerPro ist nicht auf jeder Plattform identisch verfügbar. Entscheidend sind Hardware und Build-Flags.

Funktion ESP32-C5 Zigbee ESP32-C5 Matter ESP32 / non-C5 ESP8266 OSPi
Kernfunktionen, Programme, Web-UI, Logs
Online-OTA über Web-UI
Update per Skript/Git
HTTPS / ACME-Zertifikate abhängig vom ESP32-Build
Zigbee / IEEE 802.15.4
BLE-Sensoren build-flag-abhängig ✅ über Linux-Bluetooth
Matter-Endpunkt build-flag-abhängig
ESP RainMaker ESP32-abhängig
FYTA-Sensoren ✅ HTTPS ✅ HTTPS ✅ HTTPS ✅ nur HTTP ✅ HTTPS
Eingebautes Firmware-MCP /mcp ✅ ESP32 + USE_OTF ✅ ESP32 + USE_OTF ✅ ESP32 + USE_OTF
Externer Node.js-MCP-Server

Hinweise:

  • ESP32-C5-Zigbee und ESP32-C5-Matter sind getrennte Firmware-Varianten. Zigbee und Matter können auf demselben ESP32-C5-Funkmodul nicht gleichzeitig aktiv sein.
  • Zigbee-Endpunkte benötigen ESP32-C5 und OS_ENABLE_ZIGBEE.
  • BLE-Endpunkte benötigen ESP32 und OS_ENABLE_BLE; ESP8266 unterstützt kein BLE.
  • OSPi besitzt die allgemeinen REST-, Sensor-, FYTA- und Monitor-Endpunkte, aber keine ESP32-Funkstack-Endpunkte.

Siehe auch: API- und Plattform-Ergänzung, CHANGELOG.

UI-Funktionsnamen und mobile Screenshots

Die OpenSprinklerPro-Erweiterungen werden in der normalen Web-/App-Oberfläche bedient. Die REST-Endpunkte sind vor allem für Automatisierung, Diagnose und Integrationen gedacht; der anwenderseitige Ablauf beginnt in diesen UI-Funktionen.

Erweiterung UI-Funktion / Menüpfad Screenshot
Online-Firmware-Update Seitenmenü → Online-Update Online-Update
ESP32-C5-Funkmodus / Matter-Variante Seitenmenü → ESP32-Modus einrichten ESP32-Modus einrichten
Zigbee-Gateway Seitenmenü → ZigBee-Gateway ZigBee-Gateway
ESP RainMaker Seitenmenü → RainMaker RainMaker
MQTT, E-Mail, IFTTT und Benachrichtigungsereignisse Fußmenü → Optionen bearbeitenEinbindung Einbindung
Sensor-Konfiguration, FYTA und Monitore Fußmenü → Analog Sensor Konfiguration Analog Sensor Konfiguration
Sensor hinzufügen oder bearbeiten Fußmenü → Analog Sensor KonfigurationSensor hinzufügen Neuer Sensor
Programm-Anpassungen Fußmenü → Analog Sensor KonfigurationProgramm-Anpassungen Programm-Anpassungen
Programm-Anpassung hinzufügen Fußmenü → Analog Sensor KonfigurationProgramm-AnpassungenProgrammanpassung hinzufügen Neue Programm-Anpassung
Lokale Monitor-Regeln Fußmenü → Analog Sensor KonfigurationÜberwachung und Kontrolle Überwachung und Kontrolle
Monitor hinzufügen Fußmenü → Analog Sensor KonfigurationÜberwachung und KontrolleMonitor hinzufügen Neuer Monitor
Sensor-Diagramm Fußmenü → Analog Sensor KonfigurationSensor Diagramm Sensor Diagramm
FYTA-Einrichtung Fußmenü → Analog Sensor KonfigurationFYTA Einrichtung FYTA Einrichtung
FYTA-Zugangsdaten Fußmenü → Analog Sensor KonfigurationFYTA EinrichtungFYTA-Zugangsdaten einrichten FYTA-Zugangsdaten
Sensor-Datensicherung Fußmenü → Analog Sensor KonfigurationDatensicherung Datensicherung
Systemdiagnose Seitenmenü → System-Diagnose System-Diagnose

Online-OTA-Update

Die Pro-Firmware ergänzt eine Online-Update-Verwaltung in online_update.cpp / online_update.h. Der Controller kann ein Update-Manifest prüfen, verfügbare Firmware-Versionen erkennen, ein Update starten und Update- oder Backup-Status per API bereitstellen.

UI-Funktion: Seitenmenü öffnen und Online-Update wählen. Das ist der empfohlene Ablauf für Anwender, weil Versionsprüfung, Backup, Firmware-Auswahl, Fortschritt und Wiederherstellung nach dem Neustart in einem Dialog zusammengeführt werden.

Online-Update

Plattformhinweise:

  • ESP32-C5 / ESP32 und ESP8266: OTA-Update über Weboberfläche und manuellen Firmware-Upload.
  • ESP32-C5: Dual-OTA-Partitionen unterstützen rollback-orientierte Update-Layouts.
  • OSPi: Update über Shell/Git/Build-Skripte, nicht über den Firmware-Web-OTA-Dialog.
  • Online-Updates benötigen Internetzugang und ein erreichbares Update-Manifest.

Vor einem Update sollte die Konfiguration über das Seitenmenü exportiert werden. Auf ESP32- und ESP8266-Builds stellt die Firmware zusätzlich /ub für ein vollständiges Konfigurations-Backup bereit; /sx ist dagegen nur für Sensor-Konfigurationen gedacht.

Der UI-Ablauf prüft verfügbare Updates, erstellt ein Backup, lädt die passende Firmware-Variante, flasht sie, zeigt den Fortschritt und kann nach dem Neustart die Konfiguration wiederherstellen. Erweiterte Update-Aufrufe können Firmware-URLs und SHA-256-Werte überschreiben (zu, mu, fu, zs, ms) und mit vt die Variante zigbee oder matter wählen. Das ist für Neuinstallation, Downgrade oder Recovery gedacht. OSPi unterstützt diese Firmware-OTA-Endpunkte nicht und wird über Linux/Git/Build-Skripte aktualisiert.

API-Hinweis für Automatisierung und Recovery: /uc prüft Updates, /uu startet ein Update, /us liefert den Update-Status und /ub erstellt ein vollständiges Konfigurations-Backup.

ESP32-Modus und Funkverwaltung

Auf ESP32-C5-Builds bietet die Weboberfläche eine Modus-Seite für Matter, Zigbee-Gateway und Zigbee-Client. Ein Moduswechsel ändert die IEEE-802.15.4-Konfiguration und benötigt einen Neustart.

UI-Funktion: Seitenmenü öffnen und ESP32-Modus einrichten wählen. Modus anwenden nur verwenden, wenn die aktive Firmware-/Funkrolle bewusst gewechselt werden soll.

ESP32-Modus einrichten

  • Zigbee Gateway verwaltet lokale Zigbee-Geräte direkt am Controller.
  • Zigbee Client verbindet OpenSprinkler mit einem vorhandenen Zigbee-Koordinator.
  • Matter ist nur in der Matter-Firmwarevariante sinnvoll; Matter und Zigbee können nicht gleichzeitig auf demselben ESP32-C5-Funkmodul laufen.
  • Für Zigbee-lastige Installationen ist Ethernet empfehlenswert.

API-Hinweis für Integrationen: /ir liest den Funkmodus, /iw setzt ihn, /zj startet den Client-Join, /zg verwaltet Gateway-Daten und /zs liefert den Zigbee-Status.

Zigbee-Gateway und Zigbee-Client

Zigbee ist eine Funktion der ESP32-C5-Zigbee-Firmware. Sie ist nicht in ESP32-C5-Matter-Builds, nicht auf ESP8266 und nicht auf OSPi verfügbar.

OpenSprinklerPro unterstützt zwei Zigbee-Rollen:

Gateway-Modus

Im Gateway-Modus verwaltet der ESP32-C5 lokale Zigbee-Geräte:

  • Gerätebeitritt erlauben,
  • Geräte auflisten, abfragen und entfernen,
  • Hersteller- und Modellinformationen übernehmen, soweit verfügbar,
  • Tuya-Datenpunkte verarbeiten und möglichst auf Standardattribute abbilden.

UI-Funktion: Seitenmenü öffnen und ZigBee-Gateway wählen. Die Seite zeigt gekoppelte Geräte und enthält die Anwenderaktion zum Erlauben neuer Zigbee-Beitritte.

ZigBee-Gateway

API-Hinweis für Automatisierung und Diagnose:

  • /ir und /iw für IEEE-802.15.4-Funkkonfiguration und Moduswechsel,
  • /zg, /zd, /zo, /zc für Gateway-Geräteverwaltung,
  • /zs für den Zigbee-Status.

Client-Modus

Im Client-Modus tritt OpenSprinkler einem externen Zigbee-Koordinator bei und meldet lokale Datenpunkte wie Sensoren, Zonen, Programme und Regensensorstatus. ZCL-Endpunkte decken Temperatur, Feuchte, Durchfluss, Analogsensoren, Zonen, Programme und Regensensoren ab.

Für Zigbee-lastige Installationen ist Ethernet empfehlenswert. Laut lokaler Dokumentation teilen sich Wi-Fi und Zigbee beim ESP32-C5 das 2,4-GHz-Band; während BLE-Scans wird die Zigbee-Priorität reduziert, um Störungen zu verringern.

BLE-Sensoren

BLE-Scanning und BLE-Sensorlisten sind auf ESP32-Builds mit aktiviertem BLE verfügbar, einschließlich der ESP32-C5-Pro-Varianten. OSPi kann den Bluetooth-Stack des Raspberry Pi nutzen; ESP8266 unterstützt BLE nicht.

BLE-Funktionen:

  • Geräteliste und Scansteuerung (/bd, /bs, /bc bei ESP32 + OS_ENABLE_BLE),
  • Geräteinformationen wie Hersteller und Modell, sofern vom Sensor bereitgestellt,
  • threadsicherer Zugriff auf erkannte BLE-Geräte,
  • Koexistenzsteuerung mit Zigbee auf ESP32-C5.

Während ESP-RainMaker-BLE-Claiming wird die BLE-Sensorinitialisierung bewusst zurückgestellt, bis die Provisionierung abgeschlossen ist.

FYTA-Sensoren

FYTA-Pflanzensensoren integrieren Bodenfeuchte und Temperatur über die FYTA-Cloud. Die Werte werden nicht direkt vom Sensor gelesen, sondern über die FYTA Cloud API abgefragt.

Plattform-Verfügbarkeit:

  • ESP32 / ESP32-C5: unterstützt per HTTPS.
  • ESP8266: unterstützt per HTTP, wegen TLS-Einschränkungen der Plattform.
  • OSPi: unterstützt per HTTPS.

Typischer Ablauf:

  1. FYTA-API-Token auf web.fyta.de erzeugen oder kopieren.
  2. In der OpenSprinkler-Weboberfläche Einstellungen → Sensor-Einstellungen → FYTA Setup öffnen und Token oder Login-Daten speichern.
  3. Neuen Sensor als FYTA Moisture oder FYTA Temperature anlegen.
  4. FYTA-Pflanze mit zugeordnetem Sensor auswählen.
  5. Messwert in Programmanpassungen oder Monitoren verwenden.

Empfohlenes Abfrageintervall: 15–60 Minuten, um die FYTA-API nicht unnötig zu belasten. Details: FYTA-Sensoren.

Matter und ESP RainMaker

Matter

Matter ist nur auf ESP32-Builds mit ENABLE_MATTER verfügbar; im Pro-Release-Set ist dies die ESP32-C5-Matter-Variante. Der JSON-Endpunkt /jm liefert Commissioning-Status, QR-Code-URL und manuellen Pairing-Code. Matter ist nicht auf ESP8266 oder OSPi verfügbar.

UI-Funktion: In der Matter-Firmwarevariante im Seitenmenü Matter einrichten öffnen. In der Zigbee-Firmwarevariante zeigt die UI stattdessen ESP32-Modus einrichten, wo die Matter-Variante für den Neustart ausgewählt werden kann.

Zum Koppeln mit Apple Home, Google Home, Alexa oder einem anderen Matter-Controller öffnen Sie in der UI das Matter-Commissioning-Fenster. Bei fehlgeschlagenem Pairing das Fenster erneut öffnen und Netzwerk-Erreichbarkeit prüfen.

API-Hinweis für Integrationen: /jm liefert Commissioning-Status, QR-Code-URL und manuellen Pairing-Code; /mm öffnet das Commissioning-Fenster und akzeptiert optional t als Timeout in Sekunden (Standard 300, Maximum 900).

ESP RainMaker

ESP RainMaker ist auf ESP32 / ESP32-C5 verfügbar, nicht auf ESP8266 oder OSPi.

UI-Funktion: Seitenmenü öffnen und RainMaker wählen. Die Seite zeigt Provisioning-Status, PoP-PIN, Node-/Kontostatus und die sichere Aktion zum Aktualisieren des Status.

RainMaker

RainMaker-Provisionierung unterstützt:

  • BLE Claiming bei Ersteinrichtung ohne TLS-Zertifikate,
  • On-Network-Provisionierung, wenn Zertifikate vorhanden sind und der Controller einem Benutzerkonto zugeordnet werden soll,
  • Ethernet als Netzwerkverbindung, während BLE nur für Claiming genutzt wird,
  • Statusanzeige inklusive Provisioning-Status, BLE Claiming, Local Control und PoP-PIN.

Während BLE Claiming warten BLE-Sensoren, bis RainMaker die BLE-Ressourcen freigibt. Die Statusseite zeigt außerdem Node-ID, MQTT-Verbindung, User Mapping, Local-Control-Status, Zertifikat/Key, zurückgestellte Sensoren, Ethernet-Nutzung und Provisioning-Daten. Siehe RainMaker Provisioning.

API-Hinweis für Servicefälle: /rk liefert RainMaker-Status. Wartungsaktionen sind getrennt: reset_mapping=1 entfernt die Benutzerzuordnung, factory_reset=1 führt einen vollständigen RainMaker-Reset mit Neustart aus. /ru trennt die Konto-Verknüpfung und löst ebenfalls Reset/Neustart aus.

HTTPS-Zertifikate und ACME

ESP32-Builds mit HTTPS-Unterstützung können das interne Zertifikat, ein eigenes PEM-Zertifikat/Key oder ACME/Let's Encrypt verwenden. Die UI zeigt Zertifikatstyp, Subject, Issuer und Gültigkeit.

  • /tg liefert Zertifikatsinformationen.
  • /tl lädt eigenes PEM-Zertifikat und Key hoch; danach Neustart.
  • /ta liest ACME-Konfiguration und Status.
  • /tc speichert ACME-Konfiguration und kann sofort ein Zertifikat anfordern.
  • /tx löscht ACME-Daten und kehrt zum internen Zertifikat zurück.

ACME nur verwenden, wenn der Controller über eine gültige Domain erreichbar ist und die Challenge aus dem Internet funktionieren kann.

MCP-Server und KI-Integration

OpenSprinklerPro unterscheidet zwei MCP-Varianten.

Eingebauter Firmware-MCP-Endpunkt /mcp

Der eingebaute MCP-Server läuft direkt in ESP32-Firmware-Builds mit aktiviertem USE_OTF:

POST http://<controller-ip>/mcp
Content-Type: application/json

Er nutzt MCP Streamable-HTTP mit JSON-RPC 2.0 und akzeptiert denselben MD5-Passwort-Hash wie die REST-API: als ?pw=, Header X-OS-Password oder Bearer Token. Enthalten ist ein kompakter Satz von Kern-Tools, z. B. get_all, get_options, get_programs, get_station_status, manual_station_run, change_controller_variables und pause_queue.

Plattform: nur ESP32 / ESP32-C5 mit USE_OTF; nicht ESP8266 und nicht OSPi.

Externer Node.js-MCP-Server

Der externe Server unter tools/mcp-server/ läuft außerhalb der Firmware und stellt die REST-API per stdio als MCP-Tools bereit. Er funktioniert mit ESP8266-, ESP32- und OSPi-Controllern und bietet mehr als 40 Tools, einschließlich Sensoren, Monitoren, Zigbee, BLE und Systemressourcen, sofern die jeweiligen Endpunkte auf dem Zielcontroller vorhanden sind.

Siehe MCP-Server, KI-gestützte Programmerstellung, Sensor-Automation und Firmware-MCP-API.

Benachrichtigungsereignisse

OpenSprinklerPro kann ausgewählte Ereignisse über MQTT, E-Mail und IFTTT versenden; InfluxDB kann Messdaten aufnehmen. Die Konfiguration erfolgt unter Optionen → Integrationen → Benachrichtigungsereignisse.

UI-Funktion: Fußmenü öffnen, Optionen bearbeiten wählen, Einbindung aufklappen und unter dem gewünschten Kanal Ereignisse konfigurieren öffnen.

Einbindung

Die lokale Dokumentation nennt 17 Ereignisse, darunter:

  • Programmstart,
  • Stationsstart und Stationsende,
  • Regenverzögerung aktualisiert,
  • Sensor 1 / Sensor 2 aktualisiert,
  • Durchflusssensor aktualisiert,
  • Wetteranpassung aktualisiert,
  • Controller-Neustart,
  • Flow Alert, No-Flow Alert und Rohrbruchwarnung,
  • Unter-/Überstrom-Fehler,
  • monatlicher Wasserbericht,
  • Monitor-Warnungen niedrig, mittel und hoch.

Durchflussbezogene Ereignisse benötigen einen korrekt eingerichteten Durchflusssensor an SN1. Nicht alle Ereignisse auf allen Kanälen gleichzeitig aktivieren: zu viele Benachrichtigungen können Antworten verzögern und sehr kurze Bewässerungszyklen beeinträchtigen.

Siehe Benachrichtigungs-Ereignisse und Benachrichtigungsereignisse.

Monitore und lokale Warnungen

Die ausführliche UI-Dokumentation für Sensordefinitionen, Programm-Anpassungen, Monitore, Diagramme, FYTA und Datensicherung steht unter Analog Sensor Konfiguration. Das zugehörige Automationsmodell ist unter Sensor-Automation und Monitore beschrieben.

Die aktuelle UI enthält Monitor-Verwaltung für Sensorwerte und lokale Warnprüfungen. Monitore überwachen konfigurierte Sensorwerte und erzeugen Warnungen mit niedriger, mittlerer oder hoher Priorität, wenn Schwellwerte überschritten werden. Monitor-Warnungen können auch als Benachrichtigungsereignisse verwendet werden.

UI-Funktion: Fußmenü öffnen und Analog Sensor Konfiguration wählen. Die Seite ist die zentrale Stelle für Sensorwerte, Sensordefinitionen, Programm-Anpassungen, Monitor-Regeln, Diagramme, FYTA-Zugangsdaten und sensorbezogene Sicherung/Wiederherstellung.

Analog Sensor Konfiguration

Mit Sensor hinzufügen wird ein neuer Sensoreintrag erstellt. Der Editor enthält Sensortyp, Gruppe, Einheit/Format, Leseintervall, Aktiv-/Log-/Anzeigeoptionen und typspezifische Optionen für Modbus, Zigbee, BLE, MQTT, Remote oder FYTA.

Neuer Sensor

Programm-Anpassungen verknüpfen Sensorwerte mit Bewässerungsprogrammen. Eine Anpassung ordnet einen Sensor einem Programm zu und bildet den konfigurierten Sensorbereich auf minimale/maximale Bewässerungsfaktoren ab.

Programm-Anpassungen

Neue Programm-Anpassung

Im Sensor Diagramm werden protokollierte Sensordaten angezeigt; zusätzlich können Logs geladen oder als Tabelle geöffnet werden. Diagrammoptionen unterstützen Temperaturumrechnung und kombinierte Feuchte-/Temperaturansicht, soweit verfügbar.

Sensor Diagramm

Überwachung und Kontrolle

Neuer Monitor

FYTA Einrichtung

FYTA-Zugangsdaten

Über Datensicherung lassen sich Sensor-Konfiguration, Programm-Anpassungen und Monitore getrennt vom allgemeinen Controller-Backup exportieren oder wiederherstellen.

Datensicherung

Typischer Ablauf: Sensor konfigurieren, Monitor mit Quelle und Schwellwerten anlegen, Priorität setzen und Warnstatus über Glocke/Systemdiagnose prüfen.

API-Hinweis für Automatisierung: /mc stellt Monitor-Konfiguration bereit, /ml die Monitor-Liste und /mt die unterstützten Monitor-Typen.

Systemdiagnose und Wasserverbrauch

Die Sidebar-Funktion Systemdiagnose zeigt Firmware-/Hardwareversion, Neustartgrund, freien Speicher, Wetterstatus, OTC sowie Integrationsstatus für MQTT, InfluxDB und IFTTT.

System-Diagnose

API-Hinweis: Wasserverbrauchsdaten liefert /jw mit Pulsrate, aktuellem Monat und Monatsdatensätzen.

Hinweise zu UI und Optionen

OpenSprinklerPro nutzt die normale OpenSprinkler-Weboberfläche und App:

  • Startseite mit Zonen, Wetter, Bewässerungsprozent, Gerätezeit und Statusfußzeile.
  • Einrichtungsassistent für neue Controller mit Wi-Fi/Ethernet/Cloud-Auswahl und Passwort-Hinweisen.
  • Seitenmenü für Standortverwaltung, Export/Import, Passwortänderung, Neustart und Systemdiagnose.
  • Fußleistenmenü für Logs, Regenverzögerung, Pause Queue, Einmal-Programm, Programme und Optionen.
  • Optionen → Wetter & Sensoren für Wetteranpassung, binäre Sensoren, Durchflusssensor und Sensorautomatisierung.
  • Optionen → Integrationen für OTC, MQTT, E-Mail, IFTTT und Benachrichtigungsereignisse.
  • Sensor-Einstellungen für FYTA-Zugangsdaten, Programmanpassungen und Monitore.

Virtuelle Stationstypen umfassen RF, Remote IP/OTC, GPIO, HTTP und HTTPS. Die Konfiguration erfolgt im Stationsdialog im Tab Erweitert. GPIO erscheint nur bei freien GPIO-Pins; HTTPS-Stationen sind laut Plattform-Matrix nicht auf ESP8266 oder OSPi verfügbar.

Nützliche UI-Referenzen: Bedienoberfläche, Optionen, Wiki-Startseite.

API- und Dokumentationsreferenzen