Aller au contenu principal

Intégration domotique Fluidra Pool, gratuite et open source

Intégration Fluidra Pool pour Gladys Assistant

Équipements Fluidra Pool (AstralPool, Zodiac) par le cloud Fluidra : eau, pompe, chauffage.

Intégration non officielle, sans lien avec Fluidra. Elle amène dans Gladys les équipements de piscine reliés à l'application Fluidra Pool (AstralPool, Zodiac et autres marques du groupe Fluidra), par le cloud Fluidra, celui qu'utilise l'application.

Attention : API non officielle, cette intégration n'a jamais été testée avec un vrai compte ni un vrai équipement. Elle a été écrite à partir de l'intégration Home Assistant Fluidra-pool (foXaCe) et testée contre un faux cloud Fluidra seulement. Fluidra peut changer son API à tout moment. Les retours sont les bienvenus.

Ce que vous obtenez​

Fluidra ne donne pas de modèle : chaque appareil expose des registres numérotés dont le sens change avec la famille. L'intégration ne lit que les familles dont les registres ont été vérifiés par des utilisateurs de l'intégration Home Assistant. Un équipement non reconnu est compté dans l'état de l'intégration mais jamais lu : aucune valeur n'est affichée sous un faux nom.

ÉquipementFonctionnalités
Électrolyseurs tecnoLC2 (Energy Connect, Clear Connect, Ei2 iQ, GenSalt OE iQ, iSalt…)Température de l'eau, pH, redox (ORP), salinité (g/L), consigne de production (%) ; chlore libre et production réelle sur quelques appareils
Électrolyseurs domoticS2 (Elite Connect, Neolysis…), eXO iQ, eXPERT (tecno2)Selon la famille : température, pH, redox, salinité, consigne et production (%)
Analyseurs Blue Connect (Silver, Gold)Température, pH, redox ; salinité sur le Gold
Pompe de filtration E30iQ (et Inari VS, Verdon VS)En marche, mode automatique (programmation), vitesse (arrêt, lente, moyenne, rapide, automatique)
Pompe Victoria Smart Connect VSEn marche, vitesse (%), puissance (W)
Pompes à chaleur Z250iQ, Z260iQ, Z350iQ, Z550iQ(+), Z650iQ, Eco Elyo (LG), Gre HPGICEn marche, température de l'eau, température de l'air (selon le modèle), consigne, mode (texte)
Éclairage LumiPlus ConnectÉclairage (allumé/éteint)

Une sonde absente (pas de redox, pas de chlore libre) ne crée pas de fonctionnalité : elle n'apparaît que lorsqu'une vraie valeur a été lue. Un pH, un redox ou une salinité à 0 est traité comme « pas de mesure ». Le chlore libre (mg/L) et la production réelle (%) d'un tecnoLC2 ne sont lus que sur les appareils dont les propriétaires ont montré ces registres à l'intégration Home Assistant (Ducere 21 LC24008202, Clear Connect CC24018202, CC24042517, CC24058902 ; production sur les Energy Connect pontés CC24054221 et CC24041107) : sur les autres, ces registres peuvent ne rien contenir, ils ne sont donc pas affichés. Sur un domoticS2, la consigne affichée est celle demandée (le registre qu'écrit l'application) ; ses registres de relecture et de production changent d'un appareil à l'autre, ils ne sont donc pas affichés.

Commandes seulement pour un appareil bien identifié. La vitesse de la pompe, l'éclairage et la consigne ne peuvent être envoyés qu'à un appareil identifié par son numéro de série, son identifiant de famille Fluidra (thingType) ou la signature que donne la pompe à chaleur, jamais par son seul nom, son modèle ou sa famille, et jamais quand ce que dit Fluidra le contredit (par exemple un identifiant de famille d'un autre modèle). Un tel appareil est affiché avec toutes ses fonctionnalités, mais la consigne, la vitesse et l'éclairage y sont en lecture seule (aucune commande ne lui est envoyée).

Le badge de chaque appareil affiche « cloud », ou « injoignable » (avec un point orange) quand cet appareil n'a pas pu être lu, ou quand Fluidra le dit déconnecté deux lectures de suite.

Installation​

  1. Vos équipements doivent fonctionner dans l'application Fluidra Pool.
  2. Dans Gladys, installez l'intégration Fluidra Pool, saisissez l'e-mail et le mot de passe de l'application Fluidra Pool, puis enregistrez.
  3. Ajoutez les équipements depuis l'onglet Découverte.

La connexion en deux étapes (code par SMS ou par e-mail) n'est pas gérée : désactivez-la dans l'application si elle est active.

Commandes et sécurité​

Les commandes sont désactivées par défaut : tout est affiché, rien n'est modifié. Activez Autoriser les commandes depuis Gladys pour permettre :

  • la vitesse de la pompe E30iQ (une liste : arrêt, lente, moyenne, rapide). Choisir une vitesse sur une pompe arrêtée la démarre puis règle la vitesse. Refusé quand la pompe suit sa programmation (mode automatique) : ce mode se règle dans l'application ;
  • l'éclairage LumiPlus (allumer, éteindre) ;
  • la consigne de la pompe à chaleur, dans la plage de son modèle et 35 °C au plus, par pas de 1 °C (0,5 °C sur la Z650iQ).

Aucune commande de dosage chimique (pH, chlore, production de l'électrolyseur, boost) : un mauvais dosage met les baigneurs en danger, et l'intégration n'a jamais été testée sur un vrai équipement. Ces valeurs sont seulement affichées.

Avant chaque commande, l'intégration relit l'appareil dans le cloud : la commande est refusée si cette lecture échoue ou ne donne pas la valeur, et elle n'envoie rien si l'appareil est déjà dans l'état demandé. L'autorisation est vérifiée de nouveau juste avant l'envoi. Les commandes d'un même appareil passent une à la fois. Une commande qui ne peut pas être envoyée dans les 3,5 secondes suivant son arrivée est refusée (Gladys affiche un échec au bout de 5 secondes). Si Fluidra ne répond pas à temps, Gladys affiche « Commande envoyée, sans confirmation de Fluidra » : vérifiez l'état de l'appareil, il est relu dans les secondes qui suivent. Une commande est refusée, sans rien envoyer, quand la dernière liste des équipements dit l'appareil non connecté.

Un succès veut seulement dire que le cloud Fluidra a accepté la demande, pas que l'appareil l'a appliquée : les lectures qui suivent la commande (5, 20 et 60 secondes) montrent son état réel. En particulier, un compte avec lequel la piscine est partagée (un invité du compte du propriétaire) peut n'avoir que la lecture côté Fluidra : Fluidra peut répondre « succès » à une commande sans que rien ne change. Utilisez le compte du propriétaire pour les commandes.

Activées, ces commandes peuvent être lancées par une scène ou un tableau de bord en votre absence : arrêter la filtration, par exemple, arrête aussi la circulation vers l'électrolyseur et la pompe à chaleur.

Mot de passe, jetons et vie privée​

  • Le mot de passe est gardé par Gladys dans sa base, jamais réaffiché, et envoyé seulement à Fluidra (son service de connexion AWS Cognito, en HTTPS), comme le fait l'application.
  • La connexion donne des jetons : le jeton d'accès (environ une heure) est renouvelé avec le jeton de rafraîchissement, sans le mot de passe, 5 minutes avant sa fin (un dixième de sa durée de vie quand c'est plus court). Les jetons sont gardés dans le volume /data de l'intégration (fichier lisible par l'utilisateur du conteneur seulement) pour qu'un redémarrage ne se reconnecte pas. Sur l'hôte de Gladys, ce volume est le dossier <dossier de base de Gladys>/external-integrations/<sélecteur>, absent des sauvegardes de Gladys, supprimé à la désinstallation. Le jeton de rafraîchissement donne accès au compte tant qu'il est valable : protégez cet hôte. L'e-mail et le mot de passe n'y sont jamais écrits ; changer d'e-mail, ou vider l'e-mail ou le mot de passe de la configuration, efface les jetons (un arrêt « code de vérification » reste, lui, attaché au compte).
  • Rien n'apparaît dans les journaux : ni mot de passe, ni jeton, ni e-mail, ni numéro de série complet (seulement ses 4 derniers caractères).
  • Tout passe en HTTPS vers cognito-idp.eu-west-1.amazonaws.com (la connexion) et api.fluidra-emea.com (les équipements). L'intégration se présente comme « gladys-fluidra-pool » : elle ne se fait pas passer pour l'application.

Rafraîchissement​

Le compte est lu toutes les 60 secondes par défaut (60 à 900) : la liste des piscines, les équipements de chaque piscine, puis les registres de chaque équipement reconnu (une requête par équipement). Trois lectures suivent une commande (après 5, 20 et 60 secondes) ; une nouvelle commande remplace les lectures encore prévues pour la précédente.

Erreurs​

  • Mot de passe refusé (ou compte non confirmé) : l'intégration s'arrête ; un nouvel essai après 1 h, 6 h, puis toutes les 24 h, ou aussitôt quand vous enregistrez un e-mail ou un mot de passe modifié, ou cliquez sur Tester la connexion (réenregistrer les mêmes e-mail et mot de passe ne réessaie pas).
  • Code de vérification, ou toute autre étape de connexion (sauf un nouveau mot de passe) : non géré. L'intégration s'arrête et ne se reconnecte jamais d'elle-même (chaque connexion pourrait envoyer un code) ; cliquez sur Tester la connexion après avoir désactivé la connexion en deux étapes. Pour un code de vérification, l'arrêt reste attaché au compte : vider la configuration, ou saisir le même e-mail avec un autre mot de passe, ne le lève pas ; seul le bouton le fait.
  • Fluidra demande de ralentir (429) : une pause d'au moins 1 minute (Retry-After s'il est donné, 6 h au plus), pour toutes les lectures et les commandes, gardée aux redémarrages.
  • HTTP 403 sur le compte malgré un jeton neuf : une pause de 30 minutes (un seul renouvellement du jeton par essai, jamais de boucle). Après 3 refus de suite, l'état indique un filtrage possible de ce client par Fluidra : l'intégration dit qui elle est (« gladys-fluidra-pool ») et n'imite jamais l'application ni ne contourne un blocage. Vérifiez que le compte fonctionne dans l'application ; si oui, signalez-le (l'API Fluidra est non officielle et peut refuser d'autres clients).
  • Un équipement en erreur (403, 404, 5xx, délai dépassé) : seul son badge passe à « injoignable », les autres sont lus.
  • Fluidra injoignable (erreur réseau, 5xx) : nouvel essai après 1, 2, 5, 10 puis toutes les 15 minutes, jamais plus vite que l'intervalle de rafraîchissement. Cette attente est gardée au redémarrage (15 minutes au plus) ; elle ne retient que les lectures, et le bouton Tester la connexion essaie aussitôt.

Limites​

  • Jamais testée avec un vrai compte : les registres viennent de l'intégration Home Assistant, vérifiés par ses utilisateurs sur leurs appareils.
  • Non pris en charge pour l'instant : pompes génériques, pompes à chaleur PX50, Pro Elyo, Z950iQ et autres familles sans registres connus, robots, vannes, prises, doseurs, coffrets Command Connect, programmations.
  • Le compte doit être dans la région Europe (EMEA) de Fluidra.

Crédits​

  • Fluidra-pool de foXaCe (MIT) : l'API du cloud, la connexion, les familles d'équipements et leurs registres sont portés en JavaScript.
  • Voir THIRD_PARTY_NOTICES.md.

Fluidra, AstralPool et Zodiac sont des marques de leurs propriétaires ; ce projet est sans lien avec Fluidra.

Paramètres de configuration​

Voici les paramètres demandés par Fluidra Pool dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre compte FluidrasectionNonAmène dans Gladys les équipements de piscine de votre compte Fluidra Pool : température de l'eau, pH, redox, salinité et chlore des électrolyseurs et analyseurs, production de chlore, pompe de filtration (marche, vitesse), pompe à chaleur (température de l'eau, consigne, mode) et éclairage. Lecture chaque minute par le cloud Fluidra. Saisissez l'e-mail et le mot de passe de l'application Fluidra Pool, enregistrez, puis ajoutez les équipements depuis l'onglet Découverte. La vitesse de la pompe, l'éclairage et la consigne de la pompe à chaleur restent en lecture seule tant que vous n'autorisez pas les commandes ci-dessous ; le dosage chimique n'est jamais commandé. API non officielle, jamais testée avec un vrai compte. Sans lien avec Fluidra.
E-mail FluidrastringOuiCelui avec lequel vous vous connectez à l'application Fluidra Pool.
Mot de passe FluidrasecretOuiGardé par Gladys dans sa base, jamais réaffiché, envoyé seulement à Fluidra (son service de connexion AWS Cognito, en HTTPS).
Autoriser les commandes depuis Gladys (vitesse de la pompe, éclairage, consigne de la pompe à chaleur)booleanNonDésactivé par défaut : tout est affiché, rien n'est modifié. Activé, une scène ou un tableau de bord peut arrêter ou démarrer la pompe de filtration, allumer l'éclairage et changer la consigne de la pompe à chaleur (35 °C au plus) en votre absence. Le dosage chimique (pH, chlore) n'est jamais commandé.
Intervalle de rafraîchissement (s)numberNonSecondes entre deux lectures du compte (60 à 900).
Langue des nomsselectNonSert aux noms des appareils et des fonctionnalités ajoutés désormais, et au mode de la pompe à chaleur.

Comment installer Fluidra Pool dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Fluidra Pool apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/lm1lc3n7/gladys-fluidra-pool:0.1.1), 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).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-fluidra-pool.

Fluidra Pool 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​

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

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