Extension OpenSprinklerPro

OpenSprinklerPro désigne l’ensemble étendu de fonctions pour les installations OpenSprinkler qui ont besoin d’intégrations radio modernes, de capteurs avancés, de mises à jour en ligne, d’un accès MCP/IA et d’une supervision plus riche. Les fonctions de base restent celles d’OpenSprinkler : zones, programmes, ajustement météo, journaux, accès distant et interface web/app.

La ligne de firmware OpenSprinklerShop, y compris OpenSprinklerPro, utilise sa propre numérotation de version, indépendante du firmware OpenSprinkler amont. La version actuelle du firmware OpenSprinklerShop est 2.4.0(199).

Cette page est autonome et renvoie aux documents locaux détaillés quand c’est utile.

Vue d’ensemble

OpenSprinklerPro couvre notamment :

  • Mises à jour OTA en ligne avec vérification de manifeste, état de mise à jour et fonctions de sauvegarde.
  • Fonctions radio ESP32-C5 : passerelle/client Zigbee et changement de mode IEEE 802.15.4.
  • Capteurs BLE sur les builds ESP32 pris en charge et sur OSPi avec Bluetooth.
  • Capteurs FYTA Cloud pour l’humidité et la température du sol.
  • Matter et ESP RainMaker pour les intégrations maison connectée, cloud et application mobile sur ESP32.
  • Accès MCP pour assistants IA, soit intégré au firmware, soit via le serveur Node.js externe.
  • Événements de notification pour MQTT, e-mail, IFTTT et monitoring.

Disponibilité par plateforme

OpenSprinklerPro n’est pas identique sur toutes les plateformes. La disponibilité dépend du matériel et des options de compilation.

Fonction ESP32-C5 Zigbee ESP32-C5 Matter ESP32 / non-C5 ESP8266 OSPi
Irrigation, programmes, web UI, journaux
OTA en ligne via interface web
Mise à jour par script/Git
HTTPS / certificats ACME selon build ESP32
Zigbee / IEEE 802.15.4
Capteurs BLE selon build flag ✅ via Bluetooth Linux
Point d’accès Matter selon build flag
ESP RainMaker selon ESP32
Capteurs FYTA ✅ HTTPS ✅ HTTPS ✅ HTTPS ✅ HTTP seul ✅ HTTPS
MCP firmware intégré /mcp ✅ ESP32 + USE_OTF ✅ ESP32 + USE_OTF ✅ ESP32 + USE_OTF
Serveur MCP Node.js externe

Notes :

  • ESP32-C5 Zigbee et ESP32-C5 Matter sont deux variantes de firmware. Zigbee et Matter ne peuvent pas être actifs en même temps sur la même radio ESP32-C5.
  • Les points d’accès Zigbee exigent ESP32-C5 et OS_ENABLE_ZIGBEE.
  • Les points d’accès BLE exigent ESP32 et OS_ENABLE_BLE; ESP8266 ne prend pas en charge BLE.
  • OSPi dispose des points d’accès REST, capteurs, FYTA et monitors communs, mais pas des points d’accès radio ESP32.

Voir aussi : addendum API et plateformes, CHANGELOG.

Noms des fonctions UI et captures mobiles

Les extensions OpenSprinklerPro se pilotent depuis l’interface web/app normale. Les endpoints REST servent surtout à l’automatisation, au diagnostic et aux intégrations; le parcours utilisateur commence dans ces fonctions UI.

Extension Fonction UI / chemin de menu Capture
Mise à jour firmware en ligne Menu latéral → Online Update Online Update
Mode radio ESP32-C5 / variante Matter Menu latéral → Setup ESP32 Mode Setup ESP32 Mode
Passerelle Zigbee Menu latéral → ZigBee Gateway ZigBee Gateway
ESP RainMaker Menu latéral → RainMaker RainMaker
MQTT, e-mail, IFTTT et événements Menu inférieur → Edit OptionsIntegrations Integrations
Configuration capteurs, FYTA et monitors Menu inférieur → Analog Sensor Configuration Configuration capteurs
Ajouter ou modifier un capteur Menu inférieur → Analog Sensor ConfigurationAdd Sensor Nouveau capteur
Ajustements de programme Menu inférieur → Analog Sensor ConfigurationProgram Adjustments Program Adjustments
Ajouter un ajustement Menu inférieur → Analog Sensor ConfigurationProgram AdjustmentsAdd program adjustment Nouvel ajustement
Règles de monitoring locales Menu inférieur → Analog Sensor ConfigurationMonitoring and Control Monitoring and Control
Ajouter un monitor Menu inférieur → Analog Sensor ConfigurationMonitoring and ControlAdd monitor Nouveau monitor
Graphique capteurs Menu inférieur → Analog Sensor ConfigurationSensor Chart Sensor Chart
Configuration FYTA Menu inférieur → Analog Sensor ConfigurationFYTA Setup FYTA Setup
Identifiants FYTA Menu inférieur → Analog Sensor ConfigurationFYTA SetupSetup FYTA credentials Identifiants FYTA
Sauvegarde capteurs Menu inférieur → Analog Sensor ConfigurationBackup and Restore Backup and Restore
Diagnostic système Menu latéral → Diagnostics du système Diagnostics du système

Mise à jour OTA en ligne

Le firmware Pro ajoute une gestion de mise à jour en ligne dans online_update.cpp / online_update.h. Le contrôleur peut vérifier un manifeste, détecter les versions disponibles, lancer une mise à jour et exposer l’état de mise à jour ou de sauvegarde par API.

Fonction UI : ouvrir le menu latéral et choisir Online Update. C’est le flux recommandé pour les utilisateurs, car il regroupe vérification de version, sauvegarde, choix du firmware, progression et restauration après redémarrage.

Online Update

Disponibilité :

  • ESP32-C5 / ESP32 et ESP8266 : mise à jour OTA disponible via l’interface web et l’envoi manuel d’un firmware.
  • ESP32-C5 : partitions OTA doubles pour des scénarios avec possibilité de retour arrière.
  • OSPi : mise à jour par shell/Git/scripts de build, pas par le flux OTA web du firmware.
  • Une connexion Internet et un manifeste accessible sont nécessaires.

Avant la mise à jour, exportez la configuration depuis le menu latéral. Sur ESP32 et ESP8266, le firmware fournit aussi /ub pour une sauvegarde complète de configuration; /sx reste une sauvegarde limitée aux capteurs.

Le flux UI vérifie les mises à jour, crée une sauvegarde, télécharge la variante de firmware, flashe l’appareil, affiche la progression et peut restaurer la configuration après redémarrage. Les appels avancés peuvent remplacer les URLs et les hash SHA-256 (zu, mu, fu, zs, ms) et choisir la variante zigbee ou matter avec vt; c’est prévu pour réinstallation, downgrade ou récupération. OSPi n’utilise pas ces endpoints OTA firmware.

Note API pour automatisation et récupération : /uc vérifie les mises à jour, /uu lance l’update, /us renvoie l’état et /ub crée une sauvegarde complète.

Mode ESP32 et gestion radio

Sur ESP32-C5, l’interface propose une page de mode pour Matter, Zigbee Gateway et Zigbee Client. Le changement modifie la configuration IEEE 802.15.4 et nécessite un redémarrage.

Fonction UI : ouvrir le menu latéral et choisir Setup ESP32 Mode. N’utiliser Apply Mode que pour changer volontairement de rôle firmware/radio.

Setup ESP32 Mode

  • Zigbee Gateway gère les équipements Zigbee localement.
  • Zigbee Client connecte OpenSprinkler à un coordinateur Zigbee existant.
  • Matter doit être utilisé avec la variante firmware Matter; Matter et Zigbee ne peuvent pas fonctionner simultanément sur la même radio ESP32-C5.
  • Ethernet est recommandé pour les installations Zigbee importantes.

Note API pour intégrations avancées : /ir lit le mode radio, /iw le définit, /zj gère le join client, /zg les données passerelle et /zs l’état Zigbee.

Passerelle et client Zigbee

Zigbee est une fonction du firmware ESP32-C5 Zigbee. Elle n’est pas disponible sur ESP32-C5 Matter, ESP8266 ou OSPi.

OpenSprinklerPro prend en charge deux rôles Zigbee.

Mode passerelle

En mode passerelle, l’ESP32-C5 gère les équipements Zigbee locaux :

  • autoriser l’appairage de nouveaux équipements,
  • lister, interroger et supprimer les équipements,
  • enrichir les informations fabricant/modèle si elles sont disponibles,
  • traiter les rapports Tuya et les convertir vers des attributs standard lorsque possible.

Fonction UI : ouvrir le menu latéral et choisir ZigBee Gateway. La page affiche les équipements appairés et l’action utilisateur pour autoriser de nouveaux joins.

ZigBee Gateway

Note API pour automatisation et diagnostic :

  • /ir et /iw pour la configuration radio IEEE 802.15.4 et le changement de mode,
  • /zg, /zd, /zo, /zc pour la gestion des équipements,
  • /zs pour l’état Zigbee.

Mode client

En mode client, OpenSprinkler rejoint un coordinateur Zigbee externe et publie ses données locales : capteurs, zones, programmes et état du capteur de pluie. Les endpoints ZCL couvrent température, humidité, débit, capteurs analogiques, zones, programmes et capteurs de pluie.

Pour les installations Zigbee importantes, privilégiez Ethernet. La documentation locale indique que Wi-Fi et Zigbee partagent la bande 2,4 GHz sur ESP32-C5; pendant les scans BLE, la priorité Zigbee est abaissée afin de réduire les interférences.

Capteurs BLE

Les scans BLE et la liste des capteurs BLE sont disponibles sur les builds ESP32 avec BLE activé, y compris les variantes ESP32-C5 Pro. OSPi peut utiliser le Bluetooth du Raspberry Pi; ESP8266 ne prend pas en charge BLE.

Fonctions BLE :

  • liste des appareils et contrôle de scan (/bd, /bs, /bc avec ESP32 + OS_ENABLE_BLE),
  • informations comme fabricant et modèle lorsque le capteur les expose,
  • accès thread-safe à la liste des appareils découverts,
  • coexistence avec Zigbee sur ESP32-C5.

Pendant le BLE claiming d’ESP RainMaker, l’initialisation des capteurs BLE est reportée jusqu’à la fin du provisionnement.

Capteurs FYTA

Les capteurs FYTA apportent l’humidité et la température du sol via le cloud FYTA. OpenSprinkler ne lit pas directement le capteur; il interroge l’API FYTA Cloud.

Disponibilité :

  • ESP32 / ESP32-C5 : HTTPS.
  • ESP8266 : HTTP seulement, à cause des limites TLS de la plateforme.
  • OSPi : HTTPS.

Mise en place typique :

  1. Créer ou copier un jeton API FYTA depuis web.fyta.de.
  2. Dans l’interface OpenSprinkler, ouvrir Settings → Sensor Settings → FYTA Setup et enregistrer le jeton ou les identifiants.
  3. Ajouter un capteur FYTA Moisture ou FYTA Temperature.
  4. Choisir une plante FYTA associée à un capteur.
  5. Utiliser la mesure dans les ajustements de programme ou les monitors.

Un intervalle de 15 à 60 minutes est recommandé pour éviter trop d’appels API. Voir capteurs FYTA.

Matter et ESP RainMaker

Matter

Matter est disponible uniquement sur les builds ESP32 compilés avec ENABLE_MATTER; dans l’ensemble Pro, il s’agit de la variante ESP32-C5 Matter. L’API JSON /jm expose l’état de commissioning, l’URL du QR code et le code manuel. Matter n’est pas disponible sur ESP8266 ni OSPi.

Fonction UI : sur la variante firmware Matter, ouvrir Setup Matter dans le menu latéral. Sur la variante Zigbee, l’UI montre plutôt Setup ESP32 Mode, où la variante Matter peut être choisie avant redémarrage.

Pour l’appairage avec Apple Home, Google Home, Alexa ou un autre contrôleur Matter, ouvrez la fenêtre de commissioning Matter dans l’UI.

Note API : /jm renvoie l’état de commissioning, l’URL QR code et le code manuel; /mm ouvre une fenêtre de commissioning et accepte t comme timeout optionnel (défaut 300, maximum 900).

ESP RainMaker

ESP RainMaker est disponible sur ESP32 / ESP32-C5, pas sur ESP8266 ni OSPi.

Fonction UI : ouvrir le menu latéral et choisir RainMaker. La page affiche l’état de provisionnement, le PIN PoP, l’état du nœud/compte et l’action sûre de rafraîchissement.

RainMaker

Le provisionnement RainMaker prend en charge :

  • BLE claiming lors de la première configuration sans certificats TLS,
  • provisionnement on-network quand les certificats existent et que l’appareil doit être lié à un compte utilisateur,
  • Ethernet pour la connectivité réseau, BLE étant alors utilisé seulement pour le claiming,
  • l’affichage de l’état, avec provisionnement, BLE claiming, contrôle local et code PoP.

Pendant le BLE claiming, les capteurs BLE attendent que RainMaker libère les ressources BLE. La page d’état expose aussi node ID, connexion MQTT, user mapping, local control, certificats, capteurs différés, usage Ethernet et données de provisioning. Voir RainMaker provisioning.

Note API pour maintenance : /rk renvoie l’état RainMaker. reset_mapping=1 supprime l’association utilisateur; factory_reset=1 effectue une remise à zéro RainMaker avec redémarrage. /ru dissocie le compte.

Certificats HTTPS et ACME

Les builds ESP32 avec HTTPS peuvent utiliser le certificat interne, un certificat/clé PEM personnalisé ou ACME/Let's Encrypt. L’UI affiche type, subject, issuer et validité.

  • /tg lit les informations du certificat.
  • /tl charge un certificat PEM et une clé; redémarrage nécessaire.
  • /ta lit la configuration et l’état ACME.
  • /tc enregistre la configuration ACME et peut demander un certificat.
  • /tx supprime les données ACME et revient au certificat interne.

Serveur MCP et intégration IA

OpenSprinklerPro distingue deux options MCP.

Point d’accès MCP intégré au firmware /mcp

Le serveur MCP intégré fonctionne dans les firmwares ESP32 avec USE_OTF activé :

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

Il utilise le transport MCP Streamable-HTTP avec JSON-RPC 2.0 et accepte le même hash MD5 du mot de passe que l’API REST : ?pw=, en-tête X-OS-Password ou bearer token. Il expose un jeu compact d’outils centraux comme get_all, get_options, get_programs, get_station_status, manual_station_run, change_controller_variables et pause_queue.

Plateformes : ESP32 / ESP32-C5 uniquement avec USE_OTF; pas ESP8266 et pas OSPi.

Serveur MCP Node.js externe

Le serveur externe dans tools/mcp-server/ tourne hors du firmware et publie l’API REST sous forme d’outils MCP via stdio. Il fonctionne avec les contrôleurs ESP8266, ESP32 et OSPi et offre plus de 40 outils, y compris capteurs, monitors, Zigbee, BLE et ressources système lorsque les endpoints existent sur le contrôleur cible.

Voir serveur MCP, création de programmes par IA, automatisation capteurs et API MCP firmware.

Événements de notification

OpenSprinklerPro peut envoyer des événements sélectionnés via MQTT, e-mail et IFTTT; InfluxDB peut recevoir les mesures. La configuration se trouve dans Options → Integrations → Notification Events.

Fonction UI : ouvrir le menu inférieur, choisir Edit Options, déplier Integrations, puis ouvrir Configure Events sous le canal souhaité.

Integrations

Les documents locaux listent 17 événements, dont :

  • démarrage de programme,
  • démarrage et fin de station,
  • mise à jour du rain delay,
  • mise à jour des capteurs 1 et 2,
  • mise à jour du capteur de débit,
  • mise à jour de l’ajustement météo,
  • redémarrage du contrôleur,
  • alertes débit, absence de débit et rupture de canalisation,
  • défaut sous-/surintensité,
  • rapport mensuel d’eau,
  • avertissements de monitoring bas, moyen et haut.

Les événements liés au débit exigent un capteur de débit configuré sur SN1. Évitez d’activer tous les événements sur tous les canaux : trop de notifications peuvent ralentir les réponses et perturber des cycles d’arrosage très courts.

Voir événements de notification.

Monitors et alertes locales

La documentation UI détaillée pour définitions de capteurs, ajustements de programme, monitors, graphiques, FYTA et sauvegarde se trouve dans Configuration des capteurs analogiques. Le modèle d’automatisation est décrit dans Automatisation capteurs et monitors.

L’UI actuelle contient la gestion des monitors pour valeurs capteur et alertes locales. Un monitor surveille une valeur configurée et déclenche un avertissement de priorité basse, moyenne ou haute lorsque les seuils sont dépassés. Ces avertissements peuvent aussi alimenter les événements de notification.

Fonction UI : ouvrir le menu inférieur et choisir Analog Sensor Configuration. Cette page regroupe valeurs capteur, définitions de capteurs, ajustements de programme, règles de monitor, graphiques, identifiants FYTA et sauvegarde/restauration des données capteur.

Analog Sensor Configuration

Add Sensor crée une nouvelle entrée capteur. L’éditeur contient type, groupe, unité/format, intervalle de lecture, options activation/log/affichage et réglages propres à Modbus, Zigbee, BLE, MQTT, remote ou FYTA.

Nouveau capteur

Program Adjustments relie les valeurs capteur aux programmes d’arrosage. Un ajustement associe un capteur à un programme et mappe la plage capteur vers les facteurs d’arrosage minimum/maximum.

Program Adjustments

Nouvel ajustement

Sensor Chart affiche les données de capteurs journalisées, permet le téléchargement des logs ou l’ouverture du tableau de données. Les options incluent conversion de température et affichage combiné humidité/température quand disponible.

Sensor Chart

Monitoring and Control

Nouveau monitor

FYTA Setup

Identifiants FYTA

Backup and Restore exporte ou restaure configuration capteur, ajustements de programme et monitors indépendamment de la sauvegarde générale du contrôleur.

Backup and Restore

Flux typique : configurer le capteur, créer un monitor avec source et seuils, choisir la priorité, puis vérifier l’état via la cloche ou le diagnostic système.

Note API : /mc expose la configuration monitor, /ml la liste et /mt les types pris en charge.

Diagnostic système et consommation d’eau

Le menu latéral Diagnostics du système affiche version firmware/matériel, raison du redémarrage, stockage et mémoire libres, météo, OTC et l’état MQTT/InfluxDB/IFTTT.

Diagnostics du système

Note API : /jw fournit les données mensuelles de consommation d’eau avec pulse rate et enregistrements.

Notes UI et options

OpenSprinklerPro utilise l’interface web et l’application OpenSprinkler habituelles :

  • Page d’accueil avec zones, météo, pourcentage d’arrosage, heure du contrôleur et pied de page d’état.
  • Assistant de première configuration pour Wi-Fi/Ethernet/cloud et mot de passe.
  • Menu latéral pour gestion des sites, export/import, changement de mot de passe, redémarrage et diagnostic système.
  • Menu inférieur pour journaux, rain delay, pause queue, run-once, programmes et options.
  • Options → Weather & Sensors pour ajustement météo, capteurs binaires, capteur de débit et automatisations par capteur.
  • Options → Integrations pour OTC, MQTT, e-mail, IFTTT et événements de notification.
  • Paramètres capteur pour identifiants FYTA, ajustements de programme et monitors.

Les types de stations virtuelles incluent RF, Remote IP/OTC, GPIO, HTTP et HTTPS. Ils se configurent dans l’onglet avancé des attributs de station. GPIO n’apparaît que si des broches libres existent; HTTPS n’est pas disponible sur ESP8266 ni OSPi.

Références utiles : interface, options, accueil wiki.

Références API et documentation