Résolu! 8 radiateurs par Better Thermostat et Schedule => objectif d'arrêt chaudière lorsqu'aucun radiateur n'est en service

Mon problème > sollution plus bas

Bonjour à tous,

Tout d’abord : un grand bravo à l’équipe HA et BT et ce forum - wow… beau travail !

Ok, donc j’ai un cas d’utilisation avec la configuration suivante :

  • 8 radiateurs avec thermostats Aqara E1, dans 6 pièces
  • 12 détecteurs de fenêtre Sonoff SNZB-04
  • 12 détecteurs de température Sonoff SNZB-02
  • 1 thermostat Nest (version 1.0)
  • 1 Owon PIR-323-PTH
  • un système de chauffage central au fioul, qui dispose d’une prise Wifi Meross MSS310
  • HA est la version Hass.IO (la plus récente)

Ce que j’ai déjà préparé :

  • créé 6 Better Thermostats (5 individuels, 1 groupe de 3), avec 12 Sonoff SNZB-04 (fenêtre) et 12 SNZB-02 (température) et 1 détecteur de mouvement Owon avec capteur de température et mon ancien Nest-thermostat, agissent comme des capteurs externes (fonctionne très bien)
  • créé une boîte de sélection (Helper) où je peux choisir 4 modes pour mon chauffage central : On, Off (été), Time Schedule (test), Pilotage thermique (en cours…)
  • J’ai créé 8 Schedules où je règle les heures et les températures de chauffage pour chaque pièce.

Mon but : économiser de l’argent :slight_smile: en éteignant complètement mon chauffage central lorsqu’il n’est pas nécessaire (donc lorsqu’aucun radiateur ne chauffe pendant plusieurs minutes) - mon 4ème mode « Pilotage thermique » ; note : nous n’utilisons pas la fonction de chauffer de l’eau sur notre chaudière.

J’ai deux questions :

  1. lorsque je regarde la carte Better Thermostat, je remarque que BT envoie une température plus basse à mes radiateurs lorsque la température cible a été atteinte pour arrêter le chauffage => est-ce correct ? ne serait-il pas mieux de simplement éteindre le thermostat ?
  2. dans mon automatisation (voir ci-dessous), je veux vérifier si mes radiateurs sont en mode « Off » - je remarque sur la carte Better Thermostat que c’est indiqué au milieu par un symbole rouge ou gris de chauffage => comment pouvons-nous utiliser cet état dans les automatisations ? ou devons-nous nous arranger pour comparer la température cible avec la température actuelle ? et en plus travailler avec un capteur binaire ? … la première option où je peux juste vérifier l’état de la BT en rouge ou gris (on-off) semble logique, mais comment…

Merci à tous pour la lecture et peut-être quelqu’un a un bon conseil :slight_smile:
Passez une bonne journée !

Mon automatisation (dans ce code j’utilise à des fins de test une lumière - light.lamp_1 - qui représente ma chaudière) :

alias: Chaudière - schakeling
description: >-
  De centrale verwarming (chaudière) wordt ingeschakeld als op basis van 3
  mogelijkheden
      - als één van de thermostaten wil verwarmen
      - op basis van het schema 'Chaudière - verwarmingscyclus'
      - continu actief
  Indien geen van deze modi geactiveerd zijn, dan wordt de chaudière
  uitgeschakeld
trigger:
  - platform: state
    entity_id:
      - sensor.ambiant_sensor_1_camomille_temperature
  - platform: state
    entity_id:
      - sensor.ambiant_sensor_2_aneth_temperature
  - platform: state
    entity_id:
      - sensor.nest_thermostaat_temperature_2
  - platform: state
    entity_id:
      - sensor.bewegingssensor_1_sanitaire_temperature
  - platform: state
    entity_id:
      - schedule.chaudiere_verwarmingsschema
  - platform: state
    entity_id:
      - input_select.chaudiere_verwarmingsmodus
  - platform: state
    entity_id:
      - climate.thermostaat_1_badkamer_prive
  - platform: state
    entity_id:
      - climate.thermostaat_2_salon_achter_links
  - platform: state
    entity_id:
      - climate.thermostaat_3_salon_achter_rechts
  - platform: state
    entity_id:
      - climate.thermostaat_4_salon_piano
  - platform: state
    entity_id:
      - climate.thermostaat_5_block_sanitaire
  - platform: state
    entity_id:
      - climate.thermostaat_6_kamer_lavande
  - platform: state
    entity_id:
      - climate.thermostaat_7_kamer_camomille
  - platform: state
    entity_id:
      - climate.thermostaat_8_kamer_aneth
  - platform: time_pattern
    seconds: /10
    enabled: true
condition: []
action:
  - if:
      - condition: state
        entity_id: input_select.chaudiere_verwarmingsmodus
        state: Aan
    then:
      - type: turn_on
        device_id: ea5771db53a31a34d0d5ec691340bf7b
        entity_id: light.lamp_1
        domain: light
      - stop: ""
  - if:
      - condition: state
        entity_id: input_select.chaudiere_verwarmingsmodus
        state: Thermostatisch
    then:
      - if:
          - condition: or
            conditions:
              - condition: state
                entity_id: climate.better_thermostat_verwarming_prive_badkamer
                state: heat
              - condition: state
                entity_id: climate.better_thermostat_verwarming_aneth
                state: heat
        then:
          - type: turn_on
            device_id: ea5771db53a31a34d0d5ec691340bf7b
            entity_id: light.lamp_1
            domain: light
          - stop: ""
  - if:
      - condition: state
        entity_id: input_select.chaudiere_verwarmingsmodus
        state: Tijdsschema
    then:
      - if:
          - condition: state
            entity_id: schedule.chaudiere_verwarmingsschema
            state: "on"
        then:
          - type: turn_on
            device_id: ea5771db53a31a34d0d5ec691340bf7b
            entity_id: light.lamp_1
            domain: light
          - stop: ""
  - type: turn_off
    device_id: ea5771db53a31a34d0d5ec691340bf7b
    entity_id: light.lamp_1
    domain: light
mode: single

Solution

J’ai trouvé une solution grâce au développeur, merci KartoffelToby aka wtom, car il faut vérifier non seulement le hvac_action (= ‹ heating ›) mais aussi le hvac_mode (= ‹ heat ›). PS: Merci à tous ceux qui ont réfléchi.

Je donne ici une version simplifiée avec 2 radiateurs comme example, afin que vous puissiez facilement la mettre en route vous-même.

alias: Chaudière - contrôle
description: >-
  Le chauffage central (chaudière) est mis en marche sur la base de 3
  possibilités:
      - si l'un des thermostats veut chauffer
      - sur la base du programme "Chaudière - cycle de chauffage".
      - continue
  Si aucun de ces modes n'est activé, la chaudière est
  éteint
trigger:
  - platform: state
    entity_id:
      - input_select.chaudiere_mode_chauffage
  - platform: state
    entity_id:
      - schedule.chaudiere_schema_chauffage
  - platform: state
    entity_id:
      - climate.thermostaat_1_chambre1
  - platform: state
    entity_id:
      - climate.thermostaat_2_chambre2
  - platform: time_pattern
    seconds: /15
    enabled: true
condition: []
action:
  - if:
      - condition: state
        entity_id: input_select.chaudiere_mode_chauffage
        state: On
    then:
      - if:
          - condition: device
            type: is_off
            entity_id: switch.meross_prise_7_chaudiere_outlet
            domain: switch
        then:
          - type: turn_on
            entity_id: switch.meross_prise_7_chaudiere_outlet
            domain: switch
      - stop: ""
  - if:
      - condition: state
        entity_id: input_select.chaudiere_mode_chauffage
        state: Thermostatique
    then:
      - if:
          - condition: or
            conditions:
              - condition: and
                conditions:
                  - condition: device
                    device_id: add0a484ef88e01263d25e8004fb4b26
                    domain: climate
                    entity_id: climate.better_thermostat_chauffage_salon
                    type: is_hvac_mode
                    hvac_mode: heat
                  - condition: state
                    entity_id: climate.better_thermostat_chauffage_salon
                    attribute: hvac_action
                    state: heating
              - condition: and
                conditions:
                  - condition: device
                    device_id: 2e612af7337f66ddaeda8b18c9709176
                    domain: climate
                    entity_id: climate.better_thermostat_chauffage_sanitaire
                    type: is_hvac_mode
                    hvac_mode: heat
                  - condition: state
                    entity_id: climate.better_thermostat_chauffage_sanitaire
                    attribute: hvac_action
                    state: heating
        then:
          - if:
              - condition: device
                type: is_off
                entity_id: switch.meross_prise_7_chaudiere_outlet
                domain: switch
            then:
              - type: turn_on
                entity_id: switch.meross_prise_7_chaudiere_outlet
                domain: switch
          - stop: ""
  - if:
      - condition: state
        entity_id: input_select.chaudiere_mode_chauffage
        state: Tijdsschema
    then:
      - if:
          - condition: state
            entity_id: schedule.chaudiere_schema_chauffage
            state: "on"
        then:
          - if:
              - condition: device
                type: is_off
                entity_id: switch.meross_prise_7_chaudiere_outlet
                domain: switch
            then:
              - type: turn_on
                entity_id: switch.meross_prise_7_chaudiere_outlet
                domain: switch
          - stop: ""
  - if:
      - condition: device
        type: is_on
        entity_id: switch.meross_prise_7_chaudiere_outlet
        domain: switch
      - condition: numeric_state
        entity_id: sensor.meross_prise_7_chaudiere_power
        below: 10
    then:
      - type: turn_off
        entity_id: switch.meross_prise_7_chaudiere_outlet
        domain: switch
