Domoticz vers ESP8266

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 ...
fcBourgogne
Messages : 172
Inscription : 31 mars 2020, 14:22

Re: Domoticz vers ESP8266

Message par fcBourgogne »

Tu peux afficher le payload du moniteur serie IDE Arduino.

Les valeurs ne sont certainement pas entre crochets [].

A+
Dernière modification par fcBourgogne le 15 déc. 2022, 19:26, modifié 1 fois.
Raspberry PI5+ 1WIRE + I2C +ESP8266 +esp32
Doudy
Messages : 457
Inscription : 07 mai 2016, 17:23

Re: Domoticz vers ESP8266

Message par Doudy »

fcBourgogne a écrit : 15 déc. 2022, 17:24 Tu peux afficher le payload du moniteur serie IDE Arduino.
Excuse mon ignorance, mais je pense que c'est ceci ! :oops:

Code : Tout sélectionner

17:55:44.872 -> ............
17:55:51.087 -> Connected to WiFi network with IP Address : 192.168.1.6
17:55:51.087 -> Timer set to 10 min. (timerDelay variable), it will take 10 min. before publishing the first reading.
17:56:04.314 -> HTTP Response code: 200
17:56:04.314 -> {
17:56:04.314 -> 	"ActTime" : 1671123364,
17:56:04.314 -> 	"AstrTwilightEnd" : "18:41",
17:56:04.314 -> 	"AstrTwilightStart" : "06:39",
17:56:04.314 -> 	"CivTwilightEnd" : "17:19",
17:56:04.314 -> 	"CivTwilightStart" : "08:01",
17:56:04.314 -> 	"DayLength" : "08:00",
17:56:04.314 -> 	"NautTwilightEnd" : "18:01",
17:56:04.314 -> 	"NautTwilightStart" : "07:19",
17:56:04.314 -> 	"ServerTime" : "2022-12-15 17:56:04",
17:56:04.347 -> 	"SunAtSouth" : "12:40",
17:56:04.347 -> 	"Sunrise" : "08:40",
17:56:04.347 -> 	"Sunset" : "16:40",
17:56:04.347 -> 	"app_version" : "2022.1",
17:56:04.347 -> 	"result" : 
17:56:04.347 -> 	[
17:56:04.347 -> 		{
17:56:04.347 -> 			"AddjMulti" : 1.0,
17:56:04.347 -> 			"AddjMulti2" : 1.0,
17:56:04.347 -> 			"AddjValue" : 0.0,
17:56:04.347 -> 			"AddjValue2" : 0.0,
17:56:04.347 -> 			"BatteryLevel" : 100,
17:56:04.347 -> 			"CustomImage" : 0,
17:56:04.347 -> 			"Data" : "11.3 C, 41 %",
17:56:04.347 -> 			"Description" : "",
17:56:04.347 -> 			"DewPoint" : "-1.49",
17:56:04.347 -> 			"Favorite" : 0,
17:56:04.347 -> 			"HardwareDisabled" : false,
17:56:04.347 -> 			"HardwareDisabled" : false,
17:56:04.380 -> 			"HardwareID" : 4,
17:56:04.380 -> 			"HardwareName" : "RFXCOM",
17:56:04.380 -> 			"HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
17:56:04.380 -> 			"HardwareTypeVal" : 1,
17:56:04.380 -> 			"HaveTimeout" : false,
17:56:04.380 -> 			"Humidity" : 41,
17:56:04.380 -> 			"HumidityStatus" : "Normal",
17:56:04.380 -> 			"ID" : "F401",
17:56:04.380 -> 			"LastUpdate" : "2022-12-15 17:55:40",
17:56:04.380 -> 			"Name" : "T-Garage",
17:56:04.380 -> 			"Notifications" : "false",
17:56:04.380 -> 			"PlanID" : "0",
17:56:04.380 -> 			"PlanIDs" : 
17:56:04.380 -> 			[
17:56:04.380 -> 				0
17:56:04.413 -> 			],
17:56:04.413 -> 			"Protected" : false,
17:56:04.413 -> 			"ShowNotifications" : true,
17:56:04.413 -> 			"SignalLevel" : 8,
17:56:04.413 -> 			"SubType" : "THGN122/123/132, THGR122/228/238/268",
17:56:04.413 -> 			"Temp" : 11.300000000000001,
17:56:04.413 -> 			"Timers" : "false",
17:56:04.413 -> 			"Type" : "Temp + Humidity",
17:56:04.413 -> 			"TypeImg" : "temperature",
17:56:04.413 -> 			"Unit" : 1,
17:56:04.413 -> 			"Used" : 1,
17:56:04.413 -> 			"XOffset" : "0",
17:56:04.413 -> 			"YOffset" : "0",
17:56:04.413 -> 			"idx" : "410",
17:56:04.413 -> 			"trend" : 2
17:56:04.413 -> 		}
17:56:04.413 -> 	],
17:56:04.413 -> 	"status" : "OK",
17:56:04.472 -> 	"title" : "Devices"
17:56:04.472 -> }
17:56:04.472 -> 
17:56:04.472 -> Data : 11.3 C, 41 %
17:56:04.472 -> Température Garage : 0.00
17:56:04.472 -> Humidité Garage : 0.00
17:56:24.475 -> HTTP Response code: 200
RaspberryPi - RFLink - Zwave - WH2600
Domoticz : 2020.2 | Dashticz : V3.12 Master | dzvents : 3.0.2 | Python : 3.7.3
fcBourgogne
Messages : 172
Inscription : 31 mars 2020, 14:22

