blueprint:
name: Pilotage chauffage
description: Gestion des différents modes de chauffage - Stop Hors-gel Auto confort Auto eco
domain: automation
input:
entity_consigne:
name: Consigne
description: Champs d'entrée de la température de consigne (input number).
selector:
entity:
domain: input_number
entity_mode:
name: Sélection du mode
description: Entité de gestion du mode de gestion du chauffage (input_select)
selector:
entity:
domain: input_select
entity_schedule_confort_semaine:
name: Schedule mode confort semaine
description: Entité générée par schedule pour la planification du mode confort semaine (switch)
selector:
entity:
domain: switch
entity_schedule_confort_weekend:
name: Schedule mode confort weekend
description: Entité générée par schedule pour la planification du mode confort weekend (switch)
selector:
entity:
domain: switch
entity_schedule_conges:
name: Schedule mode conges
description: Entité générée par schedule pour la planification du mode congés (switch)
selector:
entity:
domain: switch
entity_schedule_absent:
name: Schedule mode absent
description: Entité générée par schedule pour la planification du mode absent (switch)
selector:
entity:
domain: switch
entity_thermostat_tpi:
name: Thermostat
description: Entité de gestion du thermostat TPI (automation)
selector:
entity:
domain: automation
# Température pour le hors gel
variables:
temperature_hg: 10
alias: Pilotage chauffage bureau Patrick
description: ''
trigger:
- platform: state
entity_id: !input entity_mode
condition: []
action:
- choose:
# ----- Mode Stop
- conditions:
- condition: state
entity_id: !input entity_mode
state: Arret
sequence:
- service: input_number.set_value
data:
value: 0
target:
entity_id: !input entity_consigne
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- !input entity_schedule_conges
- !input entity_schedule_absent
- service: automation.turn_off
target:
entity_id: !input entity_thermostat_tpi
# ----- Mode Hors-gel
- conditions:
- condition: state
entity_id: !input entity_mode
state: Hors-gel
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: input_number.set_value
data:
value: '{{temperature_hg}}'
target:
entity_id: !input entity_consigne
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- !input entity_schedule_conges
- !input entity_schedule_absent
# ----- Mode Auto - confort
- conditions:
- condition: state
entity_id: !input entity_mode
state: Normal
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: switch.turn_on
target:
entity_id:
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_conges
- !input entity_schedule_absent
# ----- Mode Auto - conges
condition:
condition: or
conditions:
- condition: state
entity_id: !input entity_mode
state: Conges
- condition: and
conditions:
- condition: state
entity_id: !input entity_mode
state: Normal
- condition: state
entity_id: sensor.template_fca
state: True
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: switch.turn_on
target:
entity_id:
- !input entity_schedule_conges
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- !input entity_schedule_absent
# ----- Mode Eco
- conditions:
- condition: state
entity_id: !input entity_mode
state: Absent
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: switch.turn_on
target:
entity_id:
- !input entity_schedule_absent
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- !input entity_schedule_conges
# ----- Mode manuel
default:
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_conges
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- !input entity_schedule_absent
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
mode: single
Je souhaite que si jours feries (sensor.template_fca sur True) et entity_mode sur Normal, la planification du chauffage soit réglée sur celle des congés (personnes présentes dans la maison).
Avec les modifications effectuées, l’automatisation ne se créée pas mais je n’ai pas de message d’erreur.
Ce blueprint est basé sur celui d’Argonaute que je modifie petit à petit pour l’adapter à mes besoins.
Le but de cette modification est de ne pas se lever un 1er novembre par exemple (ainsi que tous les autres jours féries qui tombe en semaine) et de se cailler dans la maison.
Donc si jours féries = on et thermostat sur Normal (Normal équivaut à la programmation du chauffage pour une semaine habituelle de travail) alors la planification passe en mode congés (maison chauffée toute la journée).
Il faut qu’également que le lendemain, la planification reprenne son cycle normal sans aucune action.
J’avais crée un script lua (sous Domoticz) qui me faisait ce genre de chose. J’essaye de le reproduire sous HA.
Il te faut simplement une automatisation qui passe entity_mode, ton sélecteur de chauffe en mode congé les jours fériés, en sauvegardant l’état précédent pour le remettre le lendemain.
Ce n’est pas le blueprint qu’il faut modifier mais jouer sur son entrée (le sélecteur).
Non ?
Ton automatisation est déjà écrite :
Donc si jours féries = on et thermostat sur Normal (Normal équivaut à la programmation du chauffage pour une semaine habituelle de travail) alors la planification passe en mode congés (maison chauffée toute la journée).
Il faut qu’également que le lendemain, la planification reprenne son cycle normal sans aucune action.
Il faut essayer de dissocier les actions pour ne pas se retrouver avec une usine à gaz…
Si tu prends 2 garages dont un où on prends le temps de tout ranger et un autre où on ne fait qu’ empiler les affaires… A un moment, même si les deux ont les mêmes fonctions, tu ne voudras plus toucher au garage mal rangé, de peur que quelque chose te tombe dessus…et que tout soit cassé …(ou ça te prendra des heures pour un simple coup de tournevis)
Si la fonction première du blueprint est de gérer les chauffages avec comme déclencheur un mode, utilise le
Ça vaut ce que ça vaut, je donne juste ma façon de voir les choses
Je comprends ton point de vue…
Pour l’automatisation, dans un sens c’est simple:
Si Férié (false à true) et Mode Normal → Tous les modes en mode congés
Par contre pour revenir au mode Normal, j’ai du mal à construire l’automatisation pour revenir au mode Normal.
Edit:
Si Férié (false à true) et Mode Normal → Tous les modes en mode congés (peut être passer une variable à on)
Si Férié (true à false) et Mode Congés et variable à on → Tous les modes en mode normal (et passer variable à off)
Quand tu veux revenir à un état précédent, il te faut une variable tampon qui sert à la mémorisation.
Dans ton cas, tu souhaites modifié un sélecteur donc il te faut un sélecteur tampon.
SI jour_ferié = vrai ALORS
SI mode_de_chauffe = mode_normal ALORS
Mémorisation du mode memo_mode_de_chauffe = mode_de_chauffe
Affectation mode_de_chauffe = mode_congé
FIN SI
FIN SI
SI jour_ferié = faux ALORS
SI memo_mode_de_chauffe <>(différent) inactif ALORS
Affectation mode_de_chauffe = memo_mode_de_chauffe
Mémorisation du mode memo_mode_de_chauffe = inactif
FIN SI
FIN SI
En écrivant ce code, je ne suis pas sûr de l’utilité de la mémorisation du mode écrasé par le mode congé…car ce sera toujours le mode normal…
Je pense que peut importe le mode initial, il faut passer le mode en congé (et s’il existe un mode vacance à l’extérieur, il faut encore une automatisation qui désactive cette automatisation de gestion de jour férié)
Donc je reprendrais la 1ère pour la logique suivante :
SI jour_ferié = vrai ALORS
SI mode_de_chauffe <> mode_congé ALORS
Mémorisation du mode memo_mode_de_chauffe = mode_de_chauffe
Affectation mode_de_chauffe = mode_congé
FIN SI
FIN SI
Effectivement, la mémorisation du mode écrasé est inutile. L’automatisation ne sera active qu’a la condition que le mode est en Normal.
Par contre, pour revenir du mode congés au mode Normal … je réfléchis encore car :
Par exemple :
Je suis en congés une semaine donc mode congés enclenché le lundi
Mercredi est un jour férié , il ne faudrait pas que le mode chauffage passe en Normal le jeudi.
… d’où mon idée d’utiliser une variable.
J’en reviens au premier post de ce sujet :
# ----- Mode Auto - conges
condition:
condition: or
conditions:
- condition: state
entity_id: !input entity_mode
state: Conges
- condition: and
conditions:
- condition: state
entity_id: !input entity_mode
state: Normal
- condition: state
entity_id: sensor.template_fca
state: True
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: switch.turn_on
target:
entity_id:
- !input entity_schedule_conges
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_confort_semaine
- !input entity_schedule_confort_weekend
- !input entity_schedule_absent