Messages : 8
Sujets : 1
Inscription : Sep 2024
Réputation :
0
Bonjour,
J'ai installé un Lixee pour récupérer les infos du compteur Linky.
Tout va bien, c'est injecté dans mon broker MQTT (Mosquitto sous Raspberry en l'occurence).
Là où je coince un peu, c'est la config du routeur rms pour récupérer la puissance active depuis le broker.
Quelqu'un a-t-il deja fait cela ?
Merci.
Messages : 109
Sujets : 2
Inscription : Jun 2024
Réputation :
6
Bonjour,
Regardez la section "Mesure de la puissance active" de la page : https://f1atb.fr/fr/routeur-photovoltaiq...-via-mqtt/
Messages : 8
Sujets : 1
Inscription : Sep 2024
Réputation :
0
Je suis dessus depuis 2h :-(
Voila ce que je vois dans le topic zigbee2mqtt/Lixee avec MQTT Explorer :
Code : Lixee = {"active_energy_out_d01":2948,"active_energy_out_d02":4066,"active_power":908,"active_power_max":2326,"active_power_max_ph_b":2633,"active_power_max_ph_c":1779,"active_power_ph_b":604,"apparent_power":849,"apparent_power_ph_b":332,"apparent_power_ph_c":2045,"available_power":12,"average_rms_voltage_meas_period":240,"average_rms_voltage_meas_period_ph_c":241,"average_rms_voltage_measure_period_ph_b… }
Et je ne vois pas comment paramétrer le routeur rms pour récupérer la valeur de active_power du sujet zigbee2mqtt/Lixee
Messages : 94
Sujets : 8
Inscription : Jun 2024
Réputation :
4
De mon coté, j'ai un flux Node-RED qui reformate le json reçu de mon Enphase (mais c'est pareil que pout ton Lixee) pour être lu par le routeur RMS.
Je reçois un json brut :
Code : {"production":{"ph-a":{"p":248.274,"q":-86.307,"s":286.456,"v":239.133,"i":1.2,"pf":0.88,"f":50},"ph-b":{"p":0,"q":0,"s":0,"v":0,"i":0,"pf":0,"f":0},"ph-c":{"p":0,"q":0,"s":0,"v":0,"i":0,"pf":0,"f":0}},"net-consumption":{"ph-a":{"p":77.972,"q":-233.674,"s":314.19,"v":239.133,"i":1.314,"pf":0.25,"f":50},"ph-b":{"p":0,"q":0,"s":0,"v":0,"i":0,"pf":0,"f":0},"ph-c":{"p":0,"q":0,"s":0,"v":0,"i":0,"pf":0,"f":0}},"total-consumption":{"ph-a":{"p":326.246,"q":-319.981,"s":601.049,"v":239.133,"i":2.513,"pf":0.54,"f":50},"ph-b":{"p":0,"q":0,"s":0,"v":0,"i":0,"pf":0,"f":0},"ph-c":{"p":0,"q":0,"s":0,"v":0,"i":0,"pf":0,"f":0}}}
Que je transforme en :
Code : {"Pw":77.972,"Pf":0.25,"Pva":314.19}
Avec un bloc function :
Code : msg.payload = '{"Pw":' +
msg.payload["net-consumption"]["ph-a"].p +
',"Pf":' +
msg.payload["net-consumption"]["ph-a"].pf +
',"Pva":' +
msg.payload["net-consumption"]["ph-a"].s +
'}';
msg.topic = "Envoy/RMS"
return msg;
Enphase -> Node-RED -> Source MQTT
3x IQ7+/3x 375WhC + 4x IQ8MC/4x 400WhC
1x Routeur 12.06_Custom -> CES 2,5kW
Domotique gérée sous Jeedom 4.4.19 (DIY VMM Synology)
Messages : 8
Sujets : 1
Inscription : Sep 2024
Réputation :
0
20-09-2024, 02:15 PM
(Modification du message : 20-09-2024, 02:17 PM par PhilippeBE.)
Je ne maitrise pas encore très bien tous ces concepts, mais tu m'as mis sur la voie de Node-RED
Je pense que la solution se trouve ici : https://flows.nodered.org/node/node-red-...igbee2mqtt
vu que je'utilise zigbee2mqtt pour récupérer les messages du Lixee et les injecter dans mon broker Mosquitto.
Mais je ne vois pas encore bien comment tout ça va s'architecturer.
De l'aide est la bienvenue ...
Messages : 8
Sujets : 1
Inscription : Sep 2024
Réputation :
0
22-09-2024, 04:56 PM
(Modification du message : 22-09-2024, 04:57 PM par PhilippeBE.)
(20-09-2024, 02:15 PM)PhilippeBE a écrit : Je ne maitrise pas encore très bien tous ces concepts, mais tu m'as mis sur la voie de Node-RED
Je pense que la solution se trouve ici : https://flows.nodered.org/node/node-red-...igbee2mqtt
vu que je'utilise zigbee2mqtt pour récupérer les messages du Lixee et les injecter dans mon broker Mosquitto.
Mais je ne vois pas encore bien comment tout ça va s'architecturer.
De l'aide est la bienvenue ...
J'ai abandonné l'idée de Node-RED, et je me suis concentré sur le code Arduino.
Je ne recevais pas la souscription MQTT, car le message (1885 bytes) était trop long pour la taille par défaut (256 bytes) du buffer de réception.
Dès que j'ai augmenté cette taille, j'ai vu arriver les données MQTT.
J'ai simplement remplacé 'Pw' par 'active_power' dans le code interprétation du message pour récupérer la puissance active, et ça fonctionner plutôt pas mal.
Etape suivante:
puisque je récupère tout ce que Linky met à disposition, je voudrais m'inspirer du code 'Source LINKY' pour alimenter toutes les variables.
Messages : 94
Sujets : 8
Inscription : Jun 2024
Réputation :
4
Node-RED n'est pas très compliqué finalement
J'y ai aussi passé un peu de temps pour comprendre, multiplié les flux et les test avec bloc de Debug dans tous les sens
Si tu as déjà Node-RED qui tourne avec zigbee2mqtt, je pense qu'il te suffit le mettre en entrée et ton Broker en sortie
Avec entre les deux un bloc fonction du genre :
Code : msg.payload = '{"Pw":' + msg.payload.active_power +
',"Pf":' + msg.payload.factor_power +
',"Pva":' + msg.payload.apparent_power + '}';
msg.topic = "ton_topic_de_lecture_du_routeur"
return msg;
Ton message est tronqué j'ai donc supposé que la valeur Facteur de puissance pouvait être factor_power.
Voilà à quoi ressemble mon flux sur base Enphase si ça peux t'aider
Quelque que soit ta solution n'hésites pas partager tes résultats
Enphase -> Node-RED -> Source MQTT
3x IQ7+/3x 375WhC + 4x IQ8MC/4x 400WhC
1x Routeur 12.06_Custom -> CES 2,5kW
Domotique gérée sous Jeedom 4.4.19 (DIY VMM Synology)
Messages : 8
Sujets : 1
Inscription : Sep 2024
Réputation :
0
30-09-2024, 10:09 PM
(Modification du message : 30-09-2024, 10:13 PM par PhilippeBE.
Raison de la modification: ajout Post Scriptum
)
J'ai réussi à installer et utiliser NodeRED ! Difficile à prendre en main, mais c'est super une fois maitrisé (et j'en suis loin ...)
Me reste à bien comprendre les infos qui sortent du Linky pour evaluer le Pw et le Pva attendus par RMS.
En entrée, le topic issu du Lixee est celui-ci (je suis en triphasé, sans injection car pas producteur ) :
Code : {
"active_energy_out_d01":3007.896,
"active_energy_out_d02":4137.459,
"active_power":782,
"active_power_max":1604,
"active_power_ph_b":856,
"apparent_power":179,
"apparent_power_ph_b":582,
"apparent_power_ph_c":153,
"average_rms_voltage_meas_period":240,
"average_rms_voltage_meas_period_ph_c":240,
"average_rms_voltage_measure_period_ph_b":240,
"current_date":"E240930215729",
"current_summ_delivered":17677.397,
"current_tier1_summ_delivered":4326.085,
"current_tier2_summ_delivered":5381.66,
"current_tier3_summ_delivered":2158.895,
"current_tier4_summ_delivered":3423.532,
"current_tier5_summ_delivered":755.691,
"current_tier6_summ_delivered":1631.534,
"linkquality":47,
"rms_current":1,
"rms_current_ph_b":2,
"rms_current_ph_c":1,
"rms_voltage":241,
"total_apparent_power":914,
"update":{
"installed_version":-1,
"latest_version":-1,
"state":null},
"update_available":null
}
Voici les infos que j'utilise pour publier un topic RMS :
Pw : à partir de "active_power"
Pva : à partir de "total_apparent_power"
Pf : ??? - je ne le publie pas, car je ne sais pas quoi y mettre
Le topic publié ressemble à ceci :
Code : { "Pw" : 782 , "Pva" : 914 }
RMS recupère bien les valeurs et me trace de belles courbes.
Mais est-ce bien réaliste ?
Est-ce que je peux imaginer router le surplus vers mon ballon lorsque le soleil va pointer son nez ?
PS : la doc du Lixee est ici.
Messages : 94
Sujets : 8
Inscription : Jun 2024
Réputation :
4
Hello
Sur le principe, ça me parait juste.
Mais concernant la trame à transmettre en triphasé, je ne saurait te confirmer ça
Peut-être que André ou un utilisateur Tri et MQTT pourrait te confirmer ça
Il me semble que André note dans sa doc qu'il faut à minima Pw.
Donc si tu n'as pas le facteur de puissance ça n'est pas un drame je pense.
Et si jamais, il peux se calculer avec les infos que tu reçois du Lixee rien ne t'empêche de faire se calcul dans le bloc fonction et le transmettre
Cordialement
Enphase -> Node-RED -> Source MQTT
3x IQ7+/3x 375WhC + 4x IQ8MC/4x 400WhC
1x Routeur 12.06_Custom -> CES 2,5kW
Domotique gérée sous Jeedom 4.4.19 (DIY VMM Synology)
Messages : 8
Sujets : 1
Inscription : Sep 2024
Réputation :
0
Citation :Et si jamais, il peux se calculer avec les infos que tu reçois du Lixee rien ne t'empêche de faire se calcul dans le bloc fonction et le transmettre
Et comment le calculer ?
Parce qu'un bloc 'fonction' dans NodeRED ne me fait plus peur
|