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

Bonjour,

Il te faut flasher le Zlinky avec le firmaware v9 ( Release ZLinky_TIC Router v9.0 · fairecasoimeme/Zlinky_TIC · GitHub ) , choisie le firmware route (enfant autoriser sur le Zlinky) ou no route (enfant non autoriser sur le Zlinky) en .ota. J’avais mis les explications pour flasher Clé ZLINKY lixee avec ZHA + Conbee2_Remonter dans ENERGIE HP/HC - #31 par WarC0zes .

Ensuite faire la maj du core 2022.10.5 et c’est tout. Tu pourra après lire et ecrire sur les clusters.

Bonjour à tous,

J’ai jamais réussi à avoir un relever continu de ma consommation électrique (version d’origine et nouvelle).
J’ai tester la version 10 sortie récemment mais c’est pareil. Avez vous une idée ?

J’ai remarqué qu’après un reboot de ha j’avais un relever pendant quelques minutes.

Merci d’avance pour votre aide.

Je propose un tour côté Intégration zha · Issue #18 · fairecasoimeme/Zlinky_TIC · GitHub .

Surtout:

service: zha_toolkit.conf_report
data:
  ieee: sensor.lixee_zlinky_tic_electricalmeasurement
  cluster: 1794
  attribute: 0
  max_interval: 200
  reportable_change: 1
  min_interval: 40

Perso, je mets min_interval à 1, et max_interval à 300 .
Théoriquement cela remonte la consommation totale dès qu’elle change, mais en pratique le ZLinky ne remonte pas autant d’infos :frowning: . Mais c’est ce qui permet de l’avoir le plus souvent possible.

Aussi, je calcule la consommation en kWh comme ceci (dans sensors.yaml, inclus par sensor: !include sensors.yaml dans configuration.yaml):

- platform: derivative
  source: sensor.lixee_zlinky_tic_smartenergy_metering_summation_delivered
  name: current_summation_derived
  round: 3
  unit_time: h
  unit: kW
  time_window: "00:01:00"

Ce qui donne une approsimation de la consomation en kWh.

1 « J'aime »

Merci beaucoup ça fonctionne maintenant. :star_struck:

Salut,
depuis la v7 on peu changer le temps d’aquisition. Par default c’est a 10s.
depuis la v9 on peu modifier directement les clusters du Zlinky sous ZHA.

Citation :
Add Linky acquisition timer parameter.(Readable/Writable and in PDM memory) Cluster : 0xff66 - attribut : 0x0100 (par defaut : 0x0A)

1 « J'aime »

Hello,

Merci à tous, grâce à tous les fils de discussion, j’ai pu configurer mon zlinky_TIC, et je commence à jouer avec !

Il m’a fallu être patient car plusieurs fois, j’ai eu des « interruptions » de service, perdant des capteurs et perdant surtout l’acquisition zlinky_TIC pendant plusieurs dizaines de minutes, voir heures. J’ai essayé des redémarrages de HA et des reconfigurations de devices jusqu’à en perdre plusieurs, alors je suis allé me coucher, et le lendemain matin, tout refonctionnait à nouveau! Il faut donc savoir être patient… (Pour info, ma configuration est un HA-core et un vieux dongle CC2531).

@le_top je n’ai pas encore joué avec la configuration de l’acquisition via zha_toolkit.conf_report → est ce que tu configures cela dans un « service » ? J’irai surement faire un tour sur le lien Github fairecasoimeme/Zlinky_TIC que tu as posté pour en savoir plus.

Donc pour l’instant, j’utilise toujours zha_toolkit.execute pour récupérer toutes les minutes les index du compteur (lixee_zlinky_tic_metering_HC).

@le_top merci pour le partage, j’utilise aussi derivative sur la conso récupérée ci dessus (lixee_zlinky_tic_metering_HC) et non pas sur summation_delivered qui ne se met quasiment jamais à jour chez moi. En tout cas je n’ai pas trouvé utile de mettre une fenêtre (time_window) car le comportement par défaut semble convenir : By default the derivative is calculated between two consecutive updates without any smoothing. Le time_window me parait utile si il y a du bruit dans les mesures, ce qui ne semble pas être le cas ici.

D’ailleurs, maintenant que j’ai déjà configuré le helper derivative, je n’arrive plus à retrouver la configuration sous forme de yaml, mais seulement au format graphique, savez vous comment je peux retrouver la version yaml ?

Voici ce que ça donne en tout cas :

C’est un service et on peut l’appeler depuis les outils développeur ou dans une action d’une automatisation ou script par exemple.

Souvent on peut passer en mode Yaml à travers le menu des « trois petits points ». Je ne vois pas trop de quoi il s’agit exactement ici.

Comme ça marche, j’hésite à toucher quoi que ce soit, mais sinon je suis en firmware 5, il y a un intérêt à passer en firmware 12 ?

Bonjour @FillR2,
du firmware v5 au v12 il y a eu pas mal d’amélioration, dont l’ajout du voltage du Zlinky.
Perso, j’avais mon Zlinky qui clignoter souvent et depuis la maj en v12 c’est fini. Ca clignote plus et mon réseau Zigbbe est stable maintenant.
Moi , je te conseillerai de mettre en v12.

Pour la MAJ:
Tu télécharge le firmware que tu veut et tu le copie dans /config/zigpy_ota/ (créer le dossier si tu la pas ).

Ensuite tu copie le code dans ton configuration.yaml.

zha:
  zigpy_config:
    ota:
      otau_directory: /config/zigpy_ota
      ikea_provider: false
      ledvance_provider: false

logger:
  default: info
  logs:
    homeassistant.components.zha: debug
    zigpy: debug

Tu reboot, et la maj par OTA va démarrer. Tu peu voir l’avancement du flash dans les logs (afficher tous les journaux ). Si ca démarre pas desuite, faut débrancher et rebrancher le Zlinky et la maj OTA ce lancera. Tu attends les 100% et c’est bon (15-20min pour flash).

DEBUG (MainThread) [zigpy.zcl] [0xD98B:1:0x0019] OTA upgrade progress: 100.0

ensuite, @piitaya a sortie un PR pour ajouter le tarif et HP HC pour ZHA. Add tier summation delivered for Lixee Zlinky TIC by piitaya · Pull Request #82602 · home-assistant/core · GitHub, on aura plus besoin d’utiliser zha-toolkit pour récupérer les HP HC . Tu en avais parler quelques mois avant .

1 « J'aime »

Bonjour,
j’ai migrer sur un RPi4 4Go et depuis je n’est plus ces erreurs. Je me pose la question a savoir si c’était pas des micros interférences qui faisait bugger la clé Zigbee.

les branchements sur le rpi3, le 1 rallonge USB avec clé zigbee et 2 câble USB SATA avec le SSD.

les branchements sur le rpi4, le 1 rallonge USB avec clé Zigbee ( port USB2 ) et 2 câble USB SATA avec le SSD ( port USB3 ).

Bonjour à tous,

J’ai reçu lixee il y a maintenant 4 jours, étant très novice (voir même très très nul) j’ai suivi le début de la discussion afin d’avoir ma conso instantané.
Tout d’abord je ne sais pas si le firmware est à jour dans sa version 12. Je ne vois rien dans les logs qui m’affiche l’évolution, si vous pourriez m’aider ce serait bien top de votre part. Je n’ai pas non ils les HP et HC.




Et les logs





Merci d’avance pour votre aide

Bonsoir,
c’est écrit Firmware: 0x0000000c, c’est en hexadécimal et qui donne en décimal 12. Ta bien le dernier firmware v12.

Pour les HC et HP faut suivre le tuto du post.

bonjour et merci pour votre réponse, j’ai dû redémarrer au moins 20x :rofl:

du coup je pense avoir bien suivit le tutoriel, mit à part la service zha toolkit (j’y comprends vraiment rien) donc peut être que cela vient de là, je vous met ma config et les logs au redémarrage :
mon fichier automations

  alias: Read ZLinky_TIC HC + HP every minute
  description: ''
  trigger:
    - platform: time_pattern
      hours: '*'
      minutes: /1
      seconds: '0'
  condition: []
  action:
    - service: zha_toolkit.execute
      data:
        command: attr_read
        ieee: 00:15:
        cluster: 1794
        attribute: 256
        state_id: sensor.lixee_zlinky_tic_metering_HC
        allow_create: false
    - service: zha_toolkit.execute
      data:
        command: attr_read
        ieee: 00:15
        cluster: 1794
        attribute: 258
        state_id: sensor.lixee_zlinky_tic_metering_HP
        allow_create: false
  mode: single

mon fichier configuration (je n’ai pas encore trouvé comment l’inclure à mon fichier sensors, j’ai des erreurs mais je vais fouiner pour ce ça reste cohérent avec mon installation)

template:
- sensor:
  - name: lixee_zlinky_tic_metering_HC
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    state: unavailable

  - name: lixee_zlinky_tic_metering_HP
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    state: unavailable

template:
  - name: lixee_zlinky_tic_metering_HC_HP_sum
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    state: >-
      {% if is_state('sensor.lixee_zlinky_tic_metering_HC', 'unavailable') %}
        unavailable
      {% elif is_state('sensor.lixee_zlinky_tic_metering_HP', 'unavailable') %}
        unavailable
      {% else %}
        {% set HC = states('sensor.lixee_zlinky_tic_metering_HC') | int %}
        {% set HP = states('sensor.lixee_zlinky_tic_metering_HP') | int %}
        {{ HC + HP }}
      {% endif %}  
 Logger: custom_components.zha_toolkit.utils
Source: custom_components/zha_toolkit/utils.py:294
Integration: 🧰 ZHA Toolkit Service (documentation, issues)
First occurred: 13:50:00 (14 occurrences)
Last logged: 13:56:01

    Entity_id 'sensor.lixee_zlinky_tic_metering_HC' not found
    Entity_id 'sensor.lixee_zlinky_tic_metering_HP' not found

Merci pour votre aide :slight_smile:

Bonjour,
Ta pas les bon espaces et template: en double, voici ma config (configuration.yaml),:

template:
  - sensor:
      - name: lixee_zlinky_tic_metering_HC
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        state: unavailable
      - name: lixee_zlinky_tic_metering_HP
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        state: unavailable

      - name: lixee_zlinky_tic_metering_HC_HP_sum
        unit_of_measurement: "Wh"
        device_class: energy
        state_class: total_increasing
        state: >-
          {% if is_state('sensor.lixee_zlinky_tic_metering_HC', 'unavailable') %}
            unavailable
          {% elif is_state('sensor.lixee_zlinky_tic_metering_HP', 'unavailable') %}
            unavailable
          {% else %}
            {% set HC = states('sensor.lixee_zlinky_tic_metering_HC') | int %}
            {% set HP = states('sensor.lixee_zlinky_tic_metering_HP') | int %}
            {{ HC + HP }}
          {% endif %}

zha_toolkit:

Bonjour à tous,

je suis dans le même situation, rien en HC et HP.
J’ai suivi le tuto, erreur dans les log :

homeassistant.components.automation.mise_a_jour_infos_tarif_base
Source: custom_components/zha_toolkit/zcl_attr.py:313
Integration: Automatisation (documentation, issues)
First occurred: 19:04:00 (8 occurrences)
Last logged: 19:07:00

