Nouveau thermostat type proportionnel avec gestion des presets / portes et fenêtres / détection de mouvement .. (archive)

Alors ca marche bien le failsafe en mode Eco sur le thermostat embarqué du rad.
Pas besoin de couper le vterm apperement, il ne renvoie pas de nouvel ordre au radiateur.
Par contre quand il recoit une mise à jours du capteur de t+, le VTherm quitte bien le mode en défaut mais reste sur Off au lieu de s’activer en mode chauffe.

Voici mon script utilisé qui fonctionne correctement si ça interesse quelqu’un. Ca fait quand même un peu usine à gaz avec 5 thermsotat dans la maison :slight_smile:

alias: Surveillance Mode Sécurité chauffage
description: Envoi une notification si un thermostat passe en mode sécurité ou power
triggers:
  - event_type: versatile_thermostat_security_event
    id: versatile_thermostat_security_event
    trigger: event
  - event_type: versatile_thermostat_power_event
    id: versatile_thermostat_power_event
    trigger: event
  - event_type: versatile_thermostat_temperature_event
    id: versatile_thermostat_temperature_event
    trigger: event
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: versatile_thermostat_security_event
        sequence:
          - action: notify.mobile_app_pixel_6
            metadata: {}
            data:
              message: >-
                Le radiateur {{ trigger.event.data.name }} est passé en {{
                trigger.event.data.type }} sécurité car le thermomètre ne répond
                plus.\n{{ trigger.event.data }}
              title: >-
                Radiateur {{ trigger.event.data.name }} - {{
                trigger.event.data.type }} Sécurité
          - action: notify.persistent_notification
            metadata: {}
            data:
              message: >-
                Le radiateur {{ trigger.event.data.name }} est passé en {{
                trigger.event.data.type }} sécurité car le thermomètre ne répond
                plus.\n{{ trigger.event.data }}
              title: >-
                Radiateur {{ trigger.event.data.name }} - {{
                trigger.event.data.type }} Sécurité
          - choose:
              - conditions:
                  - condition: template
                    value_template: "{{ trigger.event.data.name == 'Thermostat SdB'}}"
                sequence:
                  - action: select.select_option
                    metadata: {}
                    data:
                      option: eco
                    target:
                      entity_id: select.radiateur_sdb_1_pilot_wire_mode
              - conditions:
                  - condition: template
                    value_template: "{{ trigger.event.data.name == 'Thermostat Salon'}}"
                sequence:
                  - action: select.select_option
                    metadata: {}
                    data:
                      option: eco
                    target:
                      entity_id: select.radiateur_salon_pilot_wire_mode
              - conditions:
                  - condition: template
                    value_template: "{{ trigger.event.data.name == 'Thermostat Cuisine'}}"
                sequence:
                  - action: select.select_option
                    metadata: {}
                    data:
                      option: eco
                    target:
                      entity_id: select.radiateur_cuisine_pilot_wire_mode
              - conditions:
                  - condition: template
                    value_template: "{{ trigger.event.data.name == 'Thermostat Chambre Verte'}}"
                sequence:
                  - action: select.select_option
                    metadata: {}
                    data:
                      option: eco
                    target:
                      entity_id: select.radiateur_chambre_verte_pilot_wire_mode
              - conditions:
                  - condition: template
                    value_template: "{{ trigger.event.data.name == 'Thermostat Chambre Bleue'}}"
                sequence:
                  - action: select.select_option
                    metadata: {}
                    data:
                      option: eco
                    target:
                      entity_id: select.radiateur_chambre_bleue_pilot_wire_mode
      - conditions:
          - condition: trigger
            id: versatile_thermostat_power_event
        sequence:
          - action: notify.mobile_app_pixel_6
            metadata: {}
            data:
              title: >-
                Radiateur {{ trigger.event.data.name }} - {{
                trigger.event.data.type }} Délestage
              message: >-
                Le radiateur {{ trigger.event.data.name }} est passé en {{
                trigger.event.data.type }} délestage car la puissance max est
                dépassée.\n{{ trigger.event.data }}
          - action: notify.persistent_notification
            metadata: {}
            data:
              message: >-
                Le radiateur {{ trigger.event.data.name }} est passé en {{
                trigger.event.data.type }} délestage car la puissance max est
                dépassée.\n{{ trigger.event.data }}
              title: >-
                  Radiateur {{ trigger.event.data.name }} - {{
                trigger.event.data.type }} Délestage
      - conditions:
          - condition: trigger
            id: versatile_thermostat_temperature_event
        sequence:
          - action: notify.mobile_app_pixel_6
            metadata: {}
            data:
              title: >-
                Le thermomètre du radiateur {{ trigger.event.data.name }} ne
                répond plus
              message: >-
                Le thermomètre du radiateur {{ trigger.event.data.name }} ne
                répond plus depuis longtemps.\n{{ trigger.event.data }}
          - action: notify.persistent_notification
            metadata: {}
            data:
              message: >-
                Le thermomètre du radiateur {{ trigger.event.data.name }} ne
                répond plus depuis longtemps.\n{{ trigger.event.data }}
              title: >-
                 Le thermomètre du radiateur {{ trigger.event.data.name }} ne
                répond plus
mode: queued
max: 30

2 « J'aime »

Ben faut que tu regardes lequel est actif. Surtout si tu n’en as que 2 ca doit être facile à trouver. Pas sur d’avoir compris la question finalement.

Désolé, je n’ai pas été clair.
En fait, j’ai environ 20 radiateurs et seulement une dizaine configurés pour activer la chaudière. Et je sais que le matin, presque les 10 chauffent. Or, l’historique de sensor.nb_device_active_for_boiler sur la dernière semaine oscille tout le temps entre 0 et 2 et ne dépasse jamais cette valeur.

Alors, je pense qu’il y a un soucis quelque part avec la configuration centrale.
J’ai un Vtherm configuré dans la chambre de ma fille pour pouvoir activer la chaudière. Là, si je comprends bien la carte ci-dessous, il chauffe.

Si je regarde la configuration, il est bien censé allumer la chaudière :

Pourtant, le nombre est à 0 (je montre l’exemple de ce Vtherm mais j’en ai actuellement 4 censés allumer la chaudière, pourtant le nombre reste à 0).

J’ai raté quelque chose ?

Et si la vanne ne remonte pas le hvac_action, il fait comment ? Parce que j’en ai qui ne remontent pas cette info et donc le hvac_action du Vtherm est à null.

Ben c’est un soucis. C’est hvac_action qui permet justement de savoir si ca chauffe ou pas.

Merci beaucoup (encore une fois) pour ton retour.
C’est vraiment compliqué de trouver une vanne qui convient vraiment pas trop chère.

Je fais qqes tests et j’ai l’impression que ca marche plus très bien…

EDIT: si ca marche bien mais il faut que le sous-jacent ait un attribut hvac_action qui passe à ‹ on › lorsqu’il s’allume.

Si tu parles de mon problème de nombre de radiateurs qui demandent l’allumage de la chaudière, je suis là pour envoyer des infos ou faire des tests.

Essaye un par un de changer la consigne pour les allumer et éteindre et vérifier que ca fait augmenter le compteur.
Fais toi peut être un dashboard dédié pour faire ça.

Chez moi, j’ai 2 eqts de type over_climate qui ne font pas changer le nbde raidateur actifs. Je viens de vérifier.

Tu n’as que des over_valve de ton coté ?

Petite question, quand l’evenement versatile_thermostat_security_event se declenche, si je veux savoir si c’est l’entrée ou la sortie du mode sécurité, quelle est là syntaxe ?

Pas sûr que ce soit ça:

{{ versatile_thermostat_security_event == 'start' }}
{{ versatile_thermostat_security_event == 'end' }}

Dans l’évènement tu as un attribut type qui te dit « start » ou « stop ».

Tu peux afficher les évènements et leur contenu dans Outils de dev / Evenement

Capture d’écran 2024-10-13 à 20.09.02

Tu choisis l’évènement que tu veux regarder:
Capture d’écran 2024-10-13 à 20.09.30

Capture d’écran 2024-10-13 à 20.10.19

Et tu attends qu’il se déclenche. Tu auras l’évènement complet.

J’ai essentiellement des over_climate et seulement 2 over_valve.
Parmi les over_climate, seulement 3 remontent l’info hvac_action correctement et font partie des radiateurs qui allument la chaudière. Et un des 3 était éteint pour je ne sais quelle raison. Donc, c’est normal que mon total n’ait jamais dépassé 2.
Mes over_valve sont toujours sur hvac_action = idle et mes autres over_climate remontent hvac_action = null tout le temps. Dans ce cas, Vtherm se met aussi à hvac_action = null mais affiche sur la carte qu’il est en chauffe.
Donc je pense que Vtherm marche mais mes vannes sont pourries.