mode: single

Ma configuration


System Information

version core-2023.2.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.15.90
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4996
Installed Version 1.30.1
Stage running
Available Repositories 1194
Downloaded Repositories 16
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 9.5
update_channel stable
supervisor_version supervisor-2023.01.1
agent_version 1.4.1
docker_version 20.10.22
disk_total 30.8 GB
disk_used 12.3 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.6.1), Mosquitto broker (6.1.3), Zigbee2MQTT (1.30.0-1), Studio Code Server (5.5.2), motionEye (0.18.0), Duck DNS (1.15.0), Network UPS Tools (0.11.0)
Dashboards
dashboards 1
resources 5
views 5
mode storage
Recorder
oldest_recorder_run 26 januari 2023 06:29
current_recorder_run 3 februari 2023 11:37
estimated_db_size 1737.84 MiB
database_engine sqlite
database_version 3.38.5
Spotify
api_endpoint_reachable ok
___

Bonsoir
Oui c’est normal que le programme force une température plus basse pour forcer la vanne à se fermer plus vite.
Je ne sus pas d’accord avec ça et je l’ai déjà remonté au développeur mais cette fonction a été demandée par beaucoup de monde. Le minimum serait que ce soit une option configurable.
Pour la deuxième question tu peux extraire l’attribut hvac_action qui passe de idle ( gris) a heat ( rouge)

Phil

Hello j ai le meme objectif
je me suis basé sur le sensor qui indique l état des vannes. si la temperature est atteinte dans la piece la vanne se ferme. et mes vannes me renvoient l état. quand toutes les vannes sont fermées (donc quand toutes les pieces sont a temperature), je coupe la chaudière. si une vanne s ouvre (donc si une piece descends en dessous de la temperature souhaitee) je remets en route la chaudière
voire mon code ci dessous pour allumer la chaudière si l une des vannes est en position ouverte

alias: Valve State Off -> HVAC Off
description: ""
trigger:
  - platform: time_pattern
    minutes: /1
condition:
  - condition: and
    conditions:
      - type: is_off
        condition: device
        device_id: 9f5a6965bf079120812e0175dc23d309
        entity_id: binary_sensor.vanne_chambre_parents_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: feda5ce3ecf0e4232c4c238d351ea38c
        entity_id: binary_sensor.vanne_chambre_enfant1_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: feafb8a5ea3abe624a9e457e5a5c7604
        entity_id: binary_sensor.vanne_cuisine_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: f6a85afa8b6fc7e7afe090c7a07559b1
        entity_id: binary_sensor.vanne_cuisine_cote_jardin_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: 5e193cad4b7bffd39fe09e91874484a9
        entity_id: binary_sensor.vanne_salon_jardin_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: daa3eb4e249e196d7a1920b0da776272
        entity_id: binary_sensor.vanne_salon_cote_rue_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: df6b95ff6e22361b8a81c5f212598857
        entity_id: binary_sensor.vanne_radiateur_salle_de_bain_valve_state
        domain: binary_sensor
      - type: is_off
        condition: device
        device_id: 1d9edb813d13b443974099eefcd6e874
        entity_id: binary_sensor.vanne_chambre_enfant2_valve_state
        domain: binary_sensor
action:
  - device_id: 6d8bca596188505ed0157b0e5f67c155
    domain: climate
    entity_id: climate.thermostat
    type: set_hvac_mode
    hvac_mode: auto
mode: single

a voir si pas plus simple avec un groupe si ton groupe et a on sa allume la chaudiere si le groupe et a off sa eteind la chaudiere

merci, oui sans doute, je ne sais pas encore faire de groupe, je regarderai,