Contents
- 1 Update du 5 février 2022
- 2 Intro
- 3 Pré requis
- 4 Intégration dans HACS,
- 5 Calcul du temps de filtration (Mode Automatique).
- 6 Mesure de la température de l’eau
- 7 Indicateur de fonctionnement de la pompe
- 8 Calcul du temps de fonctionnement de la pompe
- 9 Panneaux de commande
- 10 Notifications
- 11 Conclusion
- 12 Liste des publications en lien avec cet article:
Update du 5 février 2022
Cet article est devenu dans ma configuration, obsolète, il ne sera plus maintenu et restera dans cette version.
En effet, j’utilise depuis février 2022, une application AppDaemon personnelle plus adaptée à mes besoins. Je vous invite à la découvrir dans cet article.
Bien évidemment, Pool Pump manager reste fonctionnel et vous pouvez très bien l’utiliser comme décrit dans cet article.
Intro
Heureux possesseur d’une piscine depuis de nombreuses années, je constate au quotidien que le poste dépense consommation électrique prend une part importante dans le budget de fonctionnement. L’optimisation du temps de filtration est donc primordial, et cela bien évidemment tout en respectant la qualité de l’eau de baignade.
Dans cet article, je partage mon expérience sur la gestion du temps de pompage.
Pré requis
La mise en oeuvre nécessite un minimum de connaissances sur les fondamentaux de HA.
Remarque: Mes fichiers « .yaml » sont regroupés dans un dossier « config/packages ». J’utilise la directive « !include_dir_named packages » très pratique pour organiser son HA.
Avant la migration de mon système domotique de Jeedom vers HA, je pilotais la pompe de filtration avec Jeedom et le plugin « Pool » de scadinot.controle
Une fois sur HA, j’ai cherché le moyen de remplacer le plugin par des fonctions similaires sur HA. Apres plusieurs tests de plugin et autres programmations sans succès, je me suis arrêté sur le HACS « Pool pump Manager » développé par « oncleben31« .
Ce composant a été développé sur la base de celui de « exxamalte » avec quelques améliorations dont la principale est la prise en compte de la température de l’eau dans le calcul de la durée de filtration.
L’intégration du module dans HA, simplifiée par l’utilisation de HACS, est très bien décrite dans la documentation, elle se décompose ainsi:
Intégration dans HACS,
Choisir la branche « Dev » du module.
Déclaration du module « pool_pump »
et des trois variables indispensables au fonctionnement du module dans configuration.yaml:
pool_pump:
switch_entity_id: switch.pool_pump_switch
pool_pump_mode_entity_id: input_select.pool_pump_mode
pool_temperature_entity_id: sensor.pool_water_temperature
- avec:
- switch_entity_id: nom de l’entité de pilotage de la pompe
- pool_pump_mode_entity_id: nom de l’entité permettant de selectionner le mode de fonctionnement de la pompe
- pool_temperature_entity_id: nom de l’entité de la mesure de temperature de l’eau
Le module nécessite la mesure de la température de l’eau et le pilotage de la pompe de filtration, personnellement j’utilise un automate WAGO série 750 communiquant en Modbus, équipé d’une carte d’entrées pt100, d’une carte d’entrées digitales et d’une carte de sortie relais.
Bien entendu, cet automate peut être remplacé par n’importe quel dispositif compatible HA, remplissant les mêmes fonctionnalités. Un ESP32 équipé d’une sonde ds18b20 et d’un module de sortie relais sous ESPHOME peut très bien convenir.
En retour le module calcule deux entités:
- pool_pump.next_run_schedule: L’heure de début et fin de la filtration en deux fois, avant et après l’heure pivot.
- pool_pump.total_daily_filtering_duration: le temps de filtration théorique sur la journée.
Déclaration des entités
Les entités associées à la piscine sont regroupées dans un fichier piscine.yaml.
input_number:
# utilisé pour simuler la température de l'eau pendant les test
temp_piscine:
name: Temp Eau Simul
min: -2
max: 35
unit_of_measurement: °C
icon: mdi:thermometer
# temperature de l'eau avant arret ppe
mem_temp_piscine:
name: Temp Eau avant arret
min: -2
max: 35
unit_of_measurement: °C
step: 0.1
icon: mdi:thermometer
mode: box
# temperature de l'eau avant arret ppe
temps_cartouche_chlore:
name: Temps cartouche Chlore
min: 0
max: 3600
unit_of_measurement: h
step: 0.1
icon: mdi:clock
mode: box
# Seuil inferieur temperature Hors gel
hors_gel_inf:
name: Temp Inf Hors-Gel
min: -5
max: 1
unit_of_measurement: °C
icon: mdi:thermometer
# Seuil superieur temperature Hors gel
hors_gel_sup:
name: Temp Sup Hors-Gel
min: -2
max: 5
unit_of_measurement: °C
icon: mdi:thermometer
input_datetime:
heure_ouv_volet_pisc:
name: Heure Ouv Volet Auto
has_date: false
has_time: true
heure_ferm_volet_pisc:
name: Heure Ferm Volet Auto
has_date: false
has_time: true
heure_ma_pump_pisc_hiv:
name: Heure Ma Pompe Pisc Hiv
has_date: false
has_time: true
heure_at_pump_pisc_hiv:
name: Heure At Pompe Pisc Hiv
has_date: false
has_time: true
input_boolean:
# inutilisée????????? à verifier
pool_water_level_critical:
name: Niveau eau critique
initial: false
# EV appoint Piscine en mode automatique
ev_eau_piscine:
name: Ev Piscine
icon: mdi:water
# Volet Piscine en mode automatique
volet_piscine_auto:
name: Volet Piscine (Auto=1)
icon: mdi:garage
#cde eclairage piscine
eclairage_piscine:
name: Eclairage piscine
icon: mdi:car-light-high
# Calcul du hors gel- Mémoire de mise en hors gel
hors_gel:
name: Gel piscine (si=1)
icon: mdi:snowflake-alert
initial: false
# selection du mode de fonctionnement de la filtration
input_select:
pool_pump_mode:
name: Pool Pump mode
options:
- "Auto"
- "On"
- "Off"
- "Hivernage"
initial: "Auto"
icon: mdi:pool
sensor:
# Affichage du temps de fonctionnement de la pompe ce jour
- platform: history_stats
name: Pool Pump running today
entity_id: binary_sensor.pool_pump_running
state: "on"
type: time
start: "{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}"
end: "{{ now() }}"
# Affichage du temps de fonctionnement de l'électrovanne appoint d'eau ce jour
- platform: history_stats
name: Ev Eau tps ouverture jour
entity_id: switch.cde_ev_eau
state: "on"
type: time
start: "{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}"
end: "{{ now() }}"
# Affichage du temps de fonctionnement de l'électrovanne appoint d'eau sur 7 jours
- platform: history_stats
name: Ev eau sur 7j
entity_id: switch.cde_ev_eau
state: 'on'
type: time
end: "{{ now().replace(hour=0, minute=0, second=0) }}"
duration:
days: 7
template:
# mesure de la température de l'eau, permet de basculer facilement en mode simulation
# en commentant ou decommentant les lignes ci-dessous
sensor:
- name: "pool_water_temperature"
state: "{{ states('input_number.mem_temp_piscine')|float(default=0)|round(1) }}" # memoire temperature de l'eau avant arret pompe
#e_template: "{{ states('input_number.temp_piscine_ph')|float|round(1) }}" # Simulation avec input_numbe
icon: mdi:oil-temperature
unit_of_measurement: "ºC"
# calcul de l'heure pivot, c'est l'heure autour de laquelle le temps de fonctionnement est réparti
- name: "heure_pivot_piscine"
state: '{{ as_timestamp(strptime(state_attr("sun.sun", "next_noon"), "")) | timestamp_custom("%H:%M") }}'
icon: mdi:weather-sunny
# Recopie pression filtre lu dans esphome dans un template
- name: "pression_piscine_p"
state: '{{ states("sensor.pression_filtre") |float(default=0) | round(2) }}'
unit_of_measurement: "Bars"
binary_sensor:
# Si la puissance electrique est superieure à 500w, on considere que la pompe est en fonctionnement
- name: "pool_pump_running"
state: >-
{{states.sensor.pzem_pisc_puissance.state | float(default=0) > 500}}
# Calcul en fonction de la position du soleil
# Sun Azimtuh est calculé dans Meteo
- name: "soleil_volet_piscine"
state: >-
{% set a=states('sensor.sun_azimuth_2')|float(default=0) %}
{{ (a>97) and (a<290) }}
# Commande du volet roulant via un Cover
cover:
- platform: template
covers:
volet_piscine:
device_class: garage
value_template: "{{is_state('binary_sensor.volet_piscine_ferme', 'off')}}"
open_cover:
service: script.volet_piscine_ouverture
close_cover:
service: script.volet_piscine_fermeture
icon_template: >-
{% if is_state('binary_sensor.volet_piscine_ferme', 'on') %}
mdi:garage
{% else %}
{% if is_state('binary_sensor.volet_piscine_ferme', 'off') %}
mdi:garage-open
{% else %}
mdi:garage-alert
{% endif %}
{% endif %}
Modes de Fonctionnement
J’utilise 4 modes de fonctionnement sélectionnable par « input_select.mode_fonctionnement_piscine »:
- Ete: Temps de fonctionnement calculé en fonction de la température de l’eau
- Hiver: Filtration en fonction d’une de début et d’une durée maximum de filtration
- Ma F: Marche forcée de la pompe
- At F: Arrêt forcé de la pompe
En fonction du mode sélectionné, l’automatisation déclenche les actions requises (force le « input_select.pool_pump_mode » et déclenche le service « pool_pump.check »).
Au lancement, HA exécute une fois le service « pool_pump.check » afin d’éviter d’avoir des valeurs inconnues dans le temps et les horaires de filtration.
Descriptif fonctionnel
Code de l’automatisation
- id: '1611515162753'
alias: Piscine 1-Calcul fonctionnement Pompe Ete/Hiver
description: Mode Ete/Hiver/Ma Forcée/At Forcé
trigger:
- platform: state
entity_id: sensor.pool_water_temperature
id: temp
- platform: state
entity_id: input_select.mode_fonctionnement_piscine
id: mode
- platform: state
entity_id: input_boolean.piscine_arret_force
id: at_forcé
- platform: time_pattern
minutes: /5
id: 5min
condition: []
action:
- choose:
- conditions:
- condition: and
conditions:
- condition: state
entity_id: input_select.mode_fonctionnement_piscine
state: Ete
- condition: or
conditions:
- condition: trigger
id: temp
- condition: trigger
id: at_forcé
- condition: state
entity_id: input_select.mode_fonctionnement_piscine
state: Ete
sequence:
- service: input_select.select_option
target:
entity_id: input_select.pool_pump_mode
data:
option: Auto
- conditions:
- condition: state
entity_id: input_select.mode_fonctionnement_piscine
state: Hiver
sequence:
- choose:
- conditions:
- condition: time
after: input_datetime.heure_ma_pump_pisc_hiv
- condition: numeric_state
entity_id: sensor.pool_pump_running_today
below: input_number.duree_filtration_max_mode_hiver
sequence:
- service: input_select.select_option
target:
entity_id: input_select.pool_pump_mode
data:
option: 'On'
- service: homeassistant.turn_on
target:
entity_id: switch.pool_pump_switch
default:
- service: input_select.select_option
target:
entity_id: input_select.pool_pump_mode
data:
option: 'Off'
- service: homeassistant.turn_off
target:
entity_id: switch.pool_pump_switch
- conditions:
- condition: state
entity_id: input_select.mode_fonctionnement_piscine
state: Ma F
sequence:
- service: input_select.select_option
target:
entity_id: input_select.pool_pump_mode
data:
option: 'On'
- service: homeassistant.turn_on
target:
entity_id: switch.pool_pump_switch
- conditions:
- condition: state
entity_id: input_select.mode_fonctionnement_piscine
state: At F
sequence:
- service: input_select.select_option
target:
entity_id: input_select.pool_pump_mode
data:
option: 'Off'
- service: homeassistant.turn_off
target:
entity_id: switch.pool_pump_switch
- conditions:
- condition: trigger
id: Start
sequence: []
default: []
- service: pool_pump.check
mode: single
Calcul du temps de filtration (Mode Automatique).
La durée de filtration est régit par la courbe bleue de AbacusFilteringDuration() également utilisée par le plugin Jeedom, c’est une des fonctionnalités du module Python « PyPoolPump » développé par oncleben31.
L’automatisation principale appelle le « service: pool_pump.check », celui ci évalue l’heure de démarrage et l’heure d’arrêt de la pompe en fonction de:
- l’heure actuelle
- la température de l’eau
- l’heure pivot:
- Celle ci correspond à l’heure du midi solaire UTC (zenith) voir_doc . le temps de filtration est réparti 1/3 avant l’heure pivot et 2/3 après. J’ai déclaré le template « heure_pivot_piscine: » afin de le visualiser dans la carte Pool. Ce n’est pas indispensable mais c’est utile à la compréhension du fonctionnement .
NB: Vous pourrez constater quelques fois, qu’à l’heure de début filtration calculée, la pompe démarre puis s’arrête quelques instants plus tard pour redémarrer ensuite. C’est normal, à chaque changement de T° de l’eau ou toutes les 5 minutes, la durée est recalculée. Si la température a baissée, le système recalcule à la baisse le temps de filtration et donc l’heure de démarrage.
Le temps de fonctionnement est recalculé sur:
- Le changement de la température de l’eau
- Changement du mode de fonctionnement
- Arret forcé mode auto
- Toutes les 5 minutes
- Au lancement de HA
Mesure de la température de l’eau
Mise en oeuvre
La sonde de mesure de température est située dans mon sous sol. Lorsque la filtration est arrêtée, la température mesurée évolue lentement vers celle du sous-sol qui l’été, est très inférieure à la température de l’eau. Le lendemain, le système se base sur une température inférieure à celle de l’eau donc recalcule un temps de filtration trop faible, démarre la pompe tard dans la matinée, ajuste le temps de filtration qui s’allonge au fur et à mesure que la température mesurée se rapproche de celle de l’eau, pour finir avec une filtration qui se terminera tard dans la nuit.
La solution est simple, HA mémorise la température de l’eau uniquement quand la pompe est en fonctionnement, il garde ainsi la température de l’eau avant l’arrêt de la pompe.
Un automatisme, mémorise toutes les 15 minutes , si la pompe de filtration est en marche, la mesure de la température dans un input_number, utilisé dans le calcul du temps de filtration.
il faut ajouter ce code d’automatisation à ajouter dans votre fichier .yaml
Code de l’automatisme
- id: '1623911201023'
alias: Piscine Mémorisation Température avant arrêt
description: 'On fait tourner la pompe 15 mn avant prise en compte de la température '
trigger:
- platform: time_pattern
minutes: /1
condition:
- condition: state
entity_id: binary_sensor.pool_pump_running
state: 'on'
for: 00:15:00
action:
- service: input_number.set_value
target:
entity_id: input_number.mem_temp_piscine
data_template:
value: '{{ states(''sensor.temp_piscine'')|float }}'
mode: single
Il faut modifier le sensor.pool_water_temperature comme suit:
# mesure de la température de l'eau, permet de basculer facilement en mode simulation
# en commentant ou decommentant les lignes ci-dessous
- platform: template
sensors:
pool_water_temperature:
friendly_name: "sensor.pool_water_temperature"
value_template: "{{ states('input_number.mem_temp_piscine')|float|round(1) }}" # memoire temperature de l'eau avant arret pompe
# value_template: "{{ states('input_number.temp_piscine_ph')|float|round(1) }}" # Simulation avec input_numbe
icon_template: mdi:oil-temperature
unit_of_measurement: "ºC"
Indicateur de fonctionnement de la pompe
La consommation électrique de mon coffret piscine est monitorée par un PZEM004 couplé à un ESP8266-12F sous ESPHOME. Se reporter à l’article suivant « home-assistant-gestion-piscine-2_mesure-de-puissance-electrique »
Si la puissance absorbée par le coffret est supérieure à 500W, je considère que la pompe est en fonctionnement.
Le test permet de calculer un binary_sensor.pool_pump_running:
binary_sensor: # Si la puissance electrique est superieure à 500w, on considère que la pompe est en fonctionnement - platform: template sensors: pool_pump_running: value_template: "{{ states.sensor.pzem_pisc_puissance.state | float > 500 }}" friendly_name: "Pompe Filtration en Ma"
Cette variable est importante car elle reflète la réalité de l’état de fonctionnement de la pompe, je l’utilise dans plusieurs automatisme comme la régulation de pH, calcul du temps de fonctionnement, etc..
Calcul du temps de fonctionnement de la pompe
sensor:
# Affichage du temps de fonctionnement de la pompe ce jour
- platform: history_stats
name: Pool Pump running today
entity_id: binary_sensor.pool_pump_running
state: "on"
type: time
start: "{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}"
end: "{{ now() }}"
Panneaux de commande
Je vous propose, pour information, une copie d’écran et les codes associés, de mes panneaux de contrôle, libre à vous de les adapter. Certaines fonctionnalités seront décrites ultérieurement (pression, pH, Appoint eau, Chlore, ORP, etc..).
Carte N°1
Récapitulatif des principales grandeurs numériques et des commandes importantes.
Carte N°2
Un résumé des périodes de fonctionnement
Carte N°3
Visualisation et accès à l’ensemble des paramètres.
Carte N°4
Notifications
Notification sur Telegram de:
- Début de filtration
- Fin de filtration
- Récapitulatif de fin de journée ave le temps de fonctionnement de la pompe, la consommation de la piscine en kW, le temps d’utilisation des cartouches de chlore.
- id: '1634222619535'
alias: Piscine Notifications filtration
description: Debut, Fin
trigger:
- platform: state
entity_id: binary_sensor.pool_pump_running
from: 'off'
to: 'on'
id: ma_ppe
- platform: state
entity_id: binary_sensor.pool_pump_running
id: at_ppe
from: 'on'
to: 'off'
- platform: time
at: '23:59'
id: minuit
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: ma_ppe
sequence:
- service: notify.telegram
data:
message: '{{states("sensor.date_time") }}'
title: Piscine Début Filtration
- conditions:
- condition: trigger
id: at_ppe
sequence:
- service: notify.telegram
data:
message: '{{states("sensor.date_time") }}}'
title: Piscine Fin de filtration
- conditions:
- condition: trigger
id: minuit
sequence:
- service: notify.telegram
data:
message: 'Temps de filtration: {{states.sensor.pool_pump_running_today.attributes.value}}{{-"\n"-}}Conso:
{{states(''sensor.energy_pisc_daily'')}} kWh.{{-"\n"-}} Tps Utilisation
cart. Chlore: {{states(''input_number.temps_cartouche_chlore'')}} h {{-"\n"-}}{{states("sensor.date_time")
}}'
title: Piscine Rapport Fin de journée
- service: notify.log_piscine
data:
message: '{{states.sensor.pool_pump_running_today.attributes.value }},{{states(''sensor.energy_pisc_daily'')}}'
title: Rapport jour piscine
default: []
mode: single
Conclusion
J’espère que cet article vous sera utile. C’est le premier d’une série dédiée à la gestion automatisée d’une piscine.
Je publierai la suite de mes réalisations listées en introduction lorsque leur fonctionnement aura été éprouvé.
Liste des publications en lien avec cet article:
- Filtration avec « AppDaemon » ou avec « Pool Pump Manager«
- Mesure de puissance électrique
- Mise à niveau automatique
- Mesure du pH
- Régulation du Ph
- Mise Hors Gel
- Mesure de pression
Merci pour cet article.
J’ai hâte de lire tes prochains articles notamment :
– la mise à niveau automatique du niveau d’eau
– la mesure de pression du filtre à sable
Bonjour et merci Arnault pour ton retour, je m’y colle pour la suite.
Bonjour, l’article sur la mise à niveau est sorti. Bonne lecture
Merci pour l’article et j’ai oublié de poser ma question dans mon commentaire précédent. Est’il possible de définir un horaire min et max de filtration chaque jour ? En gros je veux pas filtrer moins de 3h par jour mais pas plus de 14h par jour ?
Bonjour Arnault
Ces fonctionnalités sont incluses dans la version de exxamalte qui ne tient pas compte la T° de l’eau. Elles n’ont pas été reprises dans la version de oncleben31 (celle que j’utilise) qui elle tient compte de la T° de l’eau. A toi de choisir la version qui te convient le mieux. @+
Bonjour,
superbe arcticle. Je migre en ce moment petit à petit de Jeedom vers HA. J’avoue que je me casse un peu les dents, mais le résultat est on ne peut mieux !!
J’utilisé aussi le plugin pool Jeedom. Je vais donc me servir de ce superbe article pour essayer j’arriver au même résultat que toi !!
Merci SEB
Bonjour,
Bon je viens de tout paramétrer.
Juste une chose, je n’arrive pas à afficher le temps de fonctionnement de la pompe,ni l’affichage de l’heure pivot. Je ne comprends pas.
Pourriez vous m’aider ?
Bonjour, désolé pour le retard et tu as surement trouvé depuis, mais voici ma réponse.
Comme décrit au chapitre « Temps de fonctionnement », le temps de fonctionnement de la pompe nécessite un binary_sensor qui passe à « on » lorsque la puissance est supérieure à un seuil (500 w dans mon cas) et un sensor history_stats déclenché par ce binary_sensor.
Cela nécessite bien entendu une mesure de puissance, si pas dispo tu peux prendre comme info l’état de la sortie de la pompe.
Concernant l’heure pivot, comme décrit au chapitre « 3- la déclaration d’entités » , l’heure pivot est calculée avec l’attribut « next.noon » de « sun.sun ».
Bon courage. Pour info j’ai publié un article sur la mesure de pH.
Désolé aussi du retard. Oui j’ai trouvé c’était une mauvaise déclaration. J’ai tout testé avec une ampoule au lieu de ma pompe 😉 Ca à l’air de fonctionner…
Je vais vérifier cela avec la piscine maintenant. Super je vais aller lire l’article !
Bonjour,
j’ai un « nouveau » problème. Tout fonctionné. Aujourd’hui je mets à jour Home assistant avec a dernière version et au reboot, j’ai une erreur Pump_pump – intégration et plus rien ne fonctionne. Je ne sais pas si cest la mise à jour qui a foiré, mais là je suis dans la mouise comme on dit…
Pourriez-vous m’aiguiller svp ??
Autre truc aussi. J’ai l’info pool_pump.next_run_schedule qui reste en « manuel Mode »…
re belote pool_pump.next_un_schedule entrée non disponible…
En fait, en Mode ON ça force le fonctionnement, ça c’est ok.
Par contre quand je passe en Auto, bin il se passe entre guillemet rien. Il ne me met pas en marche la pompe, mais surtout me met une erreur sur le next_run_schedule…Je comprends pas
Bon j’ai avancé. Depuis la 2021.5, il faut modifier dans init.py sokar_noon en noon.
J’ai un autre problème. La pompe s’arrête et redémarre toutes les 5mn….
Une idée ??
Question : vu que c’est à chaque fois que le service pool pump check est appelé que la pompe s’éteint et au tour suivant, se rallume, ça serait pas dû au fait que ma commande est impulsionnel sur ma pompe ?? Et que lui il renvoie un ordre de marche, mais que moi forcément ça permute ?
Bonjour
Le switch de la pompe est basé sur deux états stables:
– ON: fonctionnement de la pompe
– OFF: arrêt de la pompe
Il faut adapter ton pilotage de la pompe a ce principe, mais tu l’as surement fait depuis!
Bonjour ,
Article super interagissant , merci pour ce partage
Je cherche un capteur de pression analogique pour surveiller la filtration
mais j’ai quelques difficultés à trouver le bon
Lequel utilisé vous ?
Merci
Bonjour
Merci pour ton retour. je mesure la pression avec ce type de capteur raccordé à un esp. je suis parti avec un 100 PSI (6.8 bars) mais 30 PSI (2.06 bars) devrait suffire.
https://fr.aliexpress.com/item/4001254325128.html?spm=a2g0o.productlist.0.0.3b6d25d8ZG38x0&algo_pvid=95b31b6e-a647-4c58-a0a4-6cbf6540a016&algo_exp_id=95b31b6e-a647-4c58-a0a4-6cbf6540a016-7&pdp_ext_f=%7B%22sku_id%22%3A%2210000015482488430%22%7D&pdp_pi=-1%3B13.32%3B-1%3B-1%40salePrice%3BEUR%3Bsearch-mainSearch
Slts
Bonjour,
je suis encore sur pool pump, pas encore eu le courage de passer sur Appdeamon.
J’ai un petit problème depuis quelques jours, l’affichage de l’heure pivot est « indisponible ». Pourtant cela fonctionnait bien depuis le début.
Elle est définie comme ça :
– platform: template
sensors:
heure_pivot_piscine:
friendly_name: ‘heure_pivot_piscine’
value_template: ‘{{ as_timestamp(strptime(state_attr(« sun.sun », « next_noon »), « »)) | timestamp_custom(« %H:%M ») }}’
icon_template: mdi:calendar-clock
Je ne comprends pas pourquoi celle-ci ne fonctionne plus…
J’ai aussi le même problème sur le pool_pump_running…il me dit indisponible
Celui-ci c’est bon…j’ai rien dit 😉
Bonjour,
Merci pour le plug-in et il me semble fonctionner correctement (je l’ai mis sur une prise connecte en attendant de recevoir mon Shelly pour ma pompe piscine); le mode ete fonctionne parfaitement.
Vivant dans une region ou il arrive de geler, et choisissant un hivernage actif je voudrais rajouter un automatisme pour lancer la pompe en dessous d’une certaine temperature pendant un certain temps.
Par exemple si temperature air < 2 degres lancer la pompe pendant 15 minutes, puis s'arreter 15 minutes jusqu'a ce que la temperature redepasse les 2 degres.
Je voudrais que cette regle soit decorrelee du filtrage journalier d'1 a 2h en hiver.
J'ai essaye de creer avec un automatisme, la pompe se lancer bien lorsque la temperature descend, cependant le service arrete la pompe (ce que j'imagine est normal avec le piscine.py)
(testswitch Socket 1 turned off triggered by service homeassistant.turn_off)
Est-ce qu'il y a une facon elegante et facile de creer une option, (genre checkbox = hors gel) pour gerer cette situation?
Comment vous faites vous sinon? hivernage passif ou region ou il ne gele pas?
merci!
Bonjour, regarde cet article cela devrais répondre à ta question. https://domo.rem81.com/2021/11/30/ha-gestion-piscine-6_mode-hors-gel/
sion je suis sur Albi, il gele quelques jours par an mais pas fort et je suis sur un hivernage actif. Slts
Merci, tout fonctionne parfaitement, cela commande une prise connecte en attente de mettre un module rail din dans mon local technique.
J’ai cependant quelques entites qui n’apparaissent pas, et je ne vois pas leur configurations:
– Entity not available: pool_pump.next_run_schedule
– Entity not available: sensor.pool_pump_running_today
– Entity not available: input_datetime.heure_at_pump_pisc_hiv
C’est parce qu’elle ne sont plus dispos avec appdaemon?
merci
Bonjour, je vais essayé de te répondre, mais l’article commence à dater:
– l’entité « pool_pump.next_run_schedule » est généré automatiquement par le module « pool_pump » mais peut etre n’est ce plus le cas, je n’ai pas suivi les évolutions.
– l’entité « sensor.pool_running_today » est déclaré dans le fichier yaml:
sensor:
# Affichage du temps de fonctionnement de la pompe ce jour
– platform: history_stats
name: Pool Pump running today
entity_id: binary_sensor.pool_pump_running
state: « on »
type: time
start: « {{ now().replace(hour=0).replace(minute=0).replace(second=0) }} »
end: « {{ now() }} »
– l’entité « input_date_time.heure_at_pump_pisc_hiv » est déclaré dans le fichier yaml:
heure_at_pump_pisc_hiv:
name: Heure At Pompe Pisc Hiv
has_date: false
has_time: true
J’espère t’avoir aidé (un peu tard peut-etre!)
Slts
Bonjour , excellent article qui aide à personnaliser l’automatisation de la piscine.
Dans mon essai de reguler la pompe , j’ai crée un sensor qui permet de connaitre le temps necessaire de filtration en fonction de la température de l’eau.
on le sait tous . c’est facile, il suffit de diviser la température par 2 quand on est au dessus de 15° (c’est la méthode dumb)
j’ai repris l’abaque fourni en début d’article pour en tirer une formule qui je l’espère vous aidera.
il s’agit d’une formule polynomiale de degré 3.
y = 0.002 * x *x *x – 0.0629 *x *x + 0.7592 * x – 0.9746
dans mon sensor.yaml cela donne
duree_filtration:
friendly_name: « Durée Abaque Filtration »
value_template: >-
{% set maxt = states(‘sensor.max_temp’) | float %}
{% set calc = (maxt * maxt * maxt * 0.002) – (maxt * maxt * 0.0629) + (maxt * 0.7592) – 0.9746 | float %}
{{ calc }}
unit_of_measurement: ‘h’
c’est le résultat le plus approchant que j’ai pu trouver, cela donne par exemple
11,3962 h pour une eau à 26.°
Il s’agit de mon humble participation à ce sujet qui est vraiment passionnant
Bonsoir jean Marc
Merci pour ton retour d’expérience. Je viens de faire une simulation sur excel avec cette formule et les résultats sont intéressants.
Je la garde au frais pour la prochaine saison.
Slts
AppDAEMON se comporte bizarrement. AppDaemon démarre et l’application fonctionne bien et démarre bien et les différents callbacks se créent correctement.
Au bout d’un moment je vois dans les logs que AppDAEMON initialise a nouveau l’application, ce qui crée des callbacks en plus de ceux qui ont été créés a la première initialisation et ceci se répète continuellement et régulièrement jusqu’à ce que le nombre de callbacks soit tel que l »application ne se comporte plus correctement.
Avez-vous déja eu ce problème ?
Merci de commenter l’article concerné SVP sinon on s’y retrouve pas. je vous invite à installer la dernière version du fichier cela devrait résoudre le problème.