F1ATB forum
Récupération message MQTT - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html)
+--- Sujet : Récupération message MQTT (/thread-577.html)

Pages : 1 2


Récupération message MQTT - ThierryB - 02-10-2024

Bonjour

Pouriez-vous me dire s'il est possible de récupérer directement la puissance de la maison qui est dans le message MQTT suivant : capteur power_b (1392Wh) pour le routeur solaire ESP32 ?

MQTT publish: topic 'zigbee2mqtt/Power meter 4', payload '{"ac_frequency":50,"current":6.17,"current_a":1.312,"current_b":6.29,"energy":509.63,"energy_a":256.99,"energy_b":252.64,"energy_produced":91.56,"energy_produced_a":1.25,"energy_produced_b":90.31,"linkquality":240,"power":1979,"power_a":254,"power_b":1392,"power_factor_a":87,"power_factor_b":78,"voltage":225.3}'

Mon brocker Mqtt : Zigbee2Mqtt (mosquitto) :
ip : 192.168.1.32
port : 8080
pas de USER
pas de MDP

Merci


RE: Récupération message MQTT - Mike - 02-10-2024

Bonjour,
Ce thread pourra peut-être vous aider : https://f1atb.fr/forum_f1atb/thread-536.html


RE: Récupération message MQTT - 38domo - 02-10-2024

bonsoir,
la donnee de la puissance est msg.payload.power_b
cdlt


RE: Récupération message MQTT - ThierryB - 02-10-2024

(02-10-2024, 08:01 PM)38domo a écrit : bonsoir,
la donnee de la puissance est msg.payload.power_b
cdlt

MErci mais msg.payload.power_b ne fonctionne pas


RE: Récupération message MQTT - 38domo - 03-10-2024

bonjour,
pourtant dans node-red, msg.payload.power_b donne bien 1392. comment vous extrayez la donnée ?


RE: Récupération message MQTT - ThierryB - 03-10-2024

(03-10-2024, 07:34 AM)38domo a écrit : bonjour,
pourtant dans node-red, msg.payload.power_b donne bien 1392. comment vous extrayez la donnée ?

bonjour
je mets dans le routeur les paramètres suivants : 
MQTT topic puissance : zigbee2mqtt/Power meter 4
MQTT device name : msg.payload.power_b

le résultat est 0

J'ajoute que les paramètres d"accès à MQTT sont ok car j'ai pu récupérer d'autres données sans problèmes, par contre celles-ci sont directement accessibles sans Payload...

   


RE: Récupération message MQTT - Nalexdouze - 03-10-2024

Bonjour,

Tu dois reformater ton message mqtt  Wink

Le sujet cité par Mike devrait t'aider en effet  Big Grin

https://f1atb.fr/forum_f1atb/thread-536.html

Cordialement
Alexis


RE: Récupération message MQTT - ThierryB - 03-10-2024

(03-10-2024, 09:56 AM)Nalexdouze a écrit : Bonjour,

Tu dois reformater ton message mqtt  Wink

Le sujet cité par Mike devrait t'aider en effet  Big Grin

https://f1atb.fr/forum_f1atb/thread-536.html

Cordialement
Alexis

Malheureusement ce n'est pas possible car il est généré directement par le capteur Zigbee   Cry


RE: Récupération message MQTT - Nalexdouze - 03-10-2024

J'attends bien  Wink

Tu ne peux pas donner à lire le flux de ton capteur tel quel, il te faut le retravailler avec un outil.
Node-RED est parfait pour ça Big Grin

J'ai pareil avec le flux de mon Enphase et PhilippeBE (dans le sujet cité) en fait autant avec une autre sorte de capteur. 
Je récupère le message et avec un bloc fonction Node-RED je le formate pour qu'il soit lu selon des attentes du routeur de André.

Dans ton cas, il faudrait un bloc fonction dans Node-RED de cette façon :

Code :
msg.payload = '{"Pw":' + msg.payload.power_b +
              ',"Pf":' + msg.power_factor_b +
              ',"Pva":' + msg.payload.power_b * msg.power_factor_b + '}';
msg.topic = "ton_topic_de_lecture_du_routeur"
return msg;

Cordialement
Alexis


RE: Récupération message MQTT - ThierryB - 03-10-2024

(03-10-2024, 11:00 AM)Nalexdouze a écrit : J'attends bien  Wink

Tu ne peux pas donner à lire le flux de ton capteur tel quel, il te faut le retravailler avec un outil.
Node-RED est parfait pour ça Big Grin

J'ai pareil avec le flux de mon Enphase et PhilippeBE (dans le sujet cité) en fait autant avec une autre sorte de capteur. 
Je récupère le message et avec un bloc fonction Node-RED je le formate pour qu'il soit lu selon des attentes du routeur de André.

Dans ton cas, il faudrait un bloc fonction dans Node-RED de cette façon :

Code :
msg.payload = '{"Pw":' + msg.payload.power_b +
              ',"Pf":' + msg.power_factor_b +
              ',"Pva":' + msg.payload.power_b * msg.power_factor_b + '}';
msg.topic = "ton_topic_de_lecture_du_routeur"
return msg;

Cordialement
Alexis

Je ne veux pas ajouter un outil supplémentaire comme Node-red ou autre pour des questions de stabilité, je vais voir pour éventuellement modifier le code du routeur pour qu'il puisse utiliser le Payload...