Elles sont pas forcément pourries mais elles ne vont pas permettre de piloter la chaudière centrale malheureusement.
Pour info sur mes 3 over climate, aucun ne remonte un hvac_action correct. Seuls les over_switchs marchent bien.

Sur les over_valve, ca devrait marcher puisque je calcule un « faux » havc_action qui est fonction de l’ouverture de la vanne. Si elle est ouverte (> 0) alors que hvac_action devrait être à « heating ».

Tu peux me confirmer que ça marche ? (ou pas).

@property
    def hvac_action(self) -> HVACAction | None:
        """Return the current running hvac operation if supported.
        Need to be one of CURRENT_HVAC_*.
        """
        if self._hvac_mode == HVACMode.OFF:
            action = HVACAction.OFF
        elif not self.is_device_active:
            action = HVACAction.IDLE              <---------- ici donc le device n'est pas actif et donc percent_open est = 0
        elif self._hvac_mode == HVACMode.COOL:
            action = HVACAction.COOLING
        else:
            action = HVACAction.HEATING
        return action

...
@property
    def is_device_active(self):
        """If the toggleable device is currently active."""
        return self._percent_open > 0

Dès que la vanne est ouverte, le hvac_action devrait passer à HVACAction.HEATING (« heating »)

Montre moi les attributs (Developpement Tools / State) d’un VTherm avec open_percent > 0 et hvac_action=« idle ».

Justement c’est ici que j’ai vu qu’il y avait une valeur type: start ou end

event_type: versatile_thermostat_security_event
data:
  type: start

Mais je ne connais pas la syntaxe yaml pour recupérer le « type » dans une condition d’automatisation :

dans l’idée:
{{ versatile_thermostat_security_event.data.type == 'start' }}

edit: pff je n’ai plus les yeux en face des trous, j’ai déjà la réponse sous le nez dans mon script…
{{trigger.event.data.type}}

Oublies ma question :slight_smile:

1 « J'aime »

Et comment tu gères ça ?

On dirait que je ne peux pas te montrer ça, parce que ça a l’air de marcher :see_no_evil:

1 « J'aime »

Je ne gère pas, mais je n’ais pas de chaudière centrale donc ce n’est pas plus grave que ca

1 « J'aime »

Tout d’abord merci à @Jean-Marc_Collin pour l’intégration Versatile que j’ai mis en place ce week-end et commencé à tester.
J’ai une question pour la configuration d’un thermostat comprenant 2 radiateurs. Pour les chambres à 1 radiateurs (1000W), j’ai déclaré la puissance dans le menu « principaux attributs » mais pour mon salon comprenant 2 radiateurs de 1000W et 2000W au niveau de la puissance je dois renseigner le total des 2 radiateurs (3000W) ou la puissance du plus élevé des 2 (2000W)?

Sinon au niveau de l’intégration en elle même pas trop de soucis qui n’avait pas de réponses ici sur le forum.
Il me reste juste à régler un soucis non liés à Versatile sur un des 2 radiateurs du salon qui parfois en mode FP arrêt perd son signal et repasse 1 seconde en confort donc pleine puissance et ça en boucle. Les 4 autres modules Nodon n’ont pas ce problème visiblement de perte de signal FP.
Et l’intégration du composant Scheduler et Versatile thermostat UI pose parfois problème avec des pertes d’affichage sur le dashboard et un message comme quoi le type n’existe pas. Obligé d’aller cliquer sur réinstaller dans HACS pour que ça refonctionne.

Faut mettre le total (déjà répondu plusieurs fois mais le thread commence a bien chargé).

mode FP

le mode FP ?

C’est vraiment pas normal. Tu as un soucis dans ton système HA, j’ai l’impression.

Hello @radar,

J’ai fais un petit hack pour avoir un hvac_action même si le sous-jacent n’en n’a pas. C’est pas exceptionnel puisque je ne peux pas inventer une info qui n’existe pas mais ca dépanne.
En gros, si la target temp est < la current_temp du sous-jacent, je mets le hvac_action a Heating puisqu’il y a de forte chance qu’il chauffe.

C’est dans une beta release Release 6.4.0.beta1 · jmcollin78/versatile_thermostat · GitHub

Si tu veux y jeter un oeil (je teste aussi et ça fonctionne chez moi).
Si on a besoin de continuer cette conversation, je propose qu’on ouvre un autre thread ou qu’on passe en MP pour pas trop polluer celui-ci (trop tard …).