Bonjour à toutes et tous,
depuis quelques temps je migre mon installation knx et autre de Lifedomus vers HA. Dans l’ensemble cela se passe bien. Je cale sur un point : j’ai un compteur d’énergie KNX qui me récupère des données via des pinces ampères métriques mais aussi via la téléinfo. Et c’est là que j’ai un soucis je récupère l’énergie apparente en KVAh mais avec le tarif correspondant (plein ou réduit) c’est en 6 bytes et dans ha on peut avoir que en 4 bytes c’est à dire sans différentiation de tarif.
Comment je fais pour mettre les bonnes conso dans les bons tarifs. Là je sèche.
Merci
System Information
version |
core-2023.5.4 |
installation_type |
Home Assistant OS |
dev |
false |
hassio |
true |
docker |
true |
user |
root |
virtualenv |
false |
python_version |
3.10.11 |
os_name |
Linux |
os_version |
6.1.25 |
arch |
aarch64 |
timezone |
Europe/Paris |
config_dir |
/config |
Home Assistant Cloud
logged_in |
false |
can_reach_cert_server |
ok |
can_reach_cloud_auth |
ok |
can_reach_cloud |
ok |
Home Assistant Supervisor
host_os |
Home Assistant OS 10.1 |
update_channel |
stable |
supervisor_version |
supervisor-2023.04.1 |
agent_version |
1.5.1 |
docker_version |
23.0.3 |
disk_total |
114.1 GB |
disk_used |
7.7 GB |
healthy |
true |
supported |
true |
board |
odroid-n2 |
supervisor_api |
ok |
version_api |
ok |
installed_addons |
ESPHome (2023.5.4), MariaDB (2.6.1), Samba share (10.0.2), File editor (5.6.0), Mosquitto broker (6.2.1), AirSonos (3.5.4), Z-Wave JS (0.1.81), VLC (0.2.0), Tor (4.2.0), Node-RED (14.2.1), Advanced SSH & Web Terminal (15.0.1), Log Viewer (0.15.1), motionEye (0.19.1) |
Dashboards
dashboards |
2 |
resources |
0 |
views |
3 |
mode |
storage |
Bonjour,
j’ai le même type d’installation pour le contrat tempo: un TE331 qui utilise le DPT 235.001 qui combine le DPT 13.010 et 5.006.
voici la méthode que j’ai trouvé:
- créer un input_number par tarif:
Teleinfo HC Blanc input_number.teleinfo_hc_blanc Nombre
Teleinfo HC Bleu input_number.teleinfo_hc_bleu Nombre
Teleinfo HC Rouge input_number.teleinfo_hc_rouge Nombre
Teleinfo HP Blanc input_number.teleinfo_hp_blanc Nombre
Teleinfo HP Bleu input_number.teleinfo_hp_bleu Nombre
Teleinfo HP Rouge input_number.teleinfo_hp_rouge Nombre
- utiliser une automatisation déclenchée sur knx_event avec une condition sur l’adresse de groupe du compteur KNX pour renseigner les input_number en fonction du tarif contenu dans les 6 octets
- id: '1679480262914'
alias: Comptage KNX Teleinfo
description: ''
trigger:
- platform: event
event_type: knx_event
condition:
- condition: template
value_template: '{{ trigger.event.data.destination == ''10/5/0'' }}'
action:
- choose:
- conditions:
- condition: template
value_template: '{{trigger.event.data.data[4] == 8 }}'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.teleinfo_hp_bleu
data:
value: "{{ (trigger.event.data.data[0] * 2**24) +\n (trigger.event.data.data[1]
* 2**16) +\n (trigger.event.data.data[2] * 2**8) +\n (trigger.event.data.data[3]
* 2**0) }} "
- conditions:
- condition: template
value_template: '{{trigger.event.data.data[4] == 9 }}'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.teleinfo_hp_blanc
data:
value: "{{ (trigger.event.data.data[0] * 2**24) +\n (trigger.event.data.data[1]
* 2**16) +\n (trigger.event.data.data[2] * 2**8) +\n (trigger.event.data.data[3]
* 2**0) }} "
- conditions:
- condition: template
value_template: '{{trigger.event.data.data[4] == 10 }}'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.teleinfo_hp_rouge
data:
value: "{{ (trigger.event.data.data[0] * 2**24) +\n (trigger.event.data.data[1]
* 2**16) +\n (trigger.event.data.data[2] * 2**8) +\n (trigger.event.data.data[3]
* 2**0) }} "
- conditions:
- condition: template
value_template: '{{trigger.event.data.data[4] == 5 }}'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.teleinfo_hc_bleu
data:
value: "{{ (trigger.event.data.data[0] * 2**24) +\n (trigger.event.data.data[1]
* 2**16) +\n (trigger.event.data.data[2] * 2**8) +\n (trigger.event.data.data[3]
* 2**0) }} "
- conditions:
- condition: template
value_template: '{{trigger.event.data.data[4] == 6 }}'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.teleinfo_hc_blanc
data:
value: "{{ (trigger.event.data.data[0] * 2**24) +\n (trigger.event.data.data[1]
* 2**16) +\n (trigger.event.data.data[2] * 2**8) +\n (trigger.event.data.data[3]
* 2**0) }} "
- conditions:
- condition: template
value_template: '{{trigger.event.data.data[4] == 7 }}'
sequence:
- service: input_number.set_value
target:
entity_id: input_number.teleinfo_hc_rouge
data:
value: "{{ (trigger.event.data.data[0] * 2**24) +\n (trigger.event.data.data[1]
* 2**16) +\n (trigger.event.data.data[2] * 2**8) +\n (trigger.event.data.data[3]
* 2**0) }} "
mode: single
- Utiliser des templates pour formater les input_number et les rendre compatible avec l’utility_meter:
Template:
sensor:
# Teleinfo
- name: Compteur teleinfo hp bleu
unique_id: 13e1cc21-f0bc-4b98-a442-bd37d577fa75
state: "{{ states('input_number.teleinfo_hp_bleu') | multiply(0.001) | float }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- name: Compteur teleinfo hp blanc
unique_id: 33554c53-839b-491b-9938-a4eff8feaeca
state: "{{ states('input_number.teleinfo_hp_blanc') | multiply(0.001) | float }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- name: Compteur teleinfo hp rouge
unique_id: 72f4785a-d29a-416f-8edd-b28e4faca662
state: "{{ states('input_number.teleinfo_hp_rouge') | multiply(0.001) | float }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- name: Compteur teleinfo hc bleu
unique_id: 7991460b-b72c-4c4e-9e49-410a988df427
state: "{{ states('input_number.teleinfo_hc_bleu') | multiply(0.001) | float }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- name: Compteur teleinfo hc blanc
unique_id: ddd97174-68bc-412c-a835-db4358f76b17
state: "{{ states('input_number.teleinfo_hc_blanc') | multiply(0.001) | float }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- name: Compteur teleinfo hc rouge
unique_id: d73b3286-021b-4e44-b1e5-9fe0af2a88e2
state: "{{ states('input_number.teleinfo_hc_rouge') | multiply(0.001) | float }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
il ne reste plus qu’a ajouter les compteurs au tableau de bord energy.
1 « J'aime »
Salut Nitro24, merci pour ta réponse. Je vais tester ça. Sur Lifedomus c’était fait pareil j’avais dû faire tout un montage pour pouvoir récupérer les infos mais là je séchais complet 
Bonne journée à toi.