Mise à jour infos tarif BASE: Error executing script. Unexpected error for call_service at pos 1: 'Device not found: nwk=None, ieee=None'
While executing automation automation.mise_a_jour_infos_tarif_base
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1745, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1782, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/config/custom_components/zha_toolkit/__init__.py", line 773, in toolkit_service
    raise handler_exception
  File "/config/custom_components/zha_toolkit/__init__.py", line 737, in toolkit_service
    await handler(
  File "/config/custom_components/zha_toolkit/__init__.py", line 822, in command_handler_default
    await default.default(
  File "/config/custom_components/zha_toolkit/default.py", line 33, in default
    await handler(app, listener, ieee, cmd, data, service, params, event_data)
  File "/config/custom_components/zha_toolkit/zcl_attr.py", line 303, in attr_read
    await attr_write(*args, **kwargs)
  File "/config/custom_components/zha_toolkit/zcl_attr.py", line 313, in attr_write
    dev = app.get_device(ieee=ieee)
  File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 982, in get_device
    raise KeyError(f"Device not found: nwk={nwk!r}, ieee={ieee!r}")
KeyError: 'Device not found: nwk=None, ieee=None' 

Device not found, pourtant ma clef est bien présente et fonctionnel

mon automatisation :

alias: Read ZLinky_TIC HC + HP every minute
description: ""
trigger:
  - platform: time_pattern
    hours: "*"
    minutes: /1
    seconds: "0"
condition: []
action:
  - service: zha_toolkit.execute
    data:
      command: attr_read
      ieee: 00:15:8d:00:xx:xx:xx:xx
      cluster: 1794
      attribute: 256
      state_id: sensor.lixee_zlinky_tic_metering_HC
      allow_create: false
  - service: zha_toolkit.execute
    data:
      command: attr_read
      ieee: 00:15:8d:00:xx:xx:xx:xx
      cluster: 1794
      attribute: 258
      state_id: sensor.lixee_zlinky_tic_metering_HP
      allow_create: false
mode: single

Si vous avez une idée je suis preneur.
Merci

A la place de l’adresse IEEE, on peut mettre un nom d’entité de objet - et au passage utiliser zha_toolkit.attr_read.

    - service: zha_toolkit.attr_read
      data:
        ieee: sensor.lixee_zlinky_tic_ea99d205_smartenergy_metering_summation_delivered
        cluster: 1794
        attribute: 256
        state_id: sensor.lixee_zlinky_tic_metering_HC
        allow_create: true

Par ailleurs, je ne fais pas du polling (interroger le Lixee régulièrement), je lui demande de faire du reporting (le Lixee envoie les données de lui-même). Et j’ai ce script:

alias: Configure Lixee
sequence:
  - variables:
      ieee: "{{(device_attr(device, 'identifiers')|list)[0][1]}}"
      default_tries: 3
  - service: zha_toolkit.conf_report
    data:
      ieee: "{{ ieee }}"
      cluster: 1794
      attribute: 0
      min_interval: 1
      max_interval: 300
      tries: "{{ default_tries}}"
      reportable_change: 1
      event_done: zha_done
  - service: zha_toolkit.conf_report_read
    alias: read report configuration (allows verification)
    data:
      ieee: "{{ ieee }}"
      cluster: 1794
      attribute: 0
      tries: "{{ default_tries}}"
      event_done: zha_done
  - service: zha_toolkit.conf_report
    data:
      ieee: "{{ ieee }}"
      cluster: 1794
      attribute: 0
      min_interval: 1
      max_interval: 300
      tries: "{{ default_tries}}"
      reportable_change: 1
      event_done: zha_done
  - service: zha_toolkit.conf_report_read
    alias: read report configuration (allows verification)
    data:
      ieee: "{{ ieee }}"
      endpoint: 1
      cluster: 1794
      attribute: 0
      tries: "{{ default_tries}}"
      event_done: zha_done
  - service: zha_toolkit.conf_report
    alias: Active power report configuration
    data:
      ieee: "{{ ieee }}"
      endpoint: 1
      cluster: 2820
      attribute: 1291
      min_interval: 1
      max_interval: 300
      tries: "{{ default_tries}}"
      reportable_change: 1
      event_done: zha_done
  - service: zha_toolkit.conf_report_read
    alias: Active power report configuration read back
    data:
      ieee: "{{ ieee }}"
      cluster: 2820
      attribute: 1291
      tries: "{{ default_tries}}"
      event_done: zha_done
  - service: zha_toolkit.conf_report
    alias: Mains voltage report configuration
    data:
      ieee: "{{ ieee }}"
      cluster: 1
      attribute: 0
      min_interval: 1
      max_interval: 3900
      tries: "{{ default_tries}}"
      reportable_change: 1
      event_done: zha_done
  - service: zha_toolkit.conf_report_read
    alias: Mains voltage report configuration read back
    data:
      ieee: "{{ ieee }}"
      cluster: 1
      attribute: 0
      tries: "{{ default_tries}}"
      event_done: zha_done
fields:
  device:
    name: Lixee
    description: Lixee ZLinky device to configure
    required: true
    selector:
      device:
        manufacturer: LiXee
        model: ZLinky_TIC
        entity:
          integration: zha
mode: single

Une fois ajouté à ses scripts, on peut l’appeler comme un service.

Et l’ajouter au « Energy dashboard »:
image

Je ne sais pas si c’est différent avec HP/HC mais je pense que la somme HP+HC est celle-là.

Pour remonter automatiquement le HP et le HC, sous réserve que le reporting est possible pour ces 2 attributs, il suffit d’ajuster le script ci-dessous pour en ajouter la configuration des rapports.
Mais si ce n’est pas disponible comme un (attribut d’)état, il convient de continuer à interroger le lixee.

1 « J'aime »

Merci pour ton retour, je viens de faire un essai avec tes recommandations, remplacé l’adresse IEEE un nom de l’entité (sensor.lixee_zlinky_tic_summation_delivered)
mais toujours en erreur

Bonjour,
HAOS tourne sur quoi ?
As tu une rallonge usb connecter a ta clé Zigbee ?

PI4 8Go SSD, pas de rallonge Clef ConBee II

HA 2022.12.8
Supervisor 2022.11.2
Operating System 9.4