Gestion de puissance max dans Versatile Thermostat

dans le fichier de configuration de ha:

logger:
  # The next line sets the default logging level, for all python modules.
  # It seems "recommended" to set it to avoid too much logging.
  default: warning
  logs:
    homeassistant.core: info
    homeassistant.components.zha: info
    homeassistant.components.http: info
    custom_components.versatile_thermostat: info
    custom_components.versatile_thermostat.central_feature_power_manager: debug
    custom_components.versatile_thermostat.feature_power_manager: debug

et tu retrouve les infos dans home-assistant.log apres redemarrage pour en prendre en compte la nouvelle config

Je n’avais pas fait attention que JM gérait aussi un compteur interne à l’intégration sur cette partie depuis la dernière mise à jour de la gestion de la puissance.
En tous cas, perso, tout fonctionne bien et c’est super réactif donc je ne peux pas t’aider plus à mon niveau.

Dans le 1er exemple, une nouvelle mesure de la puissance consommée est reçue à 8h00. Les radiateurs vivent leur vie et il n’y a aucune nouvelle mesure à 8h20.

C’est ça ton soucis: ce n’est pas fait pour avoir 20 min sans remontée de la puissance consommée. L’algo marche bien si loirsqu’un radiateur s’allume, on le voit dans les 20 sec.

Ce n’est pas fait pour avoir 20 min sans remontée de mesure. La FR va améliorer les choses (car une extinction sera prise en compte) mais ne résoudra pas ton soucis si les mesures ont plus de qqes secondes.

Il a pu se passer un nombre de trucs incroyable sur ton réseau électrique en 20 min et ce n’est pas du tout pris en compte dans l’algo.

Exactement. C’est beaucoup, beaucoup trop long.

@marwell74 As-tu un exemple de code d’un compteur qui fait la somme des entités consommatrices de la maison dont le refresh est à 10s aussi maxi ?

Je comprends pas tres bien ta phrase.

La puissance consommé d’un radiateur est visible qq seconde apres qu’il s’allume puisque c’est le nodon qui le transmet en meme temps gere les interaction.
Ce qui mise a jour tous les 30 min, c’est la puissance globale du logement puisque renvoyé par le leexee lie au compteur linkee et donc géré enedis.

Ce que je comprend en revanche, c’est qu’il faut creer une entite de type compteur qui se déclenche tous les 10s et qui fait les sommes des puissance utilisé par radiateurs renvoyé par les modele. D’ou ma question d’exemple de code à @mawell74.
Il peut être interessant que nous mettions à jour la documentations pour signaler ces contraintes de l’algo. Qu’en dis tu @Jean-Marc_Collin ?

Je ne vais pas te perdre avec ma configuration (il faut des capteurs sur tous les consommateurs en gros : prises connectées, modules type NODON comme tu sembles avoir, pinces ampèremétrique pour les gros postes, etc…) !
Tu peux t’appuyer sur ton Lixee mais tu dois baisser ton refresh sur la donnée de puissance instantannée. En paramétrant correctement le Lixee dans Z2M et si ton LQI est correct, un refresh de 10s passe sans soucis. Ca peut plomber un peu la BDD donc tu peux trouver un compromis entre 30mns et 10s mais cela doit être acceptable pour que Versatile puisse fonctionner correctement.

1 « J'aime »

C’est déjà inscrit :

C’est le principe même du délestage, il compare que la puissance totale consommée ne soit pas au delà du seuil définit. Sachant que ça se joue dans la dizaine de seconde grand grand max, il faut bien que toutes les remontées soient coordonnées et réactives (celle des objetsmais aussi le total qui va être comparé).

2 « J'aime »

@mawell74 j’aurais juste aime un exemple de template compteur.

Oui,j’ai que des nodon pour l’instant … (pour l’instant je gere que le chauffage car je debut, le reste viendra en son temps). Grosse difference, je suis pas en Z2M mais en ZHA (je pensais que c’etait plus simple simple a configurer mais il semble qu’il y ait fonctionalite bridé). J’essai de chercher le poll attribute dans la config du linxee, c’est pas du tout evident a retrouvé l’attribut mais je vais finir par trouver

J’ai fini par trouvé … et j’ai creer un entree capteur combinant plusieur capteur à laquelle j’ai mis les capteur de demande instantateur des radiateurs… j’ai un event tous les 5s, le thermostat est content et a l’air de fonctionner correctement. plus qu’a voir sur le long terme

Tant mieux si tu as trouvé tout seul.
Perso, j’ai fait un template du genre :

{{ (states("sensor.prise_chauffe_eau_power") | float)
+ (...)
+ (states("sensor.prise_garage_lave_linge_power") |float ) }}
1 « J'aime »

Je viens de comprendre qu’en fait tu n’as pas de mesure de ta consommation directement depuis le compteur ou un équipement de mesure via un tore sur tes phases.

Du coup il va te manquer une bonne partie de ta consommation et tu seras très imprécis voire faux. Techniquement ca va faire des choses mais c’est pas exceptionnel, prends plein de marges partout et ne crois surtout pas que tu vas pouvoir t’approcher de la limite de ton compteur.

@Jean-Marc_Collin je vais essaye de regarder comment changer le poll du linxee et reduire sa période de mise a jour.

en attendant de trouver la bonne configuration de celui-ci qui me permetterait d’avoir la conso global instannee de tous le logement (unite connecte et non connecte) que calcul ennedis ou la FR qui extrapolerait durant la trop longue periode de disette, je passe de fait par une entite qui combiner les unites les plus consommatrices que je mesure instantannement par les nodon (aujourd’hui les radiateurs, mais je vais ajouter le chauffe eau et qq lampe avec des nodon et le frigo, ca ne me donnera que une indication forcement en dessous du reel.)

De toute facon, pour l’instant je suis en large (car selon edf, la puissance max que je consomme est autour de 4kW et j’ai une puisse souscrit de 9KW). je fais ca pour l’instant a titre informatif et de test

1 « J'aime »

@Jean-Marc_Collin

J’ai analys un peu plus la courbe du capteur de puissance du lixee, il poll tous les 5min comme le montre la courbe ci-dessous

Du coup, je ne comprends pas pourquoi versatile thermostat ne genere un power event que tous les 30 min, il devrait le faire tous les 5min. Comment est fait le lien entre le capteur et le power event ?

Hello @djacomy

VTherm écoute les changements d’états du capteur que tu lui as configuré. Chaque changement d’état provoque le new Power event:

Receive new Power event
2025-02-07 08:30:07.924 DEBUG (MainThread) [custom_components.versatile_thermostat.central_feature_power_manager] <Event state_changed[L]: entity_id=sensor.lixee_zlinky_tic_puissance, old_state=<state sensor.lixee_zlinky_tic_puissance=1068; state_class=measurement, active_power_max=3131, measurement_type=, unit_of_measurement=W, device_class=power, friendly_name=Puissance @ 2025-02-07T08:00:09.003913+01:00>, new_state=<state sensor.lixee_zlinky_tic_puissance=1080; state_class=measurement, active_power_max=3131, measurement_type=, unit_of_measurement=W, device_class=power, friendly_name=Puissance @ 2025-02-07T08:30:07.922172+01:00>>

On voit clairement sur ta courbe qu’elle est très échantillonnée et qu’il y a des longues périodes sans data:
Capture d’écran 2025-02-08 à 10.08.39
Capture d’écran 2025-02-08 à 10.08.48

Une courbe de mesure de puissance ça ressemble plutot à ça :

Ca ne peut pas être stable pendant 1/2h.

@Jean-Marc_Collin je viens de comprendre en allant regarder le code python de homeassistant.core.event.async_track_state_change (c’est cool car je suis dev python donc on peut rien me cacher).

un power event n’est genere que lorsque l’etat du capteur change.
Si un power event est genere à 6h30 avec 2345 W. Tant que le capteur reste à 2345W avec un refresh tous les 5min, aucun power event n’est génére. C’est une chute de la puissance à 7h05 à 1862W qui generera un nouveau power event. Cela ne signifie pas que entre 6h30 et 7h05 on ne connait pas puissance consomme instantanement, mais la puissance consomme est stable à 2345W entre 6h30 et 7h05.

Je pense le Vtherm ne devrait etre pas initialisé avec chaque nouveau power event qui peut intervenir dans des delai plus ou moins long selon la frequence de changement de l’etat du capteur, mais initialisé à chaque début de cycle d’activation avec les valeur du dernier power event recu.

Rmq: en parcourant le forum, j’ai vu qu’il y a eu la meme problematique avec les detecteur de temperature, un temperature event n’etait genere que lors d’une baisse ou une augmentation. Des lors il etait compliquer de determiner un intervalle fixe entre 2 mesure de temperature.

Selon le code generique de homeassistant, l’intervalle de mesure des capteur est fixe, l’intervalle entre 2 event de changement est par definition variable, car les variations de temperature ou de puissance n’interviennent pas toujours à intervalle regulier. Les evenement dans homeassistant sont driver en mode push, et pas en mode poll. Seul la mesure du capteur est en mode poll regulier, ces mesure régulieres les applications qui consomme les capteurs n’y ont pas access, juste leur variation.

je vais mettre le poll intervalle a 1min et voir quelle difference ca donne dans la courbe

@Jean-Marc_Collin Eureka! Je viens de piger mon erreur. J’utilise le capeur de puissance en W de lixee qui lui est nivele, alors que je devrais utilise le capteur de puissance apparente en VA qui lui fait apparaitre les variation a la secondes

1 « J'aime »

Voilà ca ressemble bien plus à courbe de puissance instantanée !

1 « J'aime »

Du coup, je place ici une petite synthese de mes investgation pour qui debuterait en domotique et voudrait utiliser le merveilleux outils de @Jean-Marc_Collin qu’est Versatile thermostat avec avec la gestion de puissance et le capteur LiXee ZLinky_TIC qui se connecte au linky via ZHA (faut bien que nos galere servent autres de la communauté :grinning: ):

  • Utiliser ler capteur de puissance apparante en (VA) pour gerer la puissance instantanne
  • Creer une entree de type number avec votre puissance souscrite moins tolerance eventuelle) pour la puissance max
  • s’assurer que le temps d’acquisition du linky est bien 5s

1 « J'aime »