MQTT + Arduino IDE + ESP8266

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é.
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: MQTT + Arduino IDE + ESP8266

Message 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 :)
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
jackyhi
Messages : 97
Inscription : 09 mai 2016, 23:49

Re: MQTT + Arduino IDE + ESP8266

Message 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!!
Raspberry Pi2 VPN, Pi 3, Pi4 ,RFXCom, 6 volets BLYSS, sondes Temp_humid Attiny85, zigbee, Mysensors, RFLINK , Zwave capteurs portes Prises, Alarme avec 2 sirènes maison esp8266, Thermostat NETAMO vannes thermostatiques
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTT + Arduino IDE + ESP8266

Message 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.
jackyhi
Messages : 97
Inscription : 09 mai 2016, 23:49

Re: MQTT + Arduino IDE + ESP8266

Message 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
Raspberry Pi2 VPN, Pi 3, Pi4 ,RFXCom, 6 volets BLYSS, sondes Temp_humid Attiny85, zigbee, Mysensors, RFLINK , Zwave capteurs portes Prises, Alarme avec 2 sirènes maison esp8266, Thermostat NETAMO vannes thermostatiques
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: MQTT + Arduino IDE + ESP8266

Message par Flying Domotic »

A priori, nValue signifie "numeric value" et sValue "string value" pour l'ensemble des types de capteurs ;-)
Répondre