Re: Domoticz vers ESP8266

Message par fcBourgogne »

C'est bien ça que je voulais voir, le payload.

Alors effectivement les valeurs ne sont pas entre crochets [].
Par contre le fichier "Humidity" existe au même titre que "Temp".

Code : Tout sélectionner

const char* Data = doc["result"][0]["Data"];
             double Data1 = doc["result"][0]["Temp"];    //Température
             double Data2 = doc["result"][0]["Humidity"];    //Humidité      
        Serial.print("Data : "); 
        Serial.println(Data); 
        Serial.print("Température Garage : "); 
        Serial.println(Data1); 
        Serial.print("Humidité Garage : "); 
        Serial.println(Data2); 
Ca devrait fonctionner avec le code ci-dessus.
A+
Raspberry PI5+ 1WIRE + I2C +ESP8266 +esp32
Doudy
Messages : 457
Inscription : 07 mai 2016, 17:23

Re: Domoticz vers ESP8266

Message par Doudy »

Voici :

Code : Tout sélectionner

07:49:11.106 -> Data : 10.7 C, 41 %
07:49:11.106 -> Température Garage : 10.70
07:49:11.106 -> Humidité Garage : 41.00
Merci pour ton aide ;)
Dernière modification par Keros le 16 déc. 2022, 12:44, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
RaspberryPi - RFLink - Zwave - WH2600
Domoticz : 2020.2 | Dashticz : V3.12 Master | dzvents : 3.0.2 | Python : 3.7.3
fcBourgogne
Messages : 172
Inscription : 31 mars 2020, 14:22

Re: Domoticz vers ESP8266

Message par fcBourgogne »

Bonjour,

Un élément intéressant dans Domoticz, que je viens de découvrir.
Domoticz peut afficher du texte avec un DUMMY et Type de capteur = Texte.
L'ESP8266 envoi les données à l'IDX du capteur. Il faut juste respecter une règle, n'envoyer que du texte brut, sans accent et symbole (%).
TEXTEdomo3.jpg
TEXTEdomo3.jpg (56.91 Kio) Consulté 1609 fois
TEXTEdomo2.jpg
TEXTEdomo2.jpg (31.65 Kio) Consulté 1609 fois
TEXTEdomo1.jpg
TEXTEdomo1.jpg (80.91 Kio) Consulté 1609 fois

Code : Tout sélectionner

	// Domoticz format /json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue="FERME",ConsigneFoyer,Analog  
	if (client.connect(domoticz_server, port)) {
    client.print("GET /json.htm?type=command&param=udevice&idx=");
    client.print("573");
    client.print("&nvalue=0&svalue=");
    client.print("FERME");client.print(",");client.print(ConsigneFoyer);client.print(",");client.print(Analog);
    client.print(";");
    client.println(" HTTP/1.1");
    client.print("Host: ");
    client.print(domoticz_server);
    client.print(":");
    client.println(port);
    client.println("User-Agent: Arduino-ethernet");
    client.println("Connection: close");
    client.println();
    client.stop();
  } 
Je m'en sers pour finaliser et vérifier des réglages, ainsi dans le capteur Texte je peux voir plusieurs variables de l'ESP8266.
Voilà, si ça intéresse...
A+
Raspberry PI5+ 1WIRE + I2C +ESP8266 +esp32
Doudy
Messages : 457
Inscription : 07 mai 2016, 17:23

