Page 2 sur 2

Re: MQTT + Arduino IDE + ESP8266

Publié : 06 juin 2017, 21:44
par Jeff
En relisant ce post je ne comprends pas pourquoi vous n'utilisez pas espeasy sur des esp8266 via mqtt avec domoticz.

Je confirme que espeasy peut fonctionner en autonomie sans domoticz. Si plantage de Dz, il peut faire des actions localement avec les rules ou simplement afficher des temperatures sur des écrans et si domoticz est présent lui envoyer en plus des informations et en recevoir comme un appui d'un bp.

Plusieurs esp8266 peuvent conmmuniquer entre eux aussi sans contrôleur comme Dz.

On peut aussi faire des merveilles avec nodered en utilisant mqtt. On peut récupérer des infos de domoticz, de weather underground et les afficher sur des écrans reliés aux esp ou sur une tablette via dashboard.

Bref si j'ai compris, tout ce que vous cherchez à faire :)

Re: MQTT + Arduino IDE + ESP8266

Publié : 07 mai 2021, 16:01
par jackyhi
Bonjour :D
je viens alimenter un vieux sujet, je me suis mis dans l'idée d'exploiter le protocole Mosquito MQTT avec Domoticz et Node-Red pour réaliser une sonde de hauteur de carburant dans ma cuve à fuel.

J'ai un problème avec un simple capteur d'humidité virtuel créé dans domoticz que je n'arrive pas à mettre à jour avec MQTT, en suivant la documentation cela fait quelques jours que je bute sur la syntaxe:

Pour un capteur d'humidité le doc :
Humidity
/json.htm?type=command&param=udevice&idx=IDX&nvalue=HUM&svalue=HUM_STAT
The above sets the parameters for a Humidity device
IDX = id of your device (This number can be found in the devices tab in the column "IDX")
HUM = Humidity: 45%
HUM_STAT = Humidity_status

Humidity_status can be one of:
0=Normal
1=Comfortable
2=Dry
3=Wet
ça fonctionne effectivement avec une requête http directement dans le navigateur:

Code : Tout sélectionner

http://XXX.XXX.XXX.XXX:XXXX/json.htm?type=command&param=udevice&idx=1022&nvalue=60&svalue=0
Mais ça ne fonctionne pas avec une requête MQTT directement en ligne de commande:

Code : Tout sélectionner

mosquitto_pub -h xxx.xxx.xx.xxx -m '{"idx":1022,"nvalue":"30","svalue":1}' -t 'domoticz/in'


et non plus avec un requête Node-red :

Code : Tout sélectionner

msg.payload={"command": "udevice","idx":1022, "nvalue":"30", "svalue":0 }
je reçois à chaque fois data invalid !!

Alors que pour un capteur de distance ça fonctionne très bien:

Code : Tout sélectionner

msg.payload = {"command": "udevice","idx":1020, "nvalue":0, "svalue":"110.5" }
Y a-t-il des contributeurs qui ont été confronté à ce problème!!

Re: MQTT + Arduino IDE + ESP8266

Publié : 07 mai 2021, 23:44
par Flying Domotic
La syntaxe n'est pas bonne : "nvalue" est une valeur numérique et doit s'écrire "nvalue":30, alors que "svalue" est string, et doit s'écrire "svalue":"1".

De plus, il peut être utile d'ajouter la commande "udevice" dans le message, donc '{"command":"udevice", "idx":1022, "nvalue":30, "svalue":"1"}'.

Même syntaxe pour MQTT et nodeRed.

Re: MQTT + Arduino IDE + ESP8266

Publié : 08 mai 2021, 01:06
par jackyhi
Merci pour ta réponse je viens de découvrir la bonne syntaxe et effectivement nvalue doit être numérique alors que le paramètre svalue doit être une chaîne "string" et cela uniquement pour ce capteur humidity!!!!

:P

Re: MQTT + Arduino IDE + ESP8266

Publié : 12 mai 2021, 19:50
par Flying Domotic
A priori, nValue signifie "numeric value" et sValue "string value" pour l'ensemble des types de capteurs ;-)