Skip to content

About

Home Assistant Pool Filtration manager, optimizing use of Solar panel and EDF Tempo.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

alt text

🏊 Smart Pool Filtration Manager — Custom Component Home Assistant

ContrĂŽle intelligent de la pompe de filtration de la piscine.

Home Assistant Hacs_badge License: MIT Visual Studio Code Python

GitHub release GitHub Release Date Github All Releases GitHub forks GitHub Repo stars


📋 Description

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.


✹ FonctionnalitĂ©s

  • ⏱ 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

📩 Installation via HACS (recommandĂ©)

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Prérequis

  • Home Assistant version 2025.2.4 ou supĂ©rieure
  • HACS installĂ© sur votre instance Home Assistant

Étape 1 — Ajouter le dĂ©pĂŽt personnalisĂ© dans HACS

HACS ne référence pas encore ce dépÎt par défaut. Ajoutez-le manuellement.

  1. Dans Home Assistant, ouvrez HACS dans la barre latérale
  2. Cliquez sur les ⋼ (trois points) en haut à droite
  3. Sélectionnez DépÎts personnalisés
  4. Dans le champ DépÎt, saisissez l'URL du dépÎt GitHub :
    https://github.com/pvergezac/SmartPoolFiltrationManager
    
  5. Dans Catégorie, sélectionnez Intégration
  6. Cliquez sur Ajouter

Étape 2 — Installer l'intĂ©gration

  1. Toujours dans HACS, allez dans Intégrations
  2. Cliquez sur + Explorer et télécharger des dépÎts
  3. Recherchez Smart Pool Filtration Manager
  4. Cliquez sur le résultat puis sur Télécharger
  5. Confirmez en cliquant sur TĂ©lĂ©charger dans la fenĂȘtre de confirmation

Étape 3 — RedĂ©marrer Home Assistant

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.

🔧 Installation Manuel

  1. Copier le dossier custom_components/smartpoolfiltmgr/ dans votre dossier config/custom_components/
  2. Redémarrer Home Assistant

⚙ Configuration

Étape 1 — Si vous n'avez pas de sonde de tempĂ©rature piscine

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.

Étape 2 — Ajouter l'intĂ©gration

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

Étape 3 — Options avancĂ©es

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és créées

Capteurs

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

ContrĂŽles

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)

Logique de décision

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) 🔌

Cas d'utilisation conjointe d'un routeur solaire

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

Table de durée selon température

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)


Tableau de bord Lovelace (exemple)

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_manuel

Mon tableau de bord

alt text

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

đŸ› ïž DĂ©pannage

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


đŸ€ Contribution

Les contributions sont les bienvenues ! Pour signaler un bug ou proposer une amélioration, ouvrez une issue sur GitHub.


📄 Licence

Ce projet est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.


Fait avec ❀ pour la communautĂ© Home Assistant francophone

Si vous aimez ce projet, ajouter une ⭐ étoile sur Github

About

Home Assistant Pool Filtration manager, optimizing use of Solar panel and EDF Tempo.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages