Merci à @Dapolux pour le partage. Très intéressant. Tu devrais pouvoir remplacer les seuils par une formule.
Voila la suite de mon implémentation.
J’ai au total 4 automatisations par convecteur :
J’ai donc une première automatisation pour le thermostat que j’ai présenté précédemment (dans un blue print). Elle permet une gestion fine de la puissance en fonction des températures intérieures et extérieures.
Ensuite, j’ai créé 2 automatisations en utilisation la scheduler card pour gérer les températures par plage horaire :
- Auto-confort : quand une personne est dans la pièce (ou en tout cas dans la maison).
- Auto-eco: quand la pièce est chauffée mais qu’il n’y a pas forcément quelqu’un (jours de travail à l’extérieur par exemple).
La consigne est stockée dans un input text. Pour chacune des 2 planifications, la scheduler card permet de spécifier les températures par plage horaire.
Exemple d’une planification dans la scheduler card:
Enfin, une quatrième automatisation se déclenche quand le mode de chauffage est changé. Le mode est dans un input select. Il peut être : auto-confort, auto-eco, manuel, hors gel, arrêt et absence.
Ensuite, j’ai créé une carte assez simple qui permet de de voir pour chaque convecteur (j’ai 8 pièces pilotées) le mode de fonctionnement (par exemple auto - confort), la température actuelle, la consigne, la puissance de chauffe, l’état de la fenêtre. Il remplace la carte thermostat de HA.

Voici les différents modes proposés par l’input select:

La sélection du mode active ou désactive les 3 automatisations : thermostat, auto confort et auto eco. La consigne est changée pour une valeur en dure si le mode n’est pas auto-eco ou auto-confort.
Point important : si par exemple on passe du mode confort au mode eco, le scheduler ajuste automatiquement la consigne en fonction de sa planification et de l’heure qu’il est.
Enfin le thermostat met la consigne à 0 si la fenêtre est ouverte, et remet la bonne valeur une fois fermée.
Voyons maintenant chacun des modes, et comment le changement de mode active ou désactive les 3 automatisations thermostat, auto-confort, auto-eco :
Mode « auto-confort »
Automatisation thermostat : ON
Automatisation auto-confort : ON
Automatisation auto-eco : OFF
Mode « auto-eco »
Automatisation thermostat : ON
Automatisation auto-confort : OFF
Automatisation auto-eco : ON
Mode « Hors-gel »
Automatisation thermostat : ON
Automatisation auto-confort : OFF
Automatisation auto-eco : OFF
Consigne forcée à 10°C (bon un peu plus qu’un hors gel…"

Mode « Manuel »
Automatisation thermostat : ON
Automatisation auto-confort : OFF
Automatisation auto-eco : OFF
La carte affiche une ligne pour régler la consigne de température.

Mode « Arrêt »
Automatisation thermostat : OFF
Automatisation auto-confort : OFF
Automatisation auto-eco : OFF
Consigne et puissance a 0.
Tout est arrêté. C’est le mode d’été.
Mode « Absence »
Automatisation thermostat : ON
Automatisation auto-confort : OFF
Automatisation auto-eco : ON
Le thermostat fonctionne en ECO. Le mode absence n’est pas censé être activée manuellement, mais automatiquement par la détection d’une absence (l’alarme mise dans mon cas).
La gestion de l’alarme est :
- Si alarme mise, mettre dans les chauffages qui sont en auto-confort en absence.
- Si alarme enlevée, mettre dans les chauffages qui sont en absence en auto-confort.
Voici le code de la carte
Carte chauffage
type: entities
entities:
- type: 'custom:button-card'
color: '#D1DBAE'
name: Salon
styles:
card:
- background-color: '#E2E2E2'
- height: 25px
name:
- font-size: 18px
- entity: input_select.chauffage_salon_mode
name: Mode
- type: conditional
conditions:
- entity: input_select.chauffage_salon_mode
state: Manuel
row:
entity: input_number.chauffage_salon_consigne
type: 'custom:numberbox-card'
name: Réglage consigne
- type: 'custom:hui-element'
card_type: glance
show_name: false
style: |
ha-card {
background: var(--background-card-color);
box-shadow: none;
font-size: 20px;
top: -10px;
margin: -20px
}
entities:
- entity: sensor.oregon_thermometre_salon_temperature
- entity: input_number.chauffage_salon_consigne
- entity: input_number.chauffage_salon_puissance
- entity: binary_sensor.aqara_fenetre_salon_onoff
icon: 'mdi:window-closed-variant'
Et enfin la gestion des modes. Le blue print permet de créer une automatisation de pilotage pour chaque convecteur.
Blueprint gestion des modes de chauffage
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:
name: Schedule mode confort
description: Entité générée par schedule pour la planification du mode confort (switch)
selector:
entity:
domain: switch
entity_schedule_eco:
name: Schedule mode eco
description: Entité générée par schedule pour la planification du mode eco (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: Stop
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_eco
- !input entity_schedule_confort
- 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_eco
- !input entity_schedule_confort
# ----- Mode Auto - confort
- conditions:
- condition: state
entity_id: !input entity_mode
state: Auto - confort
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: switch.turn_on
target:
entity_id: !input entity_schedule_confort
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_eco
# ----- Mode Auto - eco ou absent
- conditions:
- condition: or
conditions:
- condition: state
entity_id: !input entity_mode
state: 'Auto - eco'
- condition: state
entity_id: !input entity_mode
state: 'Absent'
sequence:
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_confort
- service: switch.turn_on
target:
entity_id: !input entity_schedule_eco
# ----- Mode manuel
default:
- service: switch.turn_off
target:
entity_id:
- !input entity_schedule_eco
- !input entity_schedule_confort
- service: automation.turn_on
target:
entity_id: !input entity_thermostat_tpi
mode: single