Error: MQTT

Forum dédié au protocole MQTT : fonctionnement, intégration ...
Pour les questions concernant le plugin de FlyingDomotic, merci d'utiliser le sous-forum dédié.
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Error: MQTT

Message par knasson »

bonjour,

Quand je veux publier un message MQTT depuis un poste deporté en faisant:

Code : Tout sélectionner

root@pi:/home/knasson/consoEAU# mosquitto_pub -h 192.168.1.38 -u mqtt -P knasson -t "domoticz/in" -m '{"command":"udevice","idx"=1038,"nvalue":0,"svalue":"22222"}'
j'obtiens cette erreur dans le log domoticz

Code : Tout sélectionner

2024-01-23 09:26:15.691 Error: MQTT: Invalid/Unhandled data received! (Topic: domoticz/in, Message: {"command":"udevice","idx"=1038,"nvalue":0,"svalue":"22222"})
Idx=1038 correspond a un device virtuel de type compteur.
le json donne la structure suivante:

Code : Tout sélectionner

/json.htm?type=command&param=udevice&idx=IDX&svalue=COUNTER[code]
Quand je recois des messages du broker mosquitto provenant d'autres devices sur le meme topic en faisant:

Code : Tout sélectionner

 mosquitto_sub -h 192.168.1.38 -u mqtt -P knasson -t domoticz/in
j'obtiens bien la copie de messages envoyé par les device a domoticz: et CES MESSAGES METTENT BIEN A JOUR LES DEVICES CORRESPONDANTS....

Code : Tout sélectionner

{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"270;W;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;6.11;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;1.94;6.11;22;24"}
{"command":"udevice","idx":1035,"nvalue":0,"svalue":"0.00;0.56"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"45;NE;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"90;E;6.11;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"270;W;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"45;NE;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"0;N;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"270;W;0.00;0.00;22;24"}
{"command":"udevice","idx":1035,"nvalue":0,"svalue":"0.00;0.56"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"315;NW;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"315;NW;0.00;0.00;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"45;NE;1.94;6.11;22;24"}
{"command":"udevice","idx":597,"nvalue":0,"svalue":"45;NE;0.00;0.00;22;24"}
Je bute la dessus car je voudrai envoyer les datas de mon compteur d'eau. La syntaxe parait correcte AVez vous une idée d'où ca eut provenir?
Merci de votre aide
Dernière modification par knasson le 23 janv. 2024, 10:19, modifié 1 fois.
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: Error: MQTT

Message par boum »

À tout hasard

Code : Tout sélectionner

'{"command":"udevice","idx"=1038,"nvalue":0,"svalue":"22222"}'

Code : Tout sélectionner

'{"command":"udevice","idx":1038,"nvalue":0,"svalue":"22222"}'
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Re: Error: MQTT (RESOLU)

Message par knasson »

Merci, merci c'était bien cela ,
bien vu en tous cas.

Cordialement
Knasson
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Re: Error: MQTT

Message par knasson »

bonjour,

Sur le même sujet et la même commande qui fonctionne maintenant très bien avec une valeur numérique pour svalue;"222223" par exemple.
dans un script je veux envoyer une variable numérique $value en lieu et place du nombre "222223" ,
la valeur de $value est de 222223. si je fais "svalue": "$value" domoticz me donne une erreur.
pour résumer
si je fais :

Code : Tout sélectionner

mosquitto_pub -h 192.168.1.38 -u mqtt -P knasson -t domoticz/in -m '{"command":"udevice","idx":1040, "svalue":"222223"}'
c'est OK le compteur est bien mis a jour avec la valeur 222223
si dans mon script j'arrive avec une variable dont la valeur $value qui vaut 222223 et que je fais:

Code : Tout sélectionner

mosquitto_pub -h 192.168.1.38 -u mqtt -P knasson -t domoticz/in -m '{"command":"udevice","idx":1040, "svalue"="$value"
et bien j'ai une erreur dans le log domoticz et le compteur n'est pas mis a jour et je me demande pourquoi?

Code : Tout sélectionner

024-01-24 16:55:00.306 Error: UpdateMeter: Error converting sValue/sUsage! (IDX: 1040, sValue: '$value', sUsage: '0', dType: 113, sType: 0)
2024-01-24 16:58:15.408 Error: GetJSonDevices: exception occurred : 'stoll'
2024-01-24 16:58:15.408 Error: GetJSonDevices: exception occurred : 'stoll'
2024-01-24 16:58:15.409 Error: GetJSonDevices: exception occurred : 'stoll'
apparement stoll indique un problem de conversion string/integer?
Merci de votre aide
Répondre