Contrôle intelligent de la pompe de filtration de la piscine.
Smart Pool Filtration Manager est une intégration personnalisée pour Home Assistant qui permet de controler la pompe de filtration de la piscine selon la température de l'eau, la production solaire photovoltaïque, la couleur du jour et plage horaire EDF Tempo (intégration RTE Tempo nécessaire) afin d'optimiser l'utilisation de l'energie solaire et des tarifs préférentiels, tout en privilégiant les autres besoins en energie de la maison.
- ⏱️ Durée calculée automatiquement selon la règle T°/2 (ex : 24°C → 6h de filtration)
- ☀️ Priorité solaire : la pompe tourne en priorité quand les panneaux produisent suffisamment
- Priorité ECS : la chauffe du ballon ECS peut être priorisé si sa température est disponible (en option)
- Seuils Marche/Arret pompe : controle de la pompe en fonction de la puissance solaire et de la consomation réseau
- Couleur TEMPO : limite de consommation réseau en fonction de la couleur du jour TEMPO (en option)
- 🔋 Complétion intelligente : si la production solaire ne suffit pas, complète sur le réseau en fin de journée
- 📊 Suivi journalier : durée filtrée, contribution solaire, progression
- 🔧 4 modes de fonctionnement : Automatique, Solaire uniquement, Manuel, Arrêt forcé
- 💾 Persistance : les compteurs survivent aux redémarrages de HA
- Home Assistant version 2025.2.4 ou supérieure
- HACS installé sur votre instance Home Assistant
HACS ne référence pas encore ce dépôt par défaut. Ajoutez-le manuellement.
- Dans Home Assistant, ouvrez HACS dans la barre latérale
- Cliquez sur les ⋮ (trois points) en haut à droite
- Sélectionnez Dépôts personnalisés
- Dans le champ Dépôt, saisissez l'URL du dépôt GitHub :
https://github.com/pvergezac/SmartPoolFiltrationManager - Dans Catégorie, sélectionnez Intégration
- Cliquez sur Ajouter
- Toujours dans HACS, allez dans Intégrations
- Cliquez sur + Explorer et télécharger des dépôts
- Recherchez Smart Pool Filtration Manager
- Cliquez sur le résultat puis sur Télécharger
- Confirmez en cliquant sur Télécharger dans la fenêtre de confirmation
Après l'installation, un redémarrage est nécessaire :
Paramètres → Système → Redémarrer → Redémarrer Home Assistant
Attendez que Home Assistant soit complètement redémarré avant de continuer.
- Copier le dossier
custom_components/smartpoolfiltmgr/dans votre dossierconfig/custom_components/ - Redémarrer Home Assistant
Si vous n'avez pas de sonde de température de l'eau de la piscine, vous pouvez la remplacer par une entité de capteur fictif, basée sur une entrée numerique.
Ajouter le code suivant dans le fichier configuration.yml de Home Assistant.
# Entités fictives pour tester sans vrai matériel
template:
- sensor:
- name: "Temperature Piscine (simulée)"
state: "{{ states('input_number.pool_temperature_simu') }}"
unit_of_measurement: "°C"
device_class: temperature
input_number:
pool_temperature_simu:
name: "Température de la piscine (simulée)"
initial: 28
min: 10
max: 35
step: 1
Selectionner le capteur Temperature Piscine (simulée) lors de la configuration de l'intégration à l'étape suivante.
Ajouter également l'entré nurérique dans votre Dashboard de contrôle de la filtration. Le changement de mode de filtration ré-actualise le calcul de la durée cible.
Paramètres → Appareils et services → Ajouter une intégration → Smart Pool Filtration Manager
Renseignez :
| Champ | Description | Exemple |
|---|---|---|
| Switch de la pompe | Entité switch qui allume/éteint la pompe | switch.pompe_piscine |
| Température de l'eau | Capteur de température dans le bassin | sensor.temperature_piscine |
| Production solaire | Capteur de puissance instantanée des panneaux (W) | sensor.solaire_puissance |
| Consommation réseau | Capteur de puissance consommée sur le réseau | sensor.consommation_reseau |
| Couleur Tempo | Entité couleur Tempo (optionnel) | sensor.rte_tempo_couleur_actuelle |
| Heures crause | Entité Heures Creuses Tempo (optionnel) | binary_sensor.rte_tempo_heures_creuses |
| Température ballon | Capteur de température du ballon ECS (optionnel) | sensor.temperature_ballon |
Accessible via le bouton Configurer sur la carte de l'intégration :
| Option | Défaut | Description |
|---|---|---|
| Heure de réinitialisation | 6 h | la journée de filtration (fin des HC de nuit) |
| Durée minimale/jour | 2 h | Garantie même si température froide |
| Durée maximale/jour | 12 h | Plafond absolu |
| Plage solaire - début | 8 h | Début de la filtration sur production solaire |
| Plage solaire - fin | 20 h | Fin de la filtration sur production solaire |
| Puiss solaire min | 500 W | Solaire minimum pour autoriser la pompe |
| Temp Ballon ECS min | 40° | Temp ballon minimum pour autoriser la pompe |
| Hystérésis ECS | 2° | Ecart min pour éviter les oscilations |
| Conso max démarrage pompe | 50 W | Seuil de démarrage |
| Conso max arret pompe | 500 W | Seuil conso max (jour BLEU ou sans TEMPO) |
| Conso max arret pompe BLANC | 100 W | Seuil conso max (jour BLANC) |
| Conso max arret pompe | 50 W | Seuil conso max (jour ROUGE) |
| Plage compl réseau - début | 22 h | Début de complément de filtration (nuit) |
| Plage solaire - fin | 6 h | Fin de complément de filtration (nuit) |
| Complément réseau | ✅ | Validé (jour BLEU ou sans TEMPO) |
| Complément réseau BLANC | ❌ | Validé (jour BLANC) |
| Complément réseau ROUGE | ❌ | Validé (jour ROUGE) |
| Entité | Description |
|---|---|
sensor.pool_filtration_duree_journaliere |
Minutes de filtration effectuées aujourd'hui |
sensor.pool_filtration_duree_cible |
Durée cible de filtration, calculée selon T° de l'eau |
sensor.pool_filtration_contribution_solaire |
Minutes filtrées grâce au solaire |
sensor.pool_filtration_mode |
Mode actif + état détaillé |
sensor.pool_filtration_water_temp |
Température de l'eau de la piscine |
sensor.pool_filtration_water_heater |
Température du ballon ECS |
| Entité | Description |
|---|---|
select.pool_filtration_mode |
Sélecteur de mode (Automatique / Solaire / Manuel / Arrêt) |
switch.pool_filtration_forcage_manuel |
Force la pompe ON (passe en mode Manuel) |
Toutes les 5 minutes :
│
├─ Mode MANUEL ? → respecter l'état du switch de forçage manuel
├─ Mode ARRÊT ? → pompe OFF
├─ Quota atteint ? → pompe OFF (durée cible dépassée)
├─ Hors plage horaire ? → pompe OFF
│
├─ Plage solaire (en Mode SOLAIRE ou AUTO)
│ ├─ Production < seuil → pompe OFF
│ ├─ Température ballon ECS < seuil priorité → pompe OFF
│ ├─ Durée réalisée >= durée cible → pompe OFF
│ ├─ Consomation < seuil de démarrage → pompe ON ☀️
│ └─ Consomation > seuil d'arret (suivant couleur TEMPO) → pompe OFF
│
└─ Plage complementaire (en Mode AUTO) :
├─ Complement non autorisé pour la couleur du jour → pompe OFF
└─ Durée réalisée < durée cible → pompe ON (réseau) 🔌
Si comme moi, vous utilisez un routeur solaire* pour chauffer votre ballon ECS, le réglage des differents seuils de consommation et production est particuliairement important pour une bonne optimisation et la stabilité de fonctionnement.
En effet, le fonctionnement du routeur "fausse en partie la mesure de consomation", en faisant apparaitre une consomation de la maison nulle ou inférueure à la réalité, si il y a du soleil, alors que le ballon ECS est en chauffe. Le réglage des seuils de consommation de démarrage et d'arret sont alors particulierement pointus.
En été, le fonctionnement de la pompe de filtration dans la journée est prioritaire sur celle du ballon ECS. En selectionnant un seuil de consomation pour le démarrage de la pompe faible mais positif (50 à 100w), le routeur conserve sont fonctionnement, mais n'est pas priorisé. Pour éviter de démarrer la pompe trop taux et une consommation sur le réseau, il est nécessaire de relever le seuil de production solaire minumun pour que la production puisse alimenté au moins partiellement la pompe (exemple 800W pour une pompe de 1000W). En acceptant une legère consommation sur le réseau (1/4 à 1/2 de la puissance de la pompe) l'intégration et le routeur pourront jouer pleinement leurs role Il en résultera une faible consommation sur le reseau, mais demarrera la filtration bien plus taux au levé du soleil.
* Voir le projet : MSunPV Intégration pour le routeur solaire de Ard-Tek
| Température | Durée de filtration |
|---|---|
| ≤ 10°C | 1 h |
| 15°C | 2 h |
| 20°C | 4 h |
| 24°C | 6 h |
| 28°C | 9 h |
| 30°C | 15 h |
| >35°C | 24 h |
(Interpolation linéaire entre les points)
type: vertical-stack
cards:
- type: glance
title: Filtration Piscine
entities:
- entity: sensor.pool_filtration_mode
name: Mode
- entity: sensor.pool_filtration_duree_journaliere
name: Durée aujourd'hui
- entity: sensor.pool_filtration_duree_cible
name: Objectif
- type: gauge
entity: sensor.pool_filtration_duree_journaliere
name: Progression filtration
min: 0
max: 720 # 12h en minutes
severity:
green: 0
yellow: 300
red: 600
- type: entities
title: Contrôles
entities:
- entity: select.pool_filtration_mode
- entity: switch.pool_filtration_forcage_manuelMon tableau de bord
views:
- type: masonry
title: Piscine
path: piscine
cards:
- show_current: true
show_forecast: false
type: weather-forecast
entity: weather.forecast_st_cyprien
forecast_type: daily
- type: entities
entities:
- entity: >-
select.smart_pool_filtration_manager_pool_filtration_mode_de_fonctionnement
- entity: >-
switch.smart_pool_filtration_manager_pool_filtration_forcage_manuel
name: Forçage manuel
icon: mdi:debug-step-over
- entity: switch.smart_plug_outlet
icon: mdi:power
name: Pompe piscine
secondary_info: last-changed
- entity: sensor.temperature_piscine_simulee
- entity: sensor.smart_pool_filtration_manager_duree_cible_filtration
name: Durée cible
secondary_info: none
- entity: sensor.smart_pool_filtration_manager_duree_filtration_realisee
name: Durée réalisée
secondary_info: last-updated
- entity: sensor.smart_pool_filtration_manager_contribution_solaire
name: Contribution solaire
- entity: sensor.smart_pool_filtration_manager_pool_filtration_tempo
name: Couleur TEMPO
- entity: sensor.smart_plug_energy
name: Consommé aujourd'hui
- entity: input_number.pool_temperature_simu
title: Filtration Piscine
show_header_toggle: false
state_color: false
La pompe ne démarre pas malgré du solaire disponible
- Vérifier que l'heure actuelle est dans la plage solaire autorisée
- Vérifier que la production dépasse le seuil configuré (défaut 500W)
- Vérifier que la température du ballon ECS est supérieure au seuil de priorisation (défaut 40°)
- Vérifier que la consomation réseau est inférieure aux seuils de démarrage et d'arret de la pompe
La pompe alterne entre arret et démarre toutes les 5mn, en plage solaire
- augmenter le seuils de consommation d'arret, en tenant compte de la puissance de la pompe
- augmenter le seul de production solaire minimun, ou ajuster le seuil de démarrage
Les compteurs ne se remettent pas à zéro
→ Le reset se fait automatiquement à l'heure choisie. Vérifier les logs HA pour Daily reset
Erreur entity_not_found
→ Les entités doivent exister dans HA avant la configuration de l'intégration
Les contributions sont les bienvenues ! Pour signaler un bug ou proposer une amélioration, ouvrez une issue sur GitHub.
Ce projet est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Si vous aimez ce projet, ajouter une ⭐ étoile sur Github

