Projet Gestion du Chauffage gaz avec vanne thermostatique

Bonjour

Je suis actuellement sur une Box HC3 Fibaro et des vannes de la même marque.
J’ai un thermostat virtuelle qui pilote ma chaudière avec un module interrupteur connecté, et les vannes font une requête en cas de besoin à celui-ci.

Je veux basculer sur HA et j’essaie donc de reproduire progressivement cela… vu les température, je veux pas tout migrer d’un coup :wink: .

Ce post risque donc d’évoluer dans le temps avec différentes questions, mais pour le moment je vous expose mon 1er problème sur lequel je bloque depuis un moment

J’ai ma vanne fibaro en z-wave lorsque je créer une carte j’obtiens quelque chose de fonctionnel. j’ai créer une carte « simple thermostat » avec l’intégration « awesome_thermostat » (simple_thermosat ayant évolué)
Mais je n’ai pas de corrélation sur le réglage de la température… sauriez vous pourquoi ?
La carte de base :
card base
La carte simple_thermostat
card

et mon fichier climate.yaml

- platform: awesome_thermostat
  name: Radiateur Cassandra
  heater: climate.radiateur_cassandra
  target_sensor: sensor.radiateur_cassandra_air_temperature_2
  min_temp: 10
  max_temp: 26
#   ac_mode: false
  cold_tolerance: 0.5
  hot_tolerance: 0
  min_cycle_duration:
    seconds: 5
  keep_alive:
    minutes: 3
  initial_hvac_mode: "heat"
  precision: 0.1
  eco_temp: 18
  away_temp: 15
  boost_temp: 22
  comfort_temp: 20
  sleep_temp: 17

J’anticipe sur la prochaine question :innocent: : Pour que ma vanne puisse actionner ma chaudière, il me faudra ajouter la commande « header » en fin de la config de ma/mes vannes ?
dans ce genre :

header:
              name: ma_chaudiere
              icon: null
              faults:
                - entity: switch.ma_chaudiere
                  hide_inactive: true

Je vous remercie par avance de votre aide

Emmanuel

Ma configuration :


System Information

version core-2022.11.5
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.61-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4886
Installed Version 1.28.4
Stage running
Available Repositories 1162
Downloaded Repositories 17
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.3
update_channel stable
supervisor_version supervisor-2022.11.2
agent_version 1.4.1
docker_version 20.10.18
disk_total 112.8 GB
disk_used 3.4 GB
healthy true
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons NGINX Home Assistant SSL proxy (3.1.5), File editor (5.4.2), Terminal & SSH (9.6.1), Node-RED (13.5.3), Z-Wave JS (0.1.74)
Dashboards
dashboards 2
resources 9
views 2
mode storage
Recorder
oldest_recorder_run 29 novembre 2022 à 16:59
current_recorder_run 5 décembre 2022 à 19:56
estimated_db_size 19.81 MiB
database_engine sqlite
database_version 3.38.5

Bonjour
N’ayant pas réussi à résoudre mon soucis, je suis parti sur une autre piste qui avance bien
J’ai créer des profils en me basant sur le post de #ByFeel Disponible ici
Pour resumer, j’ai ajouter les input_numerber et input_select dans le fichier de configuration

# select mode Chauffage Cassandra
input_select:
  mode_cassandra:
    name: Mode Chauffage Cassandra
    options:
      - confort
      - nuit
      - absent
      - vacances
      
input_number:
############### Temp pour mode confort
  temp_confort_cassandra:
    name: Température Mode Confort pour Cassandra
    min: 16
    max: 22
    step: 1.0
    unit_of_measurement: "°C"
############### Temp pour mode nuit
  temp_nuit:
    name: Température Mode Nuit 
    min: 16
    max: 18
    step: 1.0
    unit_of_measurement: "°C"
################ Temp pour mode absent
  temp_absent:
    name: Température Mode Absent
    min: 15
    max: 17
    step: 1.0
    unit_of_measurement: "°C"
################ Temp pour mode vacances
  temp_vacances:
    name: Température Mode Vacances
    min: 7
    max: 15
    step: 1.0
    unit_of_measurement: "°C"

puis ceci dans les automation

- alias: chauffage auto select Cassandra
  trigger:
  - platform: state
    entity_id: input_select.mode_cassandra
  action:
  - service: climate.set_temperature
    data:
      entity_id:
      - climate.radiateur_cassandra
      temperature: 
        {% if is_state('input_select.mode_cassandra', 'confort') %}
        {{ states.input_number.temp_confort_cassandra.state }}
        {%-elif  is_state('input_select.mode_cassandra',   'absent') %}
        {{ states.input_number.temp_absent.state }} 
        {%-elif  is_state('input_select.mode_cassandra',   'vacances') %}
        {{ states.input_number.temp_vacances.state }} 
        {% else %}
        {{ states.input_number.temp_nuit.state }}              
        {% endif %}'

c’est magique…ça fonctionne nickel avec l’intégration de base

Je poursuis, et là j’ai besoin de votre aide
Afin de tester ma migration, je simule ma chaudière par une lampe (fonctionnant du module chaudière en ON/OFF)
mon thermostat fibaro est un FGT-001

J’ai donc une automation qui interroge le thermostat Fibaro s’il a besoin de chauffe et enclenche la chauffe si besoin

- id: '1671058728938'
  alias: Activation chauffage
  description: ''
  trigger:
  - platform: device
    device_id: e2c70c40618e6ef5cb81e44e38468e25
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    to: 1
    from: 0
  condition: []
  action:
  - service: light.turn_on
    data: {}
    target:
      entity_id: light.plafond
  mode: single
- id: '1671058789753'
  alias: Desativation chauffage
  description: ''
  trigger:
  - platform: device
    device_id: e2c70c40618e6ef5cb81e44e38468e25
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    to: 0
    from: 1
  condition: []
  action:
  - service: light.turn_off
    data: {}
    target:
      entity_id: light.plafond
  mode: single

La ou j’ai besoin de votre aide est sur le point suivant :
Si je mets plusieurs têtes thermostatiques avec cette automation et que celles-ci demande ou coupe la chauffe en décaler certain radiateur vont se retrouver dans les choux (chaudière en chauffe continu ou pas de chauffe)
quelqu’un aurais une idées sur la façon d’éviter cela ?

Merci

Hello,

Je rebondis sur ton sujet car je suis exactement dans la même configuration que toi :
Je viens d’acheter 2 têtes thermostatiques fgt-001 et je voudrais couper ma chaudière au gaz quand toutes les têtes sont fermées.

Du coup je voulais savoir si tu avais réussi à résoudre ton problème et si c’était le cas si cela fonctionnait bien?

Bonne journée

Bonjour Loïc
J ai finalement réussi et cela fonctionne bien
Seul bémol, il est arrivé (1 fois) que une des têtes thermostatiques est restée « bloqué » sur un statut besoin de chauffage. » ( du coup ça chauffe en continu) …. J’ai du coup rajouter « un contrôle » via une automatisation pour éviter ce désagrément qui ne s’est d’ailleurs jamais renouvelé

Je me suis appuyé sur ce tuto : ICI

Merci pour ton retour rapide… je vais me pencher sur les tutos.
Par contre ma tete fibaro que j’ai monté fait un bruit de dingue toute les 10 minutes… Fais tu le meme constat? Ou cest moi qui aurait mal monté la tète, car malgré l’adaptateur, elle ne tient pas tres bien .
Bonne journée

Bonjour,
Elles ne font du bruit que lorsque la vanne ne s’ouvre ou se ferme. J’ai quatre vannes et j’en ai une où j’ai du mettre un adaptateur spécifique et ne pas la visser entièrement pour laisser suffisamment de jeux pour qu’elle puisse s’ouvrir et se fermer.
Tu peux faire une recalibration de la tête éventuellement. Ça pourrait résoudre ton souci.

Bonne journée

hello,
Merci de ton retour… j’avais pas eu de notificatif de ta réponse, je vais regarder ça. je pense qu’elle est mal montée.

Bonne journée

Hello,
ça fait plusieurs jours que je me casse les dents sur le script pour éteindre ma chaudière (que je simule dans mon script par une prise connectée) quand la température est atteinte… Je n’ai pas encore testé la partie mode.
Pour cela j’ai essayé de réutiliser le code en peu plus haut l’adaptant. ( modification du device_id ainsi que des éléments dans la partie action

- id: '1671058728938'
  alias: Activation chauffage
  description: ''
  trigger:
  - platform: device
    device_id: d87faaf1c1ed6c615dc1af5128981cbc
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    to: 1
    from: 0
  condition: []
  action:
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.lampe_lave
  mode: single
- id: '1671058789753'
  alias: Desativation chauffage
  description: ''
  trigger:
  - platform: device
    device_id: d87faaf1c1ed6c615dc1af5128981cbc
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    to: 0
    from: 1
  condition: []
  action:
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.lampe_lave
  mode: single

Mais cela ne fonctionne pas car quand je retourne dans le module automatisation de Home Assitant j’ai le message suivant

Je débute avec Home assistant et je suis pas encore très alaise avec le scripting.

Par avance merci de votre aide

Bonjour

Pour la désactivation, sur le status de la vanne fibaro, il faut inverser
to: 0
from: 1
et mettre
from: 1
to: 0
le reste semble bon…

Tiens moi au courant

Hello,

Merci de ton retour. J’ai fait 2-3 modifications sur le code, mais cela ne semble pas fonctionner.

J’ai relu tout le sujet, et je voudrais être sûr d’avoir bien tout compris :

  1. Ton code marche-t-il de manière autonome ? J’entends par là que tu dis avoir créé une commande « HEADER », ce que je n’ai pas fait. Est-ce indispensable pour faire fonctionner le bout de code que j’ai remis en fin de ce message ?

  2. Pour tester mon code, j’ai activé la tête thermostatique et je lui ai demandé de monter le chauffage à 26°C. Étant donné que l’on est en été, la chaudière est éteinte. Cela peut-il fausser le test ?

  3. Quand je retourne dans l’interface graphique qui liste mes automatisations, les 2 automatisations ne sont pas affichées. Cela les empêche-t-elle vraiment de fonctionner ?

Encore merci de ton aide.

La Firmware de mes Fibaro est : 4.9"

N’hésite pas à me solliciter si tu as besoin d’autres corrections ou d’aide supplémentaire !

- id: 1671058728938
  alias: EN TEST Activation chauffage salon 
  description: ''
  trigger:
  - platform: device
    device_id: 605e590cec53272949a1c7b5df54f6e6
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    to: 1
    from: 0
  condition: []
  action:
  - service: switch.turn_on
    data: {}
    target:
      device_id: 0c3193d339c4138bf2dfc2776d9f0aaee
  mode: single
- id: 1671058789753
  alias:  EN TEST Desativation chauffage salon
  description: ''
  trigger:
  - platform: device
    device_id: 605e590cec53272949a1c7b5df54f6e6
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    to: 1
    from: 0
  condition: []
  action:
  - service: switch.turn_off
    data: {}
    target:
      device_id: 0c3193d339c4138bf2dfc2776d9f0aae
  mode: single

Bonjour

Je vais tenté de t’éclairer…
1 - L’automation, sans parler des mode (nuit, confort, etc) doit marcher, c’est indépendant. c’est bien la tête thermostatique qui donne la commande de chauffe (vrai: 1 ou faux: 0)
2 - j’ai fait comme toi au début sur une lampe avant de migrer sur la chaudière. regarde dans les réglages de la tête si elle ordonne le chauffage (copie écran ci-dessous)
3 - ça c’est plus bizarre en revanche… et c’est probablement un soucis. crée en une autre manuellement. la première partie en YAML (tu peux d’abord spécifier via l’interface ta tête thermostatique puis basculer en YAML pour éviter des erreurs de devises) et la deuxième via l’interface pour être tranquille

NB: Mes têtes sont aussi en 4.9 (je crois que c’est la dernière version)

L’automation pour activer le chauffage :

Pour vérifier la demande chauffe, depuis tes appareils z-wave, tu clic sur configurer

Vérifie que l’avant dernière ligne (provide heat) est sur true, pour la demande de chauffe

Re,

Grand merci pour tes réponses.

Je pense que j’ai pas mal de problèmes ou de manque de connaissance.

Déjà, sur la partie automatisation, j’ai un message d’erreur quand j’essaie d’enregistrer la configuration en passant par le mode graphique.

Ensuite, sur la partie paramètres, les têtes thermostatiques ne remontent aucun paramètre ou juste le paramètre 3 mais pas sur toutes. Je pense avoir cherché au bon endroit car je les trouve bien sur mes Fibaro DIMMER 2.


À moins que tu aies une idée, je vais tenter de les exclure et de les réinclure dans le réseau… Mais je trouve quand même étrange que les 5 têtes aient le même problème.

Encore merci de ton aide.

dans tes scripts, tu as toujours:
to:
from:

Normalement il me semble que c’est l’inverse (enfin, chez moi)
from:
to:

Sinon pour les paramètre essai de reconfigurer les têtes

Alors,

La réinterrogation a réglé pas mal de problèmes.

  • Les paramètres sont bien apparus.
  • Le code pour l’automatisation ne tombe plus en erreur.

Par contre, le paramètre « Provide HEAD » ne bascule pas sur la valeur TRUE alors qu’il a pour consigne de pousser la température à 30°C.


J’ai redémarré Home Assistant, mais cela ne change rien. En rentrant chez moi, je vais tenter en allumant la chaudière pour voir si cela modifie la valeur du paramètre.

Déjà un bon début :wink:
La chaudière n a aucun lien actuellement avec les tête thermostatique. La vérité est ailleurs….
Sur les paramètrage de la tête, active : Heating Medium Demand Reports

Si cela ne change rien, essai de faire un etalonage de la tête:
Appuyez sur le bouton et maintenez-le enfoncé.
Relâchez le bouton lorsque vous voyez la couleur de LED souhaitée => Blanc

Génial, ça marche en activant l’option « Heating Medium Demand Reports ».

Maintenant, il me reste juste à modifier le code pour que la chaudière s’allume quand au moins une des têtes est allumée et s’éteigne quand toutes les têtes sont éteintes.

Encore un grand merci !

Genial :slight_smile:

Perso j’ai crée une automation par pièce pour l’activation et une pour chaque pièce en désactivation aussi

par exemple

alias: Desactivation chauffage Emmanuel
description: ""
trigger:
  - platform: device
    device_id: 20271e4f4c7bc8a7a18d6b4030ab3f2e
    domain: zwave_js
    type: zwave_js.value_updated.config_parameter
    property: 3
    property_key: 4
    endpoint: 0
    command_class: 112
    subtype: 3[0x4] (Provide Heat)
    from: 1
    to: 0
condition:
  - condition: and
    conditions:
      - condition: device
        device_id: e2c70c40618e6ef5cb81e44e38468e25
        domain: zwave_js
        value_id: 14-112-0-3-4
        type: config_parameter
        subtype: 3[0x4] (Provide Heat)
        value: 0
      - condition: device
        device_id: 783e9b5bc6b1fc055fd14b305b4718d5
        domain: zwave_js
        value_id: 16-112-0-3-4
        type: config_parameter
        subtype: 3[0x4] (Provide Heat)
        value: 0
      - condition: device
        device_id: f00d42df45050084b59f69ab3a8b6c79
        domain: zwave_js
        value_id: 18-112-0-3-4
        type: config_parameter
        subtype: 3[0x4] (Provide Heat)
        value: 0
action:
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.chaudiere
mode: single

Bonne continuation

Tu viens me faire gagner un temps fou.
Ton code marche nickel. Encore merci