Clé ZLINKY lixee avec ZHA + Conbee2_Remonter dans ENERGIE HP/HC

Petit tips sur ZHA : J’ai lancé l’appairage à partir d’un device déjà sur le réseau. Une prise connecté. Les 3 petits points à côté de « reconfigurer », on peut lancer un appairage comme tel. Et ej suppose du coup que celà permet de « choisir » le routeur le plus proche et pas qu’il aille se connecter aléatoirement sur un autre router. Ça a marché nickel. Ma V13 Limited a l’air de bien passer pour le moment.

Dernière question : Je n’ai rien lié au besoin d’1 TIC (pas de ballon ou autre). Intérêt de passer en mode « Standard » vs « Historic » ? Sous ZHA j’insiste. (thème du topic). Avantage ou inconvénient ? J’ai l’impression que de le faire, on remonte les « Watt ». J’ai un abonnement de base.

Oui, c’est bien ca. Tu peu choisir un routeur pour faire un appairage au lieu de la clé directement.

ta déja des sujets sur le mode historique ou standard, a toi de voir. Perso je suis en historique avec des HP/HC, ca me convient très bien.
Pour les watt, tu peu faire un sensor derivative, toute les minutes ca te remontera les watt consommés.

exemple:

- platform: derivative
  source: sensor.zlinky_metering_HC_HP_sum
  name: zlinky_current_summation_derived_one_minute
  round: 0
  unit_time: h
  unit: W
  time_window: "00:01:00"

tu peu même le créer du UI maintenant :wink:

1 « J'aime »

Je vais essayer. Merci

Intéressant ça :slight_smile: Je vais essayer de mettre ça en place.
Moi qui suit en TEMPO, avec mode historique, et ZLinky dans Z2MQTT, est-ce que ce que j’ai entouré est la bonne source à utiliser pour le capture dérivatif ?

Salut,
je connais pas les entités créer avec un abo Tempo. Te faut choisir l’entité qui remonte le total de kWh consommé.
Peu être celle juste au dessus.

Bon apparemment ces capteurs n’ont pas varié d’un iota depuis longtemps…




même chose pour sensor.zlinky_tic_ejphn et sensor.zlinky_tic_base

En revanche, les capteurs suivants eux augmentent bien :



etc…

Est-il possible de faire des sommes dans les capteurs ? on en crée un qui est la somme de plusieurs ?

Quelle serait alors la meilleurs manière d’avoir la puissance instantannée ?
Sommer les conso des différentes couleurs, puis en faire la dérivée ?
Ou bien faire la dérivée de chaque couleur et sommer ensuite ?
(là comme ça, ma logique mathématiques me ferait faire cette seconde option).

Donc ta que les entités bleu blanc et rouge avec hp et hc qui evolue ?

Le mieux chez pas, mais je ferais la somme de tous et un dérivé dessus.

