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

Bonjour,

Je ne sais plus si la question a été posée (le fil commence a être long) et je ne vois rien dans la doc. Est ce qu’il y a une fonction pour envoyer la commande on off en mode switch a intervalle régulier (a chaque cycle par exemple) pour anticiper les commandes qui ne seraient pas passé le premier coup par exemple.

Tu as manifestement une erreur de configuration dans ton fichier templates.yaml comme indiqué dans le message. Partages le ici si tu as des doutes.

Il faut mettre le switch virtuel que tu as du créer.
Tu dois avoir une chaine de commande qui ressemble à ça: VTHerm → Switch Virtuel → Nodon.
Y a @AGeille, débutant qui a pas mal galéré aussi pour le mettre en place ici : Versatile thermostat + heatzy + local tuya... need help - #19 par AGeille
Ca devrait pouvoir t’aider, il faut que tu fasses la même chose.

Hello @pierrick ,

Désolé mais tu te trompes, la temp extérieure sert dans l’auto-régulation, même en mode over_climate.
Dans ton cas, oui, tu n’en as pas besoin car tu penses ne pas avoir besoin d’auto-régulation. Mais beaucoup s’en servent (et tu y viendras peut être un jour pour améliorer ton comfort).

Si des fois tu as encore des doutes, l’algo d’auto-régulation est le suivant:

    def calculate_regulated_temperature(
        self, room_temp: float, external_temp: float
    ):  # pylint: disable=unused-argument
        """Calculate a new target_temp given some temperature"""
        if room_temp is None:
            _LOGGER.warning(
                "Temporarily skipping the self-regulation algorithm while the configured sensor for room temperature is unavailable"
            )
            return self.target_temp
        if external_temp is None:
            _LOGGER.warning(
                "Temporarily skipping the self-regulation algorithm while the configured sensor for outdoor temperature is unavailable"
            )
            return self.target_temp

        # Calculate the error factor (P)
        error = self.target_temp - room_temp

        # Calculate the sum of error (I)
        # Discussion #384. Finally don't reset the accumulated error but smoothly reset it if the sign is inversed
        # If the error have change its sign, reset smoothly the accumulated error
        if error * self.accumulated_error < 0:
            self.accumulated_error = self.accumulated_error / 2.0

        self.accumulated_error += error

        # Capping of the error
        self.accumulated_error = min(
            self.accumulated_error_threshold,
            max(-self.accumulated_error_threshold, self.accumulated_error),
        )

        # Calculate the offset (proportionnel + intégral)
        offset = self.kp * error + self.ki * self.accumulated_error

        # Calculate the exterior offset
        offset_ext = self.k_ext * (room_temp - external_temp)           <-------------------- là

        # Capping of offset
        total_offset = offset + offset_ext
        total_offset = min(self.offset_max, max(-self.offset_max, total_offset))

        result = round(self.target_temp + total_offset, 1)

        _LOGGER.debug(
            "PITemperatureRegulator - Error: %.2f accumulated_error: %.2f offset: %.2f offset_ext: %.2f target_tem: %.1f regulatedTemp: %.1f",
            error,
            self.accumulated_error,
            offset,
            offset_ext,
            self.target_temp,
            result,
        )

        return result

Hello @Idaho947 ,

Oui, y a une fonction nommée Keep-Alive qui permet de faire ça. C’est une valeur en secondes à donner qui est sous la liste des entités sous-jacentes :
Capture d’écran 2024-11-05 à 07.19.16

La dernière commande sera renvoyée toutes les x secondes.

1 « J'aime »

Merci @Jean-Marc_Collin , effectivement je découvre cela car dans la documentation, je trouve que cela n’est pas très clair. J’avais l’impression que cela ne rajoutait qu’une surchouche qui permettait de faciliter l’accès aux automatisations mais ne touchait pas à la régulation.
Si je comprends bien, la consigne que je demande à ton thermostat est recalculée avec le TPI (qui dépend de la T° ext entre autre) et cette température recalculée est donnée en nouvelle consigne au sous-jacent?
Après je ne suis pas climaticien mais j’espère juste que cela ne va pas perturber ma loi d’eau…

Bonjour @Jean-Marc_Collin

J’utilise le thermostat versatile.
J’ai mis une restriction card pour éviter les erreurs de manipulation, surtout pour le cercle de temperature.

Mais cela ne fonctionne pas tous le temps.

Est il possible d’avoir un bouton de verrouillage du cercle qui soit intégré directement dans la carte ?

J’ai vu aussi que l’on peut ajouter une entité auto start stop. Dans quel cas utilisez vous ?

Merci par avance pour votre réponse.

C’est à peu près ça. C’est pas le tpi mais ca y ressemble. Y a aucune raison que ca perturbe si tu ne l’utilises pas (Lapalissade). Et si un jour tu utilises l’auto-régulation, ca ne fait que changer la consigne de la PAC, donc je ne vois pas pourquoi ca pertuberait ta loi d’eau. Beaucoup ici font ça (je ne dirais pas 100% des Vtherm sur des PAC mais on ne doit pas en être loin avec au moins une légère auto-régulation).

Bonjour @pascal_ha ,

Si tu regardes la dernière version de la card UI de VTherm, tu peux carrément enlever le disque. Ca évite ces problèmes et la valeur ajoutée de ce disque était assez faible. Cette version permet aussi de controler et commander le auto-start/stop. C’est pas encore documenté mais si tu vas dans la release sous Github tu as un peu d’explicatinos.

Sur la partie auto-start/stop je t’invite à lire la doc pour savoir ce que ça fait et comment ça marche.
J’ai 3 over_climate et je l’utilise sur les 3. Une pour la sdb ou c’est un simple radiateur soufflant, je la mets en speed pour la stopper des que possible et la rallumer au dernier moment. Ca chauffe vite pas besoin d’anticiper.

Pour la clim réversible du salon, je la met en Medium et j’enlève le flag auto-start/stop en journée pour qu’elle reste allumée et qu’elle se régule tout seul (avec l’aide de l’auto-régulation de VTherm ern mode Fort). La nuit elle est quasiment éteinte tout le temps mais il ne fait pas encore assez froid. Ca économise pas mal car elle consomme 10 à 15 w tout le temps qu’elle est allumée.

Et dans la chambre (clim réversible aussi), l’auto-start/stop est toujours actif et ça bascule que lors de la montée en température le soir. Elle s’éteint dans la nuit et ne se rallume pas, la chaleur humaine suffit à entrenir le 19° de consigne. Faudra voir quand il fera plus froid.

1 « J'aime »

@Jean-Marc_Collin , il y a encore un truc pas clair suite à ta réponse.
Désolé mais j’aime bien comprendre les choses! Ne vois pas ça comme un désaccord!
Tu dis que je ne peux pas avoir de problème si je ne l’utilise pas mais je l’utilise forcément puisque c’est activé de base, qu’on me demande la température ext, etc… C’est à dire que le consigne donnée au thermostat sous-jacent est modifiée par le Vtherm sans que je ne le vois et que je ne lui demande quoi que ce soit. C’est non débrayable quoi…ce que tu appelles l’auto régulation…

Et je ne sais pas comment font les autres mais de mon côté, je ne demande pas une consigne de température à ma PAC. Je lui dis simplement de chauffer ou pas (ON/OFF) et c’est elle qui décide de la température à injecter dans le réseau de chauffage en fonction de la loi d’eau.
A un hystérésis prêt, si la température intérieure est inférieure à la consigne que je souhaite, je lui dis de chauffer et elle injecte l’eau chaude à la température qu’elle souhaite (selon sa loi d’eau). Et si la température intérieure est atteinte, je lui dis d’arrêter de chauffer…

