Ma pompe est plus intelligente que moi - Blueprint piscine avec QI de température

:swimming_man: Blueprint : Gestion Pompe Piscine avec prolongation selon T°

Lien GitHub : myblueprints/pool.yaml

:clipboard: Description

Blueprint complet pour automatiser votre pompe de piscine avec gestion intelligente de la température et notifications enrichies.

:sparkles: Fonctionnalités principales

:clock3: Programmation horaire flexible

  • Démarrage personnalisable (par défaut 9h03)
  • Pause midi optionnelle avec horaires ajustables (12h03-13h33)
  • Arrêt normal configurable (par défaut 20h01)
  • Prolongation automatique si température eau élevée

:thermometer: Gestion intelligente de la température

  • Seuil personnalisable (25-35°C, par défaut 30°C)
  • Durée de prolongation modulable (0.5h à 4h, par défaut +2h)
  • Vérification automatique à l’heure d’arrêt prévue
  • Continuation sans interruption si seuil dépassé

:wrench: Entités optionnelles mais recommandées

  • Boolean de verrouillage pour maintenance
  • 5 capteurs de surveillance (pH, Redox, température ambiante + 2 libres)
  • Messages enrichis avec état de tous les capteurs configurés

:iphone: Notifications flexibles

  • Telegram et/ou notifications mobiles
  • Messages contextuels (démarrage, pause, prolongation, arrêt)
  • État complet des paramètres eau à chaque arrêt

:dart: Cas d’usage typique

09h03 → Démarrage pompe
12h03 → Pause midi (optionnelle)
13h33 → Reprise filtration
20h01 → Vérification température :
        ├─ < 30°C → Arrêt normal + notification
        └─ ≥ 30°C → Prolongation +2h + notification
22h01 → Arrêt forcé (si prolongation active)

:gear: Configuration requise

Entités obligatoires :

  • Switch pompe (ex: switch.pompe_piscine)
  • Capteur température eau (ex: sensor.temperature_piscine)

Entités optionnelles :

  • Input boolean verrouillage (maintenance)
  • Capteurs qualité eau (pH, Redox, chlore…)
  • Service notification mobile (si choisi)

:rocket: Installation

  1. Télécharger le blueprint depuis GitHub
  2. Copier dans /config/blueprints/automation/
  3. Redémarrer Home Assistant
  4. Créer une automation basée sur ce blueprint
  5. Configurer vos entités et horaires

:bar_chart: Exemple de notification

🏊 PROLONGATION FILTRATION (+2h)
🌡️ Température eau : 31.2 °C (≥ 30°C)
⏰ Pompe continue jusqu'à 22:01 pour optimiser la filtration.

📊 État actuel :
- 🌡️ Eau : 31.2 °C
- 💧 pH : 7.3
- ⚡ Redox : 720 mV
- 🏠 T° ambiante : 28.5 °C

:lock: Sécurités intégrées

  • Vérification état pompe avant actions
  • Gestion horaires > 24h (prolongation après minuit)
  • Conditions robustes pour éviter actions inutiles
  • Logbook détaillé pour traçabilité

Testé avec : Home Assistant 2025.6.1+
Maintenance : Aucune une fois configuré

N’hésitez pas à faire vos retours et suggestions d’amélioration ! :blush:

4 « J'aime »

Bonjour,
Merci pour ce Blueprint ! :wink:
Je l’ai adapté à mes besoins, donc largement simplifié (suppression du verrouillage, qualité d’eau, messages, prolongation). Pas mal d’erreurs de syntaxe dans le fichier YAML que j’ai corrigé.
En hiver je réduis à quelques heures (4 heures en ce moment) le temps de filtration car la piscine est bâchée et le traitement d’eau stoppé. D’ailleurs j’ignore la base de calcul du temps normal est-ce (température / 2) ? :waving_hand:

blueprint:
  name: "Gestion Pompe Piscine"
  description: >
    Automatisation complète pour pompe de piscine avec :
    - Programmation horaire flexible (démarrage, pause midi optionnelle, arrêt)
  domain: automation
  input:
    # === ENTITÉS PRINCIPALES ===
    pump_switch:
      name: "Switch de la pompe"
      description: "Entité switch qui contrôle votre pompe de piscine"
      selector:
        entity:
          filter:
            - domain: switch
    water_temp_sensor:
      name: "Capteur température de l'eau"
      description: "Capteur qui mesure la température de l'eau de la piscine"
      selector:
        entity:
          filter:
            - domain: sensor
            - device_class: temperature
    # === HORAIRES ===
    start_time:
      name: "Heure de démarrage"
      description: "Heure à laquelle la pompe démarre le matin"
      default: "10:00:00"
      selector:
        time:
    enable_lunch_pause:
      name: "Activer la pause de midi"
      description: "Cochez pour programmer une pause à midi"
      default: true
      selector:
        boolean:
    pause_start_time:
      name: "Début de la pause midi"
      description: "Heure de début de la pause"
      default: "12:00:00"
      selector:
        time:
    pause_end_time:
      name: "Fin de la pause midi"
      description: "Heure de reprise après la pause"
      default: "14:00:00"
      selector:
        time:
    normal_stop_time:
      name: "Heure d'arrêt normal"
      description: "Heure d'arrêt normale de la pompe"
      default: "18:00:00"
      selector:
        time:
# === DÉCLENCHEURS ===
trigger:
  # Démarrage
  - trigger: time
    at: !input start_time
    id: start
  # Pause midi (conditionnel)
  - trigger: time
    at: !input pause_start_time
    id: pause_start
    enabled: !input enable_lunch_pause
  # Reprise après pause (conditionnel)
  - trigger: time
    at: !input pause_end_time
    id: pause_end
    enabled: !input enable_lunch_pause
  # Arrêt normal
  - trigger: time
    at: !input normal_stop_time
    id: normal_stop
# === ACTIONS ===
action:
  - choose:
      # === DÉMARRAGE ET REPRISE ===
      - conditions:
          - condition: trigger
            id:
              - start
              - pause_end
        sequence:
          - action: switch.turn_on
            target:
              entity_id: !input pump_switch
      # === ARRET POMPE ===
      - conditions:
          - condition: trigger
            id:
              - pause_start
              - normal_stop
        sequence:
          - action: switch.turn_off
            target:
              entity_id: !input pump_switch
mode: single