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 | ![]() |
| Mode radio ESP32-C5 / variante Matter | Menu latéral → Setup ESP32 Mode | ![]() |
| Passerelle Zigbee | Menu latéral → ZigBee Gateway | ![]() |
| ESP RainMaker | Menu latéral → RainMaker | ![]() |
| MQTT, e-mail, IFTTT et événements | Menu inférieur → Edit Options → Integrations | ![]() |
| Configuration capteurs, FYTA et monitors | Menu inférieur → Analog Sensor Configuration | ![]() |
| Ajouter ou modifier un capteur | Menu inférieur → Analog Sensor Configuration → Add Sensor | ![]() |
| Ajustements de programme | Menu inférieur → Analog Sensor Configuration → Program Adjustments | ![]() |
| Ajouter un ajustement | Menu inférieur → Analog Sensor Configuration → Program Adjustments → Add program adjustment | ![]() |
| Règles de monitoring locales | Menu inférieur → Analog Sensor Configuration → Monitoring and Control | ![]() |
| Ajouter un monitor | Menu inférieur → Analog Sensor Configuration → Monitoring and Control → Add monitor | ![]() |
| Graphique capteurs | Menu inférieur → Analog Sensor Configuration → Sensor Chart | ![]() |
| Configuration FYTA | Menu inférieur → Analog Sensor Configuration → FYTA Setup | ![]() |
| Identifiants FYTA | Menu inférieur → Analog Sensor Configuration → FYTA Setup → Setup FYTA credentials | ![]() |
| Sauvegarde capteurs | Menu inférieur → Analog Sensor Configuration → Backup and Restore | ![]() |
| Diagnostic système | Menu latéral → 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.

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.

- 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.

Note API pour automatisation et diagnostic :
/iret/iwpour la configuration radio IEEE 802.15.4 et le changement de mode,/zg,/zd,/zo,/zcpour la gestion des équipements,/zspour 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,/bcavec 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 :
- Créer ou copier un jeton API FYTA depuis
web.fyta.de. - Dans l’interface OpenSprinkler, ouvrir Settings → Sensor Settings → FYTA Setup et enregistrer le jeton ou les identifiants.
- Ajouter un capteur FYTA Moisture ou FYTA Temperature.
- Choisir une plante FYTA associée à un capteur.
- 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.

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é.
/tglit les informations du certificat./tlcharge un certificat PEM et une clé; redémarrage nécessaire./talit la configuration et l’état ACME./tcenregistre la configuration ACME et peut demander un certificat./txsupprime 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é.

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.

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.

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.


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.





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

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.

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
- CHANGELOG — notes de version des fonctions Pro.
- Addendum API et plateformes — notes actuelles sur endpoints et plateformes.
- API MCP firmware — détails du
/mcpintégré. - Serveur MCP externe — configuration Node.js MCP et liste d’outils.
- Création de programmes par IA — programmer l’arrosage via MCP.
- Automatisation capteurs — ajustements et monitors via MCP.
- RainMaker provisioning — BLE claiming et provisionnement on-network.
- Capteurs FYTA — configuration et dépannage.
- Disponibilité plateformes — vue matériel/fonctions.