Salut à tous,
Petit retour d'expérience sur l'intégration de mon spa Intex PureSpa dans Home Assistant. J'ai pas mal galéré au début et je n'ai trouvé aucun tuto complet sur ce modèle, donc je me dis que ça peut servir à d'autres
Le matériel
C'est un Intex PureSpa carré, version au sel (électrolyseur intégré). Le boîtier de commande porte la référence SB-HSWF20-2. Comme beaucoup de produits Intex récents, il est en fait piloté par une puce Tuya, ce qui ouvre la porte à une intégration locale
La galère de départ
Premier réflexe, l'appli officielle Intex Link. Elle fonctionne, mais impossible de la relier proprement à Home Assistant. J'ai tenté la voie classique du portail développeur Tuya IoT (scan du QR code pour récupérer l'appareil), et là mur complet : QRCode expired, pas d'accès au device, peu importe le data center choisi
Au bout de plusieurs essais j'ai laissé tomber Intex Link. Ce qui a tout débloqué : ajouter le spa dans l'appli Smart Life à la place. À partir de là tout est devenu possible
L'intégration via Tuya Local
J'utilise Tuya Local (le HACS de make-all : GitHub - make-all/tuya-local: Local support for Tuya devices in Home Assistant · GitHub), qui pilote les appareils Tuya en local, sans dépendance au cloud une fois configuré. La mise en place se fait avec la connexion assistée par le cloud Smart Life : on se connecte avec le code utilisateur Smart Life et la clé locale est récupérée automatiquement
Le spa parle en protocole 3.4. Une fois la clé locale en main, tout passe en LAN, aucun appel cloud pour le piloter au quotidien
Le décodage des DP
Là où ça se corse : aucun profil n'existait pour ce modèle. Il a fallu décoder les data points (DP) à la main, en croisant les logs locaux avec ce que je voyais sur le panneau et dans Smart Life. Ce que j'ai fini par trouver :
- 104 : alimentation
- 106 : filtration
- 107 : bulles
- 103 : assainissement (électrolyse au sel)
- 108 : chauffage (on/off)
- 109 : consigne de température
- 110 : température actuelle
- 114 : minuteur
Piège à connaître : le spa rapporte les températures en Fahrenheit. Il faut donc déclarer l'unité en °F dans le profil, et Home Assistant fait la conversion en °C
Contribution au dépôt
Plutôt que de garder ça dans mon coin, j'ai proposé le profil de l'appareil directement au dépôt de Tuya Local (GitHub - make-all/tuya-local: Local support for Tuya devices in Home Assistant · GitHub). Après une revue du mainteneur (passage en water_heater vu que l'appareil ne fait que chauffer, et clés de traduction pour le minuteur et l'électrolyse), la PR a été mergée. Résultat, le spa est maintenant reconnu nativement : si vous avez ce modèle, vous l'aurez en quelques clics sans rien décoder
Côté Home Assistant on récupère :
- une entité water_heater (consigne, température, mode de fonctionnement)
- des switch pour l'alimentation, la filtration, les bulles et l'électrolyse
- un capteur pour le minuteur
Les automatisations
C'est la partie que je trouve la plus intéressante. L'objectif : que le spa se gère seul et soit chaud quand j'en ai besoin, sans chauffer pour rien
- Préchauffe adaptative : l'automatisation calcule le temps de chauffe nécessaire en fonction de la température de l'eau et de la météo extérieure (via l'intégration Météo-France) pour atteindre 35°C pile à l'heure voulue. Pas de chauffe à vide
- Coupure le soir, avec un garde-fou un peu plus tard dans la nuit au cas où le chauffage aurait été relancé à la main
- Préchauffe le matin le week-end, puis arrêt une fois la température atteinte (l'eau plane ensuite toute seule avec le soleil)
- Maintien de la filtration : le spa a un minuteur interne de 2h qui coupe la pompe automatiquement, donc HA réenclenche la filtration régulièrement sur la plage voulue, avec une pause le matin
- Sécurités : protection hors-gel l'hiver, alerte si le chauffage tourne longtemps sans atteindre la consigne, arrêt des bulles après 30 minutes
- Suivi de l'entretien : comptage des heures de filtration pour le rappel de nettoyage de cartouche, plus des rappels brome/pH et vidange
Un truc appris à mes dépens : en été chez moi (sud de la France), le soleil sur la couverture suffit à tenir l'eau autour de 30/31°C, et certains jours elle monte au-dessus de la consigne toute seule. La préchauffe ne se déclenche donc que si l'eau est réellement sous la cible, sinon on chaufferait pour rien
Le dashboard
Rien d'extraordinaire mais pratique au quotidien : la tuile water_heater pour piloter, un graphe ApexCharts avec température actuelle et consigne, deux jauges pour les heures de filtration et de chauffe du jour, et un compteur d'heures de filtration depuis le dernier nettoyage de cartouche avec un bouton de remise à zéro
Quelques pièges
- Tant que votre profil n'est pas mergé, le fichier custom dans le dossier devices de Tuya Local est écrasé à chaque mise à jour HACS. Pensez à le remettre, ou figez les mises à jour le temps que ça passe
- Si vous partez d'une config perso et passez ensuite à la version officielle, les entités peuvent changer de nom et de domaine (chez moi le climate est devenu water_heater). Prévoyez d'adapter automatisations et dashboard
- Le spa est thermostatique : couper le mode ne suffit pas toujours, il peut reprendre la main pour tenir la consigne. Le plus fiable pour vraiment stopper la chauffe, c'est de baisser la consigne en dessous de la température de l'eau
Voilà pour le partage. Si certains ont le même spa et veulent les YAML des automatisations ou du dashboard, je peux les poster ![]()