Re: Domoticz vers ESP8266

Message par Doudy »

fcBourgogne a écrit : 15 déc. 2022, 14:46 Si tu le veux tu peux également afficher le taux d'humidité.

Code : Tout sélectionner

double Data1 = doc["result"][0]["Temp"][0];    //Température
double Data2 = doc["result"][0]["Temp"][1];    //Humidité
A essayer.
pour revenir à un message précédent et pour ma "culture personnelle", comment faire pour extraire les data séparément de

Code : Tout sélectionner

"Data" : "10.8 C, 41 %"
Le code ci-dessous renvoie "0"

Code : Tout sélectionner

   const char* Data = doc["result"][0]["Data"];
             double Data1 = doc["result"][0]["Data"][0];    //Température
             double Data2 = doc["result"][0]["Data"][1];    //Humidité      

Code : Tout sélectionner

14:20:28.163 -> Data : 10.9 C, 41 %
14:20:28.199 -> Température Garage : 0.00
14:20:28.199 -> Humidité Garage : 0.00
Une idée ?
;)
RaspberryPi - RFLink - Zwave - WH2600
Domoticz : 2020.2 | Dashticz : V3.12 Master | dzvents : 3.0.2 | Python : 3.7.3
fcBourgogne
Messages : 172
Inscription : 31 mars 2020, 14:22

Re: Domoticz vers ESP8266

Message par fcBourgogne »

Bonjour Doudy,

Pour répondre à ta question.
Il faut alors user de la fonction "substring" qui extrait des caractères d'une phrase.

Code : Tout sélectionner

const char* Data = doc["result"][0]["Data"];
       String Data1 = doc["result"][0]["Data"];
       Serial.print("Data: "); 
       Serial.println(Data1); 
       String Data2 = Data1.substring(0, 4); // avec substring
       Serial.print("Data2: "); 
       Serial.println(Data2); 
        String Data3 = Data1.substring(8, 10); // avec substring
       Serial.print("Data3: "); 
       Serial.println(Data3); 
Résultat:

Code : Tout sélectionner

15:33:26.889 -> Data: 18.8 C, 37 %
15:33:26.889 -> Data2: 18.8
15:33:26.889 -> Data3: 37
Entre les parenthèses de substring, le premier chiffre pointe le début et le deuxième pointe la fin de la récupération des caractères.
Voilà, amuse toi bien!
A+
Raspberry PI5+ 1WIRE + I2C +ESP8266 +esp32
Doudy
Messages : 457
Inscription : 07 mai 2016, 17:23

Re: Domoticz vers ESP8266

Message par Doudy »

Merci beaucoup
👍 👍 👍 👍
RaspberryPi - RFLink - Zwave - WH2600
Domoticz : 2020.2 | Dashticz : V3.12 Master | dzvents : 3.0.2 | Python : 3.7.3
pascal_du_59
Messages : 4
Inscription : 22 janv. 2023, 13:02

Re: Domoticz vers ESP8266

Message par pascal_du_59 »

Bonjour je viens de m'inscrit a votre forum...
j'utilise des esp-01 pour mes sonde ou autre sur Domoticz version PC.
Merci pour la quantité d'information disponible et en particulier sur la réception d'info entre Arduino et Domoticz.

Deja merci pour le code fournis maissss et oui ya toujours un mais ma question et la suivante

la ligne Json en envoyer a Domoticz pour récupérer certain info fonction mais si il y a un mot de passe et nom d'utilisateur cela mais impossible me renvois un message d'erreur.

erreur : 401 Unauthorized

ma question comment introduire le mot de passe et nom d'utilisateur dans votre exemple.

certains disent qui faut le coder en 64bit mais ou et comment les indroduire correctement

d'avance merci et super forum continuer comme ça
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Domoticz vers ESP8266

Message par Keros »

Bonjour pascal et bienvenu sur le forum :)

As-tu essayé d'autoriser ton ESP à ce connecter à DomoticZ sans mot de passe ? Il faut autoriser l'IP dans les paramètres de DomoticZ.

Concernant les mots de passe, DomoticZ en train d'en changer la sécurité. Ce serait dommage que tu mettes un truc en place et qu'il ne soit plus fonctionnel à la prochaine mise à jour. Plus d'infos.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre