Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Récupération message MQTT
#1
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
Répondre
#2
Bonjour,
Ce thread pourra peut-être vous aider : https://f1atb.fr/forum_f1atb/thread-536.html
Répondre
#3
bonsoir,
la donnee de la puissance est msg.payload.power_b
cdlt
Répondre
#4
(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
Répondre
#5
bonjour,
pourtant dans node-red, msg.payload.power_b donne bien 1392. comment vous extrayez la donnée ?
Répondre
#6
(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...

   
Répondre
#7
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
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.18 (DIY VMM Synology)
Répondre
#8
(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
Répondre
#9
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
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.18 (DIY VMM Synology)
Répondre
#10
(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...
Répondre


Atteindre :


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