Je viens de passer en TEMPO, et je n’ai pas touché au ZLinky, ni à son paramétrage.
C’est la nature des infos remontées qui s’est modifiée, donc j’ai dû reparamétrer le tableau de bord Energie mais c’est tout.
Je suis en ZHA pour la connection au ZLinky. Je suis en TIC standard et j’ai bien toutes les infos y compris la puissance en W. Cependant, il me semble que cette puissance n’est pas en temps réel et est actualisé toutes les 30 minutes. Quelqu’un peut me dire si on peut changer cela pour avoir du temps réel ? Sinon, je vais devoir remettre un Shelly…
Tu as réussi à faire mieux que 30min @egelinotte ? J’ai le même soucis il semblerait.
Je suis aussi en ZHA avec le ZLinky. Je n’ai rien changé aux paramètres par défaut, et les élements comme la puissance apparente sont remontés toutes le 1 ou 2 minutes max de mon côté (je pense que c’est même plus fréquent car j’ai des points à quelques secondes l’un de l’autre sur le graph historique).
Bonjour à tous,
je me greffe sur ce post pour vous demander si il y en a parmi vous qui ont réussi à récupérer les valeurs des Phases 2 et 3 dans le cas d’une installation Triphasée.
Pour le moment je ne récupère que la Phase 1 avec ZLinky_TIC…
Merci!!
Nicolas
Salut !
Je suis ultra intéressé par cette astuce pour avoir enfin la puissance active de mon Linky en temps quasi-réel. Malheureusement je n’arrives pas à le faire marcher.
J’ai suivi le template pour créer le compteur somme HP-HC mais comme je suis en tarif base, je l’ai adapté pour ne prendre que mon compteur base. Ca sert sûrement à rien mais j’ai voulu coller au plus près de ce que j’ai lu ici.
Ensuite j’ai défini le sensor pour le calcul chaque minute de la puissance en W par la dérivée.
Dans mes entités, je retrouves bien mon template de somme, il s’incréments bien, est bien exprimé en Wh (et non en kWh comme le compteur base), tout semble aller.
Je vois bien mon nouveau sensor en W, le seul problème : il ne se met pas à jour, il reste à 0 sans jamais se rafraichir.
Il me manque sûrement une broutille mais je bute sur le Pb depuis des heures… HELP
Je suis une bille en HA, vous voyez où serait mon problème ?
template:
# - sensor:
# #Sensor perso = VA Linky - 5 prises connectées
# - name: Conso non classée
# unit_of_measurement: "W"
# state: '{{ states("sensor.compteur_linky_electricalmeasurementapparentpower") |float - states("sensor.box_internet_current_consumption") | float - states("sensor.frigo_current_consumption") | float - states("sensor.machines_linge_current_consumption") | float - states("sensor.voiture_electrique_current_consumption") | float - states("sensor.vmc_current_consumption") | float }}'
- sensor:
- name: "sensor.compteur_linky_smartenergysummation_temp"
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
state: >
{% if is_state('sensor.compteur_linky_smartenergysummation', 'unavailable') %}
unavailable
{% else %}
{% set HP = states('sensor.compteur_linky_smartenergysummation') | float*1000 %}
{{ HP | int }}
{% endif %}
sensor:
- platform: derivative
source: "sensor.compteur_linky_smartenergysummation_temp"
name: "sensor.compteur_linky_1_Min_Avg_Wattz"
round: 0
unit_time: h
unit: W
time_window: "00:01:00"```
Bonjour,
ta une erreur de nom d’entité.
ta créer un template sensor nommé sensor.compteur_linky_smartenergysummation_temp
Dans HA, il va apparaître sous le nom de sensor.sensor.compteur_linky_smartenergysummation_temp
.
Dans ton sensor dériavation, ta mis la source sensor.compteur_linky_smartenergysummation_temp
.
Mais sa doit être sensor.sensor.compteur_linky_smartenergysummation_temp
.
Aucun intérêt a mettre sensor.xxx dans le nom du template. HA, te mettre automatiquement sensor dans le nom de l’entité.
RAAAAAAAH mais MERCIIIIIIIIIIII ça marche !!!
Lancé dans mon élan, j’ai modifié mon sensor de compteur pour le passer en Wh plutôt que kWh, et j’ai viré l’étape intermédiaire (somme HP/HC) qui ne me sert à rien puisqu’en tarif base.
Trop génial et j’ai appris quelque chose
Salut @samourai47 , je compte passer à l’option tempo et je vois que t’as un peu déblayé le terrain.
Peux-tu me donner quelques infos concernant les données remontées.
J’ai actuellement sur mon Lixee la data suivante qui remonte sur le cluster 0x0702 :
attribute | id: 0x0100 | current_tier1_summ_delivered | = HC |
---|---|---|---|
attribute | id: 0x0102 | current_tier2_summ_delivered | = HP |
Et plein d’autres « current_tierX_summ_delivered ».
Peux tu me dire à quoi correspondront les différents attributs lors du passage à la nouvelle option?
J’imagine que tier1 et tier2 deviennent les HC et HP de la période bleue ? et les 3, 4, 5 et 6?
Merci!
Moi c’est pas noté tiers sum … mais easf01 02 03
01 HC Bleue
02 HP Bleue
03 HC Blanches
04 HP Blanches
05 HC rouges
06 HP rouges
J’ai crée un input text pour pour rentrer les valeurs du kw
et dans le dashboard j’ai cree ces 6 sensors avec suivi du tarif sur le input txt
Salut,
Maintenant que j’ai ma puissance Linky en Watts par le sensor derivative je constate que les valeurs sont en dent de scie.
J’ai configuré une time_window de 2 minutes, ça arrange la chose mais ne suffit pas à supprimer le phénomène ! Ca baggotte encore de 30W environ.
J’imagine que je peux encore augmenter mais ça sera au détriment de pouvoir mesurer la puissance tirée en temps réel.
Est-ce que vous constatez le même comportement ?
Une idée de la cause ? J’ai pensé à un consommateur, mais après avoir éteint à peu tout un par un chez moi, ça ne semble pas être ça.
ÉDIT : j’y ai réfléchi et je pense que c’est inévitable. Mon compteur de Wh se rafraîchi toutes les 30s. La résolution est de 1 (pas de décimale de Wh rapportée par Linky), donc potentiellement à un moment, la valeur passe d’un arrondi de 0,5Wh inférieur au 0,5Wh supérieur. 1Wh sur une durée de 30s correspond à une puissance de 120W. Donc la puissance peut hésiter de + ou - 60W autour d’une valeur exacte… so j’ai moins ca doit être grâce au lissage de la time window.
hello
Après avoir tout reinstalle suite a une bdb excessive et passage sur un mini pc je refais un par un tous les template au bon format
j’ai créé celui ci qui fonctionne mais j’ai cette erreur…
#Calcul du total HP
- sensor:
- name: Mesure HP
unique_id: lixee_zlinky_tic_metering_HP_sum
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf02', 'unavailable') %}
unavailable
{% elif is_state('sensor.lixee_easf04', 'unavailable') %}
unavailable
{% elif is_state('sensor.lixee_easf06', 'unavailable') %}
unavailable
{% else %}
{% set HPB = states('sensor.lixee_easf02') | float(0) |round(3) %}
{% set HPBA = states('sensor.lixee_easf04') | float(0) |round(3) %}
{% set HPR = states('sensor.lixee_easf06') | float(0) |round(3) %}
{{ ((HPB + HPBA + HPR) - 1748.473) | float(0) | round(3)}}
{% endif %}
Par contre j’ai un message d’erreur que je ne sais comment corriger
Entity sensor.mesure_hp from integration template has state class total_increasing, but its state is negative. Triggered by state -1748.473 with last_updated set to 2023-08-18T06:40:08.173121+00:00. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+template%22
j’enleve 1748.473 car c’est l’affichage de depart de mon linky
Du coup j’ai d autres capteur avec le meme genre d’erreur que celui ci
une idee? Merci
Du coup j’ai avancé dans la recherche. Il semble qu’a chaque redemarrage de HA j’ai une valeur completement erratique qui se cree d’ou effectivement ce message…
Je ne comprends pas pourquoi ni comment faire autrement…
Bah, je ne suis pas électricien mais une dent de scie entre 210 et 270 watts, c’est peut-être lié à un appareil ?
hello
je reviens sur mon « probleme » que j’ai compris je crois sans comprendre comment le resoudre
comme je voulais repartir de 0 à linstnat de la creation des templates, je me suis dit que si j’enlevais le toatal affiche par le compteur ca irait. ce qui est le cas. sauf qu’a chaque redemarage de HA j’ai un truc bizarre qui se produit
et du coup c’est ce pic a chaque fois que lui faire dire que mes stats sont negatives.
Ou je m’y suis pal pris? Il vaut mieux que je cree pour chaque HP/HC un utility meter?
Si oui faut t’il que je fasse pour chacun daily monthly yearly? Mon idée serai déjà d’avoir une vision sur le pourcentage HC/HP. puis …
je suis un peu paumé et je voudrai pas e retrouver avec une bdd de 25 go comme auparavant
merci pour votre aide
Salut,
Alors je suis un newbie mais pourquoi veux tu repartir de zéro sur ton compteur ?
C’est un state_class: total_increasing
donc par principe, peu importe sa valeur de départ, ce qu’on va regarder c’est son évolution.
Je n’ai pas la solution mais questionne juste l’intérêt de faire cette soustraction.
en fait si je fais sans la soustraction
Pour HC j’ai 3557 kx par exemple, car lors de mon passage en tarif tempo le kw consomme en easf01 se sont transformés en HC bleues
Pour HP j’ai 1872
Du coup j’ai un % de 65 ce qui ne correspond pas a la realite car je suis plutot en ce moment à 25%…
Du coup il faut je pense passer par un utility meter sur les 6 index de tempo et faire les calculs la dessus
A voir s’il m’en faut un daily/ monthly et yearly ou juste une seule période
Bonjour,
j’avais des soucis au redémarrage comme toi, ou la valeur tomber a 0 et puis revenais normalement.
J’ai ajouter availability:
dans le template sensor et depuis plus de soucis.
- name: zlinky_metering_HC_HP_sum
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
state: >-
{% set HC = states('sensor.0x00158d0005d299cf_hchc')|float(default=0)*1000 %}
{% set HP = states('sensor.0x00158d0005d299cf_hchp')|float(default=0)*1000 %}
{{ HC + HP | int(default=0) }}
availability: "{{ states('sensor.0x00158d0005d299cf_hchc')|is_number and states('sensor.0x00158d0005d299cf_hchp')|is_number }}"
@samourai47
Bj
cela pourrait t’aider
divers capteur que j’ai crée pour faire des test
- name: Mesure HP Jour TEST
unique_id: lixee_zlinky_tic_metering_HP_sum_day
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf02', 'unavailable') or
is_state('sensor.lixee_easf04', 'unavailable') or
is_state('sensor.lixee_easf06', 'unavailable') %}
unavailable
{% else %}
{% set HP_BLEU = states('sensor.lixee_easf02') | float(0) | round(3) %}
{% set HP_BLANC = states('sensor.lixee_easf04') | float(0) | round(3) %}
{% set HP_ROUGE = states('sensor.lixee_easf06') | float(0) | round(3) %}
{{ ((HP_BLEU + HP_BLANC + HP_ROUGE)) - 04949.000 | float(0) | round(3) }}
{% endif %}
availability: >-
{{ states('sensor.lixee_easf02') | is_number and states('sensor.lixee_easf04') | is_number and states('sensor.lixee_easf06') | is_number }}
- name: Mesure HC Nuit TEST
unique_id: lixee_zlinky_tic_metering_HC_sum_night
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf01', 'unavailable') or
is_state('sensor.lixee_easf03', 'unavailable') or
is_state('sensor.lixee_easf05', 'unavailable') %}
unavailable
{% else %}
{% set HC_BLEU = states('sensor.lixee_easf01') | float(0) | round(3) %}
{% set HC_BLANC = states('sensor.lixee_easf03') | float(0) | round(3) %}
{% set HC_ROUGE = states('sensor.lixee_easf05') | float(0) | round(3) %}
{{ ((HC_BLEU + HC_BLANC + HC_ROUGE)) - 010028.646 | float(0) | round(3) }}
{% endif %}
availability: >-
{{ states('sensor.lixee_easf01') | is_number and states('sensor.lixee_easf03') | is_number and states('sensor.lixee_easf05') | is_number }}
- name: Consommation HP/HC Total
unique_id: lixee_zlinky_tic_metering_HP_HC_sum_day
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.mesure_hc_nuit_test', 'unavailable') or
is_state('sensor.mesure_hp_jour_test', 'unavailable') %}
unavailable
{% else %}
{% set HC = states('sensor.mesure_hc_nuit_test') | float(0) | round(3) %}
{% set HP = states('sensor.mesure_hp_jour_test') | float(0) | round(3) %}
{{ (HC + HP) | round(0) }}
{% endif %}
availability: >-
{{ states('sensor.mesure_hc_nuit_test') | is_number and states('sensor.mesure_hp_jour_test') | is_number }}
- name: Mesure HP Jour TEST 2
unique_id: lixee_zlinky_tic_metering_HP_sum_day_2
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf02', 'unavailable') or
is_state('sensor.lixee_easf04', 'unavailable') or
is_state('sensor.lixee_easf06', 'unavailable') %}
unavailable
{% else %}
{% set HP_BLEU = states('sensor.lixee_easf02') | float(default=0)*1000 | round(3) %}
{% set HP_BLANC = states('sensor.lixee_easf04') | float(default=0)*1000 | round(3) %}
{% set HP_ROUGE = states('sensor.lixee_easf06') | float(default=0)*1000 | round(3) %}
{% set total_HP = HP_BLEU + HP_BLANC + HP_ROUGE %}
{% set previous_day_HP = states('sensor.lixee_zlinky_tic_metering_HP_sum_day') | float(0) %}
{% set current_day_HP = total_HP - 10028.646 %}
{% set day_diff_HP = current_day_HP - previous_day_HP %}
{% if now().hour >= 6 or now().hour < 22 %}
{{ day_diff_HP | round(3) }}
{% else %}
0
{% endif %}
{% endif %}
- name: Mesure HC Nuit TEST 2
unique_id: lixee_zlinky_tic_metering_HC_sum_night_2
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf01', 'unavailable') or
is_state('sensor.lixee_easf03', 'unavailable') or
is_state('sensor.lixee_easf05', 'unavailable') %}
unavailable
{% else %}
{% set HC_BLEU = states('sensor.lixee_easf01') | float(0) | round(3) %}
{% set HC_BLANC = states('sensor.lixee_easf03') | float(0) | round(3) %}
{% set HC_ROUGE = states('sensor.lixee_easf05') | float(0) | round(3) %}
{% set total_HC = HC_BLEU + HC_BLANC + HC_ROUGE %}
{% set previous_night_HC = states('sensor.lixee_zlinky_tic_metering_HC_sum_night') | float(0) %}
{% set current_night_HC = total_HC - 10028.646 %}
{% set night_diff_HC = current_night_HC - previous_night_HC %}
{% if now().hour >= 22 or now().hour < 6 %}
{{ night_diff_HC | round(3) }}
{% else %}
0
{% endif %}
{% endif %}
- name: Consommation HP/HC Total 2
unique_id: lixee_zlinky_tic_metering_HP_HC_sum_day_2
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.mesure_hc_nuit_test_2', 'unavailable') or
is_state('sensor.mesure_hp_jour_test_2', 'unavailable') %}
unavailable
{% else %}
{% set HC = states('sensor.mesure_hc_nuit_test_2') | float(0) | round(3) %}
{% set HP = states('sensor.mesure_hp_jour_test_2') | float(0) | round(3) %}
{{ (HC + HP) | round(0) }}
{% endif %}
- name: Mesure HP Jour TEST 3
unique_id: lixee_zlinky_tic_metering_HP_sum_day_3
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf02', 'unavailable') or
is_state('sensor.lixee_easf04', 'unavailable') or
is_state('sensor.lixee_easf06', 'unavailable') %}
unavailable
{% else %}
{% set HP_BLEU = states('sensor.lixee_easf02') | float(default=0)*1000 | round(3) %}
{% set HP_BLANC = states('sensor.lixee_easf04') | float(default=0)*1000 | round(3) %}
{% set HP_ROUGE = states('sensor.lixee_easf06') | float(default=0)*1000 | round(3) %}
{% set total_HP = HP_BLEU + HP_BLANC + HP_ROUGE %}
{% set previous_day_HP = states('sensor.lixee_zlinky_tic_metering_HP_sum_day') | float(default=0)*1000 %}
{% set current_day_HP = total_HP - 10028.646 %}
{% set day_diff_HP = current_day_HP - previous_day_HP %}
{% if now().hour >= 6 or now().hour < 22 %}
{{ day_diff_HP | round(3) }}
{% else %}
0
{% endif %}
{% endif %}
- name: Mesure HC Nuit TEST 3
unique_id: lixee_zlinky_tic_metering_HC_sum_night_3
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >-
{% if is_state('sensor.lixee_easf01', 'unavailable') or
is_state('sensor.lixee_easf03', 'unavailable') or
is_state('sensor.lixee_easf05', 'unavailable') %}
unavailable
{% else %}
{% set HC_BLEU = states('sensor.lixee_easf01') | float(default=0)*1000 | round(3) %}
{% set HC_BLANC = states('sensor.lixee_easf03') | float(default=0)*1000 | round(3) %}
{% set HC_ROUGE = states('sensor.lixee_easf05') | float(default=0)*1000 | round(3) %}
{% set total_HC = HC_BLEU + HC_BLANC + HC_ROUGE %}
{% set previous_night_HC = states('sensor.lixee_zlinky_tic_metering_HC_sum_night') | float(default=0)*1000 %}
{% set current_night_HC = total_HC - 10028.646 %}
{% set night_diff_HC = current_night_HC - previous_night_HC %}
{% if now().hour >= 22 or now().hour < 6 %}
{{ night_diff_HC | round(3) }}
{% else %}
0
{% endif %}
{% endif %}
ce que tu vois dans les deux capteur sont
sensor.mesure_hc_nuit_test & sensor.mesure_hp_jour_test
le code de la card si tu veux
type: custom:apexcharts-card
cache: false
update_interval: 1h
header:
standard_format: true
show: false
title: Consommation HP/HC 7j TEMPO
show_states: true
span:
end: day
graph_span: 7d
stacked: true
apex_config:
fill:
opacity: 1
type: gradient
gradient:
shade: light
type: horizontal
grid:
show: true
xaxis:
axisBorder:
show: false
axisTicks:
show: false
yaxis:
show: true
series:
- entity: sensor.mesure_hc_nuit_test
type: column
name: HC
color: 5A6FE7
opacity: 1
group_by:
duration: 1d
func: diff
show:
datalabels: true
- entity: sensor.mesure_hp_jour_test
type: column
name: HP
color: EA4234
opacity: 1
group_by:
duration: 1d
func: diff
show:
datalabels: true
merci Warcozes, cela resoud le soucis
Pour comprendre ca sert quoi cette fonction?
Merci nothing je vais tester egalement ce que tu me proposes
Ca permet d’enlever ce code, et plus avoir de soucis comme tu avait. Je pense qui a eu des modification sur les templates ces dernier mois et le code ci dessus fonctionne plus.
J’avais même soucis que toi et le même code pour le unavailable.
Depuis j’ai virer le bout de code unavailable et ajouter l’option availability:
et plus d’erreur dans les logs et de remise a zéro au reboot.
Citation
Définit un modèle pour obtenir l’available
état de l’entité. Si le modèle ne parvient pas à s’afficher ou renvoieTrue
,"1"
,"true"
,"yes"
,"on"
,"enable"
, ou un nombre différent de zéro, l’entité seraavailable
. Si le modèle renvoie une autre valeur, l’entité seraunavailable
. Si elle n’est pas configurée, l’entité sera toujoursavailable
. Notez que la comparaison de chaînes n’est pas sensible à la casse ;"TrUe"
et"yEs"
sont autorisés.