Je bute devant une difficulté : je voudrais que le relais s’éteigne lorsque la température dépasse 15° et s’allume lorsque celle-ci est en dessous de 5° j’ai fait deux automatisations un pour allumer l’autre pour éteindre ci-joint les codes de qui gère le relais mais cela ne fonctionne pas.
Les switch fonctionnent manuellement.
Pouvez-vous me dire ou est mon erreur ?Quelle est la fréquence des boucles qui testent les automatisations ?
Cette fréquence est-elle modulable ?
Merci
Pour la fréquence, je ne pense pas qu’il y en ai, ça doit être déclenché au changement d’état (un trigger quoi…).
Perso je ne mettrai pas de condition, vu qu’on est sur un déclencheur justement. Il y aura des appels quand ça passera plus d’une fois en dessous de 5 sans remonter au dessus de 15 mais qu’importe…
Essai peut-être dans un premier temps sans le notify à telegram.
Personnellement, je laisserai la condition, cela permet de ne pas surcharger le réseau de paquets inutiles.
Le déclenchement dépend entièrement des changements d’état ou des évènements.
Dans ton cas @Massanes, dès que l’entité sensor.temp_prises_220v passe en dessous de la valeur 5.
Si tu enlève le below: 5, l’automatisation se déclenchera à chaque changement d’état ou d’attribut.
Je pense que le problème se situe sur la définition de la première action des 2 automatisations, où la plateforme est manquante :
action:
- type: turn_on
plateform: device #plateforme manquante dans ton code
device_id: 2e62b7XXXXXXf2519da70de19
entity_id: switch.relay_t
domain: switch
Je te propose de n’en faire qu’une seule, si tu veux, avec la clé choose: et de nous faire une retour sur son bon fonctionnement ou non. J’ai ajouté 2xInput_number (que tu ajoutes directement par l’interface graphique, demande si tu ne vois pas comment faire ) afin de gérer les seuils plus facilement et directement depuis ton tableau de bord Lovelace
L’automatisation unique :
#Allumage/Extinction : Seuils gérés par l'interface graphique Lovelace
alias: Allumer/Extinction Chauffage Prises 220v
description: 'Allumage en dessous de la valeur de input_number.temperature_seuil_bas, Extinction au dessous de la valeur de input_number.temperature_seuil_haut'
trigger:
- platform: numeric_state
entity_id: sensor.temp_prises_220v
condition: [] #Pas de conditions, elles sont dans les actions
action:
## Utilisation de la fonction 'choose' (https://www.home-assistant.io/docs/scripts/#choose-a-group-of-actions)
- choose:
- conditions:
#En dessous de input_number.temperature_seuil_bas et switch éteint => On allume
- condition: device
type: is_off
device_id: 2e62XXXXXXXXX2519da70de19
entity_id: switch.relay_t
domain: switch
- platform: numeric_state
entity_id: sensor.temp_prises_220v
#below: '5'
below: input_number.temperature_seuil_bas
sequence:
- type: turn_on
plateform: device
device_id: 2e62b7fc5c7XXXXXXX2519da70de19
entity_id: switch.relay_t
domain: switch
- service: notify.telegram_ha
data:
#message: Eteindre Chauffage Prises 220v > 15°
message: >
Allumage Chauffage Prises 220v < {{states('input_number.temperature_seuil_bas')}}
- conditions:
#En dessus de input_number.temperature_seuil_haut et switch allumé => On éteint
- condition: device
type: is_on
device_id: 2e62XXXXXXXXX2519da70de19
entity_id: switch.relay_t
domain: switch
- platform: numeric_state
entity_id: sensor.temp_prises_220v
#above: '15'
above: input_number.temperature_seuil_haut
sequence:
- type: turn_off
plateform: device
device_id: 2e62b7fc5c7XXXXXXX2519da70de19
entity_id: switch.relay_t
domain: switch
- service: notify.telegram_ha
data:
#message: Eteindre Chauffage Prises 220v > 15°
message: >
Allumage Chauffage Prises 220v < {{states('input_number.temperature_seuil_haut')}}
mode: single
L’automatisation unique me parait très judicieuse, par contre je suis un peu dépassé avec l’option input_number : si je comprend bien il me faut rajouter a mon configuration.yaml quelque chose comme :
En fait, c’est surtout que l’automatisation que je t’ai fournie comporte 3/4 erreurs…
Déjà :
Ca c’est faux ! Ton code est correct (surtout que tu l’a fait depuis l’interface graphique)
Du coup, la piste la plus probable est comme l’indique @Babidi, la condition.
Essaie de l’enlever pour voir si les actions sont réalisées. Si elles le sont, on regardera pourquoi elle bloque.
Tu peux partir de l’automatisation ci-dessous qui regroupe les deux, mais elle a le même fonctionnement que celles que tu as est qui ne fonctionnent pas (d’où l’intérêt d’enlever la condition pour savoir si c’est elle qui bloque et que l’on regarde pourquoi).
Afficher l'automatisation regroupant les deux (erreurs corrigées))
Tu peux aussi regarder ce que donne l’automatisation suivante, qui a la même logique que les précédente mais n’utilise pas les mêmes services :
La même logique mais avec d'autre fonctions
alias: Allumer/Extinction Chauffage Prises 220v
description: >-
Allumage en dessous de la valeur de input_number.temperature_seuil_bas,
Extinction au dessous de la valeur de input_number.temperature_seuil_haut
trigger:
- platform: state
entity_id: sensor.temp_prises_220v
action:
- choose:
- conditions:
- condition: state
entity_id: switch.relay_t
state: 'off'
- condition: numeric_state
entity_id: sensor.temp_prises_220v
below: input_number.temperature_seuil_bas
sequence:
- service: switch.turn_on
entity_id: switch.relay_t
- service: notify.telegram_ha
data:
message: >
Allumage Chauffage Prises 220v <
{{states('input_number.temperature_seuil_bas')}}
- conditions:
- condition: state
entity_id: switch.relay_t
state: 'on'
- condition: numeric_state
entity_id: sensor.temp_prises_220v
above: input_number.temperature_seuil_haut
sequence:
- service: switch.turn_off
entity_id: switch.relay_t
- service: notify.telegram_ha
data:
message: >
Allumage Chauffage Prises 220v <
{{states('input_number.temperature_seuil_haut')}}
mode: single
Cette fois ci, je les ai testées donc tu peux les incorporer depuis l’interface graphique.
Concernant les input_number, il te faut les créer par l’interface :