Perso j'utilise une automatisation HA déclenchée sur un KNX_event pour "trier" les 6 tarifs dans 6 inputs numbers en fonction de la valeur de l'octet n°2 du DPT.
Dans l'exemple ci dessous, la GA 10/5/1 correspond au comptage d'énergie du chauffage.
il me semble que cette méthode avait déjà été décrite ici.
Pour completer, j'utilise un template pour tout additionner et mettre en forme
Dans l'exemple ci dessous, la GA 10/5/1 correspond au comptage d'énergie du chauffage.
il me semble que cette méthode avait déjà été décrite ici.
Code :
alias: Comptage KNX Chauffage
description: ""
trigger:
- platform: event
event_type: knx_event
condition:
- condition: template
value_template: "{{ trigger.event.data.destination == '10/5/1' }}"
action:
- choose:
- conditions:
- condition: template
value_template: "{{trigger.event.data.data[4] == 8 }}"
sequence:
- service: input_number.set_value
target:
entity_id: input_number.energie_chauffage_hp_bleu
data:
value: |-
{{ (trigger.event.data.data[0] * 2**24) +
(trigger.event.data.data[1] * 2**16) +
(trigger.event.data.data[2] * 2**8) +
(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.energie_chauffage_hp_blanc
data:
value: |-
{{ (trigger.event.data.data[0] * 2**24) +
(trigger.event.data.data[1] * 2**16) +
(trigger.event.data.data[2] * 2**8) +
(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.energie_chauffage_hp_rouge
data:
value: |-
{{ (trigger.event.data.data[0] * 2**24) +
(trigger.event.data.data[1] * 2**16) +
(trigger.event.data.data[2] * 2**8) +
(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.energie_chauffage_hc_bleu
data:
value: |-
{{ (trigger.event.data.data[0] * 2**24) +
(trigger.event.data.data[1] * 2**16) +
(trigger.event.data.data[2] * 2**8) +
(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.energie_chauffage_hc_blanc
data:
value: |-
{{ (trigger.event.data.data[0] * 2**24) +
(trigger.event.data.data[1] * 2**16) +
(trigger.event.data.data[2] * 2**8) +
(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.energie_chauffage_hc_rouge
data:
value: |-
{{ (trigger.event.data.data[0] * 2**24) +
(trigger.event.data.data[1] * 2**16) +
(trigger.event.data.data[2] * 2**8) +
(trigger.event.data.data[3] * 2**0) }}
mode: single
Code :
# Chauffage
- name: Compteur Energie Chauffage
unique_id: ec237bc5-f71b-4b0c-a1c6-523fa6313079
state: "{{ [ states('input_number.energie_chauffage_hc_bleu'),
states('input_number.energie_chauffage_hp_bleu'),
states('input_number.energie_chauffage_hc_blanc'),
states('input_number.energie_chauffage_hp_blanc'),
states('input_number.energie_chauffage_hc_rouge'),
states('input_number.energie_chauffage_hp_rouge')] | map('float') | sum | multiply(0.001) }}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
__________________________________________________________
Full KNX, même la sonnette ! Home Assistant, automate WAGO, DALI-2
Full KNX, même la sonnette ! Home Assistant, automate WAGO, DALI-2