NODE RED Vers mqtt DOMOTICZ

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

NODE RED Vers mqtt DOMOTICZ

Message par david86 »

Bonsoir à tous,
En suivant des tuto j'ai réussi à récupérer les informations d'un bus RS485 et de l'envoyer en mqtt. Via nodered je sais récupérer le topic, mais après je ne sais pas quoi ni où ni comment me diriger pour envoyer ces différentes valeurs vers domoticz ?
Merci,
Pièces jointes
2023-04-13 22_57_25-Window.png
2023-04-13 22_57_25-Window.png (46.51 Kio) Consulté 1765 fois
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: NODE RED Vers mqtt DOMOTICZ

Message par boum »

Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: NODE RED Vers mqtt DOMOTICZ

Message par Jeff »

Node red est très puissant et assez complexe quand on est pas développeur comme moi.
Au fur et à mesure des années, j'arrive à traiterles données et les rediriger vers autres devices (nextion, magic mirror; afficheur RGB), jamais vers domoticz d'ailleurs :?

Je procède de cette façon.
Récupérez les données comme tu le fais et après les traiter, via une fonction et les envoyer. Prendre ces blocs.
fonction_node_red.JPG
fonction_node_red.JPG (12.37 Kio) Consulté 1734 fois
En dans le bloc fonction, traiter les données de cette façon

Code : Tout sélectionner

//*********************TEMP MINI MAXI*****************
//Temp mini
var temp_min = 50;

for (var i = ndebut; i <= nfin; i++) {
    var tmini = (msg.data.list[i].main.temp_min);
    if (tmini < temp_min) {
        temp_min = tmini;
    }
}

//Temp maxi
var temp_max = -50;

for (var i = ndebut; i <= nfin; i++) {
    var tmax = (msg.data.list[i].main.temp_max);
    if (tmax > temp_max) {
        temp_max = tmax;
    }
}

var tempminimaxi = parseInt(temp_min) + "°" + "/" + parseInt(temp_max) + "°";
var urltempminimaxi = "http://192.168.1.110/control?cmd=NEXTION,minimaxi1.txt=" + "\"" + tempminimaxi + "\"";
node.send({ topic: msg.payload[ndebut].dt_txt, url: urltempminimaxi });
Je passe par des urls et donc dans ton cas, tu peux utiliser api Json de domoticz.
Tu dois aussi pouvoir l'envoyer en MQTT compatible domoticz, en sortie à la place d'un node URL , tu prends un MQTT sortant.

Voila des pistes, en espérant t'aider. A l'occasion je testerais l'envoi vers domoticz

Edit : ici ca semble beaucoup plus clair que mes explications pour ton besoin :lol:
https://www.domoticz.com/forum/viewtopic.php?t=36463
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: NODE RED Vers mqtt DOMOTICZ

Message par david86 »

Ca fait un peu peur, mais je vais y regarder, merci quand même :D :D
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: NODE RED Vers mqtt DOMOTICZ

Message par Jeff »

Tu verras, une fois la logique compris, ca le fera.
Essaye déjà de récupérer la valeur qui intéresse et affiche dans le debug.
Tu peux utiliser des variables aussi

Code : Tout sélectionner

msg.payload = msg payload.battery_temp;
Return msg

Code : Tout sélectionner

var tempbatt = msg.payload.battery_temp
var conso = msg.payload.consumption
msg.payload = tempbatt + conso;
return msg
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: NODE RED Vers mqtt DOMOTICZ

Message par david86 »

ça c'est ok, merci, j'avais un peu avancé sur les debug, mais pas avec des variables. Petite avancé pour moi, merci.
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: NODE RED Vers mqtt DOMOTICZ

Message par david86 »

Maintenant ça serait d'etre capable d'envoyer cette donnée vers un idx de domoticz avec des lignes de ce type :

msg.payload = {"command": "switchlight", "idx": idx, "switchcmd": "Off"};

ou

msg.payload = {};
msg.payload.idx = 1110;
msg.payload.svalue = ".......;
return msg;

:?
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: NODE RED Vers mqtt DOMOTICZ

Message par Jeff »

J'ai fait vite fait l'essai avec une sonde temp/humidité/baro vers domoticz à partir de openweather
Ca marche nickel en MQTT.
MQTT_flows.JPG
MQTT_flows.JPG (21.6 Kio) Consulté 1710 fois
Json_open.JPG
Json_open.JPG (17.51 Kio) Consulté 1710 fois
La fonction

Code : Tout sélectionner

var idx = 373;
var tempc = msg.payload.tempc;
var humidity = msg.payload.humidity;
var baro = msg.payload.pressure;
var data = tempc + ";" + humidity + ";" + 0 + ";" + baro + ";" + 0 ; //json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT;BAR;BAR_FOR
msg.payload = { "idx": idx, "nvalue": 0, "svalue": data }

return msg;
Device_dz.JPG
Device_dz.JPG (17.44 Kio) Consulté 1710 fois
Pour les svalue, se servir de l'API Json, lien ci dessus.
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: NODE RED Vers mqtt DOMOTICZ

Message par david86 »

Dans la fonction, tu as copié copié collé directement ce que tu m'as mis ?
Ca communique, mais dans les log de domoticz j'ai invalid data, il y a déjà une grosse avancée, merci !
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: NODE RED Vers mqtt DOMOTICZ

Message par david86 »

Avec la fonction ci-après :

Code : Tout sélectionner

var idx = 1146;
var tempbatt = msg.payload.battery_temp
var data = tempbatt;
msg.payload = { "idx": idx, "nvalue": 0, "svalue": data }
return msg;
sachant que mon idx 1146 est un dummy device de tempérture uniquement et si je saisis dans mon explorateur directement :

Code : Tout sélectionner

adresseIP:port/json.htm?type=command&param=udevice&idx=1146&nvalue=0&svalue=20
la valeur est prise en compte dans domoticz
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Répondre