Bonsoir, j’utilise versatile thermostat depuis 1 mois environ, hier soir j’ai vu qu’il était encore en chauffe alors que mes capteurs de température était au dessus de la consigne.
j’utilise un thermostat google nest pour gerer la chaudiere et des tetes trv sur les radiateurs, j’ai mis le nest en thermostat centrale sur versatile avec consigne allumage temperature:20 et eteindre temperature:19 je demande qu’il y est 3 radiateurs sur 4 sous la valeurs pour activé le chauffage pour le RDC et l’étage n’active pas le chauffage.
je sais pas trop comment faire pour qu’il arrete de chauffer autant la nuit.

Je le prends bien je te rassure et tu as raison de vouloir comprendre ; c’est comme ça qu’on avance.

Après toutes ces discussion, tout va très bien : tu n’as pas besoin du paramètre température extérieure. On est d’accord.
Mais c’est ton cas. D’autres configurations en ont besoin et donc le paramètre existe. Je ne vais pas faire une UI par cas différents, y a déjà beaucoup (trop) de paramètres et de configuration différentes. Ca perd les utilisateurs.

Tu peux donc ignorer le warning si tu le revois (ou l’ignorer dans le logger.yaml comme suggérer), puisque c’était ça la question à l’origine.

Et je pense qu’on peut clore le débat la dessus.

Et on reste bons zamis

1 « J'aime »

Hello @tiruds76

J’ai vu plein de soucis avec Nest. Regarde dans le github si des fois ce n’est pas ton cas : Google Nest issues after upgrade -> 6.3.0 · Issue #518 · jmcollin78/versatile_thermostat · GitHub

Essaye aussi un restart, car il y a bug avec des VTherm « fantomes » suite à une mise à jour de configuration (l’ancienne config tournerait toujours en arrière plan). Si un restart résout, c’est que tu es tombé dans ce piège/bug. Comme je n’arrive pas à le reproduire, je ne peux pas le corriger.

Si ce n’est pas ça, passe en MP, donne moi les paramètres de ton VTherm (outil de dev / Etats) et on va regarder ensemble.

je vais regarder cette nuit si il recommence mais j’ai des consignes de radiateur a 18 ou 18,5 la nuit mais il chauffe a presque 20 degres je comprends pas trop pourquoi il fait ca et surtout pourquoi les têtes ne sont pas fermé

par contre je viens de remarquer que mes temperature slope sont toute en inconnu, mais lorsque je clic dessus il m’affiche bien un graphique…

Bonjour ,

J’ai réussie la plus part des choses , merci beaucoup .

Cependant j’ai une dernière erreur , pourtant j’ai fait copier-coller mais sur le dernier switch virtuel j’ai cette erreur … Je ne comprend pas .

2024-11-05 20:48:19.685 ERROR (MainThread) [homeassistant.config] Invalid config for 'switch' from integration 'template' at switch.yaml, line 87: invalid slug chauffage_2salon_Sdb (try chauffage_2salon_sdb) for dictionary value 'switches', got {'chauffage_2salon_Sdb': {'unique_id': 'chauffage_2salon_Sdb', 'friendly_name': 'chauffage salon proche Sdb', 'value_template': "{{ is_state('select.chauffage_2salon_sdb_pilot_wire_mode', 'comfort') }}", 'icon_template': "{% if is_state('select.chauffage_2salon_sdb_pilot_wire_mode', 'comfort') %}\n mdi:radiator\n{% elif is_state('select.chauffage_2salon_sdb_pilot_wire_mode', 'frost_protection') %}\n mdi:snowflake\n{% else %}\n mdi:radiator-disabled\n{% endif %}", 'turn_on': {'service': 'se..., please check the docs at https://www.home-assistant.io/integrations/template

voici le code utilisé :

# RADIATEUR SALON PROCHE SDB 
- platform: template
  switches:
    chauffage_2salon_Sdb:
      unique_id: chauffage_2salon_Sdb
      friendly_name: chauffage salon proche Sdb
      value_template: "{{ is_state('select.chauffage_2salon_sdb_pilot_wire_mode', 'comfort') }}"
      icon_template: >-
        {% if is_state('select.chauffage_2salon_sdb_pilot_wire_mode', 'comfort') %}
          mdi:radiator
        {% elif is_state('select.chauffage_2salon_sdb_pilot_wire_mode', 'frost_protection') %}
          mdi:snowflake
        {% else %}
          mdi:radiator-disabled
        {% endif %}
      turn_on:
        service: select.select_option
        target:
          entity_id: select.chauffage_2salon_sdb_pilot_wire_mode
        data:
          option: comfort
      turn_off:
        service: select.select_option
        target:
          entity_id: select.chauffage_2salon_sdb_pilot_wire_mode
        data:
          option: eco

Merci de votre aide .

L’erreur est dans le message.

1 « J'aime »

Bonjour à tous, bonjour Jean-Marc,

Déjà un énorme merci pour ton taf incroyable.
J’ai déjà publié sur le sujet du module de fil pilote LeroyMerlin/NodOn mais je pense que c’est plus pertinant de reprendre ici (?)

J’ai 3 modules qui ont les mêmes comportement que tiruds76

Exemple jusqu’à ce que je l’arrête à l’instant :

J’utilise les cartes Mushroom de cette manière :

type: custom:mushroom-climate-card
entity: climate.versatile_dressing
name: Dressing
icon: mdi:radiator
show_temperature_control: true
hvac_modes: []
tap_action:
  action: toggle
fill_container: false
collapsible_controls: false
layout: horizontal

Et j’ai suite aux conseil glanés sur le sujet LeroyMerlin créé des helpers template switch :

{{ is_state('select.mod_fp_dressing_pilot_wire_mode', 'comfort') }}

avec en action « on » un input.select > comfort
en action « off » un input.select > frost_protcetion

(j’ai pas le code je suis passé par l’UI désolé).

J’avais, dans les débuts créé une configuration centrale. Puis j’ai tout supprimé et tout refait. Puis dans le doute à la lecture de tes messages, j’ai supprimé ton intégration, le dossier dans custom_components et retéléchargé le tout et reconfiguré sans configuration centrale.

J’aimerai vraiment pouvoir utiliser ton intégration que je trouve formidable et que je compte utiliser en système principal pour l’étage du dessous beaucoup plus complexe à gérer que 3 modules LeroyMerlin. Mais ne mettons pas la charrue avant les bœufs.

Quand je vais dans les options de dev l’entité :

is_controlled_by_central_mode: false

Et je ne trouve pas d’autre climates que ceux paramétrés (pas de climate central…)

Bonjour Jean-Marc,

J’utilise ton Vterm depuis l’année dernière et tout fonctionnait bien jusqu’à il y a quelques jours.
J’ai des thermostats sur thermostat (chauffage centrale)
2 de mes 5 vterm se mettent a faire n’importe quoi n’importe quand
ils passent en mode « none » tout seul et programme n’importe quoi en temp (je me suis retrouvé a plus de 28° dans une pièce ou a pas de chauffage du tout)
Ca fait des jours que je cherche a comprendre mais je vois pas

J’utilise le scheduller pour changer de mode (eco-comfort) comme suit :

Les préréglages :
image

Et voila ce qui se passe :

Une idée pour comprendre ce fonctionnement étrange ?

Hello @Kant1 ,

Alors attention, pas plus tard qu’hier je suis tombé sur ce bug: It is possible to validate a configuration over_switch without TPI parameters set · Issue #552 · jmcollin78/versatile_thermostat · GitHub

D’une façon plus générale, il est possible de valider des configurations de VTherm avec les flags « utiliser la configuration centrale » alors qu’il n’y a pas de configuration centrale.
Le résultat est un VTherm qui ne marche pas du tout.

Ca ressemble pas mal a ton soucis.

Donc 2 possibilités:

  1. tu créées une configuration centrale et tu recrées ton VTherm,
  2. tu repasses sur les différentes pages de conf de ton VTherm et tu decoches toutes les cases qui font références à une configuration centrale.

Le fix est en test chez moi donc bientot disponible mais n’attend pas, si tu veux mon avis.

Note : pour créer une configuration centrale (qui est recommandé dès que tu as au moins 2 VTherms), il faut créer une nouveau VTHerm et choisir « créer une configuration centrale »

1 « J'aime »