Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
MQTT et Lixee comme source
#11
Avec une simple formule ;-)

Par exemple :

Code :
msg.payload.active_power / msg.payload.apparent_power

Code :
msg.payload = '{"Pw":' + msg.payload.active_power +
              ',"Pf":' + msg.payload.active_power / msg.payload.apparent_power +
              ',"Pva":' + msg.payload.apparent_power + '}';
msg.topic = "ton_topic_de_lecture_du_routeur"
return msg;

Il me semble que le Pf = actif / apparent

Cordialement
Alexis
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)
Répondre
#12
Salut,

As-tu réussi a faire ce que tu voulais ?  Wink
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)
Répondre
#13
(07-10-2024, 02:52 PM)Nalexdouze a écrit : Salut,

As-tu réussi a faire ce que tu voulais ?  Wink

Oui ... et non.

Je met bien a disposition de RMS un topic MQTT avec les valeurs qu'il attend (Pw, Pf, Pa) et d'autres, pour que je puisse les 'voir' dans l'écran "Données brutes" de l'interface web de RMS.

Mais je ne suis toujours pas 'sûr' des infos exploitées dans RMS qui sont fournies par Linky.
Je m'explique :
- si je regarde le code d'exploitation de la TIC du Linky en direct, je ne comprend pas exactement ce qu'il exploite (ce que je comprend, c'est que Linky ne fournit pas la Pw, et ce que je crois comprendre, c'est que Andrée fait une de temps pour la déterminer)
- si je regarde le code d'exploitation des topics MQTT, André dit clairement qu'il faut que Pw soit connu et fourni.

Dans un noeud node-red, je positionne Pw, Pa et Pf à partir des données issues de la TIC Linky ainsi :
Pw = CCASN
Pa = SINSTS
Pf = CCASN / SINSTS

Je positionne aussi d'autres valeurs pour les comparer :
Pa2 = SINSTS1 + SINSTS2 + SINSTS3
East =EAST

Voila le code de la fonction node-red :
Code :
var P = msg.payload;
var val_Pw = P.active_power;
var val_Pa = P.total_apparent_power;
var val_Pa2 = P.apparent_power + P.apparent_power_ph_b + P.apparent_power_ph_c;
var val_East = P.current_summ_delivered;
var timestamp = P.current_date.substring(7, 9)+":"+P.current_date.substring(9, 11)+":"+P.current_date.substring(11, 13);
var val_Pf = val_Pw / val_Pa;
var newmsg = { payload: '{ "Pw":' + val_Pw + ',"Pva":' + val_Pa + ',"Pva2":' + val_Pa2 + ',"Pf":' + val_Pf.toPrecision(2) + ',"EAST":'+val_East+',"HEURE":"'+timestamp+'" }', topic: "Test/RMS" }
return newmsg;

Ca tourne 24/7 depuis quelques jours, sans planter, c'est deja bon signe.
J'ai commandé un dimmer 40A pour mettre en application sur mon ballon dans un 2eme temps, et voir comment le délestage se comporte.

Si André a un avis sur le sujet, ca m'intéresse bien entendu.

   
Répondre
#14
Si je compare les données de mon TIC et des pinces CT de mon Envoy, je ne suis pas sur que Pw = CCASN  Undecided

Mais je suis peut-être dans le faux.

   
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)
Répondre
#15
En relisant le code d'André exploitant les données du Linky, je crois qu'il se base sur EAST (totaliseur puissance soutirée) pour extrapoler une Pw moyenne sur la période écoulée.

Je vais essayer d'implémenter la même technique, a savoir :

récup EAST et timestamp
calcul conso en W par EAST - EAST-1 (stocké lors de l'itération précédente)
calcul période en s par TIMESTAMP - TIMESTAMP-1 (stocké lors de l'itération précédente) 
calcul Pw moyenne = conso / période

Bon, les bases sont là. Reste à voir :
- comment stocker de manière persistante 2 valeurs dans un noeud fonction node-red
- comment les récupérer ensuite
- comment cela se comporte au fil du temps (données très hachées, ou qui se lissent, ...)


Edit : j'ai la réponse au stockage / récupération des valeurs, il faut utiliser la notion de context de node-red Wink
Répondre


Atteindre :


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