dans template.yaml ( faut rajouter c’est ligne dans le configuration. yaml: template: !include template.yaml et créer un fichier template.yaml dans le dossier /config/.
exemple ( a adpater avec t’es entités et remplir la partie availability avec toutes les entités, pour eviter de faux calcul avec un redémarrage ).

#########################
#       TEMPLATE        #
#########################
- sensor:
    - name: zlinky_metering_HC_HP_sum
      unit_of_measurement: "Wh"
      device_class: energy
      state_class: total_increasing
      state: >-
          {% set HCbleu = states('sensor.0x00158d0xxxxxxx_hchc')|float(default=0)*1000 %}
          {% set HPbleu = states('sensor.0x00158dxxxxxx_hchp')|float(default=0)*1000 %}
          {% set HCblanc = states('sensor.0x00158dxxxxxxf_hchc')|float(default=0)*1000 %}
          {% set HPblanc = states('sensor.0x00158d0xxxxxx_hchp')|float(default=0)*1000 %}
          {% set HCrouge = states('sensor.0x00158dxxxxxxf_hchc')|float(default=0)*1000 %}
          {% set HProuge = states('sensor.0x00158dxxxxxxx_hchp')|float(default=0)*1000 %}
          {{ HCbleu + HPbleu + HCblanc + HPblanc +  HCrouge + HProuge | int(default=0) }}
      availability: "{{ states('sensor.0x00158d0005d299cf_hchc')|is_number and states('sensor.0x00158d0005d299cf_hchp')|is_number }}"

dans sensor.yaml:

- platform: derivative
  source: sensor.zlinky_metering_HC_HP_sum
  name: zlinky_current_summation_derived_one_minute
  round: 0
  unit_time: h
  unit: W
  time_window: "00:01:00"
1 « J'aime »

Oui c’est ça :wink:

Alors, j’ai ressorti mes connaissances en dérivée :slight_smile:
Soit a(t) la conso d’une couleur HC, b(t) celle d’une autre couleur HC, c(t) pour la dernière HC, etc…
image
Donc c’est la même chose dans un sens ou dans l’autre ^^

ok, je vais essayer ça :slight_smile: merci bien

j’ai pas trop compris ceci…

dans l’option availability du sensor template, permet de tester si l’entité est valide. Ca évite de mauvais calcul si tu redémarre HA.
Dans l’exemple ils a que deux entité ( les miens ) mais toi tu en aura 6 ( chaque couleur et hp hc ) . Va falloir que tu rajoute les entités manquante.

exemple:

      availability: "{{ states('sensor.0x0015xxxxxxxx_hchc')|is_number and states('sensor.0x00158xxxxxxxx_hchp')|is_number }} and states('sensor.0x00158xxxxxx_hchp')|is_number }} and states('sensor.0x00158xxxxxxx_hchp')|is_number }} and states('sensor.0x0015xxxxxx_hchp')|is_number }} and states('sensor.0x00158d0xxxxx_hchp')|is_number }}"
1 « J'aime »

Ok merci pour l’explication.

Voilà ce que j’ai, ça devrait être OK je pense :slight_smile:

# Partie pour la dérivée des consommations HC/HP des différentes couleurs de jours
# Voir ce post : https://forum.hacf.fr/t/cle-zlinky-lixee-avec-zha-conbee2-remonter-dans-energie-hp-hc/9058/173
#########################
#       TEMPLATE        #
#########################
- sensor:
    - name: zlinky_metering_HC_HP_sum
      unit_of_measurement: "Wh"
      device_class: energy
      state_class: total_increasing
      state: >-
          {% set HCbleu = states('sensor.zlinky_tic—HC_J.Bleu')|float(default=0)*1000 %}
          {% set HPbleu = states('sensor.zlinky_tic—HP_J.Bleu')|float(default=0)*1000 %}
          {% set HCblanc = states('sensor.zlinky_tic—HC_J.Blanc')|float(default=0)*1000 %}
          {% set HPblanc = states('sensor.zlinky_tic—HP_J.Blanc')|float(default=0)*1000 %}
          {% set HCrouge = states('sensor.zlinky_tic—HC_J.Rouge')|float(default=0)*1000 %}
          {% set HProuge = states('sensor.zlinky_tic—HP_J.Rouge')|float(default=0)*1000 %}
          {{ HCbleu + HPbleu + HCblanc + HPblanc +  HCrouge + HProuge | int(default=0) }}
      availability: "{{ states('sensor.zlinky_tic—HC_J.Bleu')|is_number and states('sensor.zlinky_tic—HP_J.Bleu')|is_number }} and states('sensor.zlinky_tic—HC_J.Blanc')|is_number }} and states('sensor.zlinky_tic—HP_J.Blanc')|is_number }} and states('sensor.zlinky_tic—HC_J.Rouge')|is_number }} and states('sensor.zlinky_tic—HP_J.Rouge')|is_number }}"
1 « J'aime »

Hmmm, il y a quelque chose qui ne va pas :sweat_smile:

Attends que des valeurs remontent.
Test sinon le code dans l’outils de dev et modèle.

Toujours rien après 20 minutes… j’ai du merder quelque part.
Est-ce que si j’ai renommer les sensors ZLinky, je peux mettre leur nom renommé ? ou bien leur nom de base ?
Car j’ai mis les noms renommés…

Pour tester dans l’outils de dev et modèle, je ne sais même pas où c’est :sweat_smile:

Tu va dans Outils de développement et onglet modèle. dans la partie du code tu supprime tout et colle le code. tu verra un résultat ou une erreur.

1 « J'aime »

C’est bien ce qu’il me semblait, j’ai modifié en prenant les ID de base, et dans la partie dev, ça fonctionne :

Me reste plus qu’à redémarrer HA encore une fois ^^

sinon, l’unité du tout est en Wh ou en kWh ?
Car si c’est en kWh, comment faire pour avoir 3 décimales ?

1 « J'aime »

C’est en Wh, pas en KWh. D’ou le multiplier par 1000 dans le calcule.
si tu veut en kWk faut enlever le *1000.
et modifier:

{{ HCbleu + HPbleu + HCblanc + HPblanc +  HCrouge + HProuge | float(default=0) |round(3) }}
1 « J'aime »

Ha oui je venais de reprendre le code, boulet que je suis :rofl:
Du coup avec ton calcul, j’aurais tous les chiffres que donne le ZLinky ^^ Pas besoin de repasser par le kWh et d’ajouter les décimales :slight_smile: