Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
MQTT et Lixee comme source
#1
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.
Répondre
#2
Bonjour,
Regardez la section "Mesure de la puissance active" de la page : https://f1atb.fr/fr/routeur-photovoltaiq...-via-mqtt/
Répondre
#3
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
Répondre
#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
1x Routeur 11.17_RMS -> CES 2,5kW
3x IQ7+/3x 375WhC + 4x IQ8MC/4x 400WhC
Domotique gérée sous Jeedom 4.4.14 (DIY VMM Synology)
Répondre
#5
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 ...
Répondre
#6
(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.
Répondre
#7
Node-RED n'est pas très compliqué finalement  Wink

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  Big Grin

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  Wink

   

Quelque que soit ta solution n'hésites pas partager tes résultats  Wink
Enphase -> Node-RED -> Source MQTT
1x Routeur 11.17_RMS -> CES 2,5kW
3x IQ7+/3x 375WhC + 4x IQ8MC/4x 400WhC
Domotique gérée sous Jeedom 4.4.14 (DIY VMM Synology)
Répondre
#8
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.
Répondre
#9
Hello

Sur le principe, ça me parait juste.
Mais concernant la trame à transmettre en triphasé, je ne saurait te confirmer ça  Sad

Peut-être que André ou un utilisateur Tri et MQTT pourrait te confirmer ça  Wink

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  Wink

Cordialement  Rolleyes
Enphase -> Node-RED -> Source MQTT
1x Routeur 11.17_RMS -> CES 2,5kW
3x IQ7+/3x 375WhC + 4x IQ8MC/4x 400WhC
Domotique gérée sous Jeedom 4.4.14 (DIY VMM Synology)
Répondre
#10
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 Smile
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 4 visiteur(s)