Intégration domotique Zodiac / Jandy iAquaLink, gratuite et open source

Piscines Zodiac / Jandy iAquaLink : températures, pompes, chauffage, éclairage, électrolyseurs eXO.
Amène vos systèmes de piscine iAquaLink dans Gladys, par le cloud iAquaLink (celui de l'application mobile iAquaLink) :
- coffrets Jandy iAquaLink (iQ20, AquaLink RS avec module iAquaLink) : températures de la piscine, du spa et de l'air, pompes piscine et spa, chauffages piscine, spa et solaire, consignes piscine et spa, éclairages (marche/arrêt, luminosité des éclairages variables), sorties auxiliaires, et pH, redox et salinité quand le coffret les remonte ;
- électrolyseurs Zodiac eXO iQ : température de l'eau, pH, redox (ORP), leurs consignes, niveau de production de chlore, production de chlore marche/arrêt, boost, mode réduit, pompe de filtration, sorties auxiliaires, chauffage (marche/arrêt et consigne) quand un module de chauffage est présent, et un texte d'état (code d'erreur, sel insuffisant).
Cette intégration n'a jamais été testée sur un vrai compte ni sur un vrai système iAquaLink pour l'instant : c'est un portage de la bibliothèque iaqualink-py utilisée par Home Assistant, vérifié uniquement sur des réponses d'exemple. Vos retours sont les bienvenus sur le forum Gladys.
Non officielle : sans lien avec Zodiac, Jandy ou Fluidra.
Mise en place
- Dans Gladys, ouvrez Intégrations et installez Zodiac / Jandy iAquaLink.
- Dans sa configuration, saisissez l'e-mail et le mot de passe de votre compte iAquaLink (ceux de l'application iAquaLink). Le mot de passe est un champ secret : Gladys ne le réaffiche jamais, et l'intégration ne l'envoie qu'au service de connexion iAquaLink.
- L'état indique Connecté à iAquaLink et le nombre de systèmes de piscine. Ouvrez l'onglet Découverte et ajoutez vos systèmes.
Le bouton Tester la connexion se connecte et lit le compte tout de suite (au plus toutes les 30 secondes), puis donne un court résumé.
Options
| Option | Par défaut | Effet |
|---|---|---|
| Autoriser les commandes depuis Gladys | non | La piscine est seulement lue tant que la case n'est pas cochée. Ensuite : pompes, chauffages, consignes, éclairages, eXO. |
| Autoriser aussi les sorties auxiliaires | non | Auxiliaires simples et actionneurs de vanne du coffret, sorties aux de l'eXO. Demande aussi l'option du dessus. |
| Afficher les auxiliaires sans nom | non | Les auxiliaires encore nommés « Aux 3 », « Aux V12 » ou « Extra Aux » sur le coffret sont ignorés sauf si cette case est cochée. |
| Intervalle de rafraîchissement (s) | 60 | Fréquence de lecture de la piscine : 30 secondes au plus vite. |
| Langue | français | Noms des fonctionnalités des systèmes ajoutés désormais, et texte d'état. |
Une sortie auxiliaire peut piloter tout ce qui y est branché : un robot, une cascade, mais aussi une vanne (débordement du spa, solaire...), et les actionneurs de vanne iAquaLink (SJVA) sont eux aussi des auxiliaires. C'est pourquoi ils ont leur propre option, désactivée par défaut : ne la cochez que si les commander depuis Gladys est sans danger pour votre installation.
Limites d'usage
- iAquaLink ne publie ni API ni quota : l'intégration utilise les adresses de l'application iAquaLink, comme Home Assistant. Elle lit chaque système à l'intervalle choisi (deux requêtes pour un coffret, une pour un eXO), la liste des systèmes toutes les 30 minutes, et n'envoie jamais plus de 20 requêtes par minute, commandes comprises.
- Après une erreur, elle attend 1, 2, 5, 10 puis 15 minutes ; quand iAquaLink demande de ralentir (HTTP 429), elle fait la pause demandée (15 minutes sinon), commandes comprises.
- Un e-mail ou un mot de passe refusé n'est pas réessayé avant 6 heures, ou aussitôt après leur modification (ou avec le bouton de test), pour ne pas bloquer le compte.
- La session (IdToken) est renouvelée avant son expiration ; un jeton de renouvellement refusé entraîne une seule nouvelle connexion, jamais plus d'une toutes les 5 minutes. Une connexion sans aucune réponse (box internet encore en démarrage après une coupure de courant...) suit les pauses normales de 1 à 15 minutes. Après trois connexions de suite auxquelles le service répond mal (erreur 5xx, réponse illisible), le prochain essai attend 1 heure, ou une modification de l'e-mail ou du mot de passe, ou le bouton « Tester la connexion ».
Fonctionnement des commandes
Les pompes, chauffages et auxiliaires simples d'un coffret iAquaLink ne connaissent qu'une commande de bascule. Pour chaque commande, l'intégration :
- relit l'état du coffret juste avant (en 4 secondes au plus : Gladys attend la réponse 5 secondes ; une relecture plus lente n'envoie rien) ;
- refuse si le coffret est hors ligne, ou si l'état de l'équipement ne peut pas être lu ;
- n'envoie rien si l'équipement est déjà dans l'état demandé ;
- sinon bascule une fois. Pendant les 60 secondes suivantes, sauf si le coffret signale déjà le changement, l'équipement est attendu dans son nouvel état : le redemander réussit sans rien envoyer, demander l'ancien état est refusé (une seconde bascule annulerait la première).
Les commandes d'un même système passent une par une. Les éclairages variables et de couleur, les consignes et toutes les commandes de l'eXO prennent une valeur absolue. Les consignes doivent rester entre 1 et 40 °C (34 et 104 °F) ; un coffret associé à une pompe à chaleur les reçoit par la commande de la pompe à chaleur, comme dans l'application iAquaLink.
Un éclairage de couleur allumé démarre sur sa première couleur (les effets ne sont pas encore gérés).
Pas encore pris en charge
- Robots nettoyeurs (i2d, Vortex, Cyclobat), pompes à chaleur Zodiac autonomes et iQPump : ils sont comptés comme « pas encore pris en charge » dans l'état.
- Scènes OneTouch, pompes à vitesse variable d'un coffret, zones d'éclairage IntelliCenter, effets de couleur, commandes d'une pompe à chaleur associée à un coffret.
Confidentialité
L'e-mail et le mot de passe restent dans la configuration de Gladys.
L'intégration garde seulement, dans son volume /data, les fonctionnalités
et auxiliaires déjà vus et l'unité de température de chaque système, pour que
l'onglet Découverte reste identique après un redémarrage. Aucun jeton ni mot
de passe n'est jamais écrit sur disque ni dans les journaux.
Licence et crédits
Licence Apache 2.0. La logique iAquaLink est portée de
flz/iaqualink-py (BSD-3-Clause, voir
THIRD_PARTY_NOTICES.md).
Paramètres de configuration
Voici les paramètres demandés par Zodiac / Jandy iAquaLink dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre piscine iAquaLink | section | Non | Amène vos systèmes de piscine iAquaLink dans Gladys par le cloud iAquaLink : coffrets Jandy iAquaLink (températures piscine, spa et air, pompes, chauffages et consignes, éclairages, auxiliaires) et électrolyseurs Zodiac eXO iQ (production de chlore, boost, pH, redox, température de l'eau, état). Saisissez l'e-mail et le mot de passe de votre compte de l'application iAquaLink, puis ajoutez vos systèmes depuis l'onglet Découverte. Les commandes restent désactivées tant que vous ne les autorisez pas ci-dessous. Le cloud est lu chaque minute par défaut (30 secondes au plus vite), avec des pauses plus longues après une erreur. Non officiel, sans lien avec Zodiac, Jandy ou Fluidra ; jamais testé sur un vrai système pour l'instant. |
| E-mail iAquaLink | string | Oui | L'e-mail avec lequel vous vous connectez à l'application iAquaLink. |
| Mot de passe iAquaLink | secret | Oui | Conservé par Gladys, envoyé uniquement au service de connexion iAquaLink, jamais réaffiché ni journalisé. |
| Autoriser les commandes depuis Gladys | boolean | Non | Désactivé par défaut : la piscine est seulement lue. Une fois coché : pompes, chauffages, consignes, éclairages et commandes de l'électrolyseur eXO. Chaque commande relit l'état juste avant d'être envoyée. |
| Autoriser aussi les sorties auxiliaires | boolean | Non | Les auxiliaires simples du coffret, ses actionneurs de vanne et les sorties aux de l'eXO peuvent piloter n'importe quoi, y compris une vanne : ils restent en lecture seule sauf si cette case (et celle du dessus) est cochée. |
| Afficher les auxiliaires sans nom | boolean | Non | Les auxiliaires encore nommés « Aux 3 », « Aux V12 » ou « Extra Aux » sur le coffret sont en général inutilisés : ils sont ignorés sauf si cette case est cochée. |
| Intervalle de rafraîchissement (secondes) | number | Non | Fréquence de lecture de la piscine : 30 secondes au plus vite, pour ménager le cloud iAquaLink. |
| Langue des noms des fonctionnalités | select | Non | Sert aux noms des fonctionnalités des systèmes ajoutés désormais, et au texte d'état. |
Comment installer Zodiac / Jandy iAquaLink dans Gladys
- Dans Gladys, ouvrez Intégrations : Zodiac / Jandy iAquaLink apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/lm1lc3n7/gladys-iaqualink:0.1.2), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-iaqualink.
Zodiac / Jandy iAquaLink nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Zodiac / Jandy iAquaLink est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par LM1LC3N7, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation