Page 2 sur 4
Re: Domoticz vers ESP8266
Publié : 15 déc. 2022, 17:24
par fcBourgogne
Tu peux afficher le payload du moniteur serie IDE Arduino.
Les valeurs ne sont certainement pas entre crochets [].
A+
Re: Domoticz vers ESP8266
Publié : 15 déc. 2022, 18:00
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 !
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
Re: Domoticz vers ESP8266
Publié : 15 déc. 2022, 19:25
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+
Re: Domoticz vers ESP8266
Publié : 16 déc. 2022, 07:55
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

Re: Domoticz vers ESP8266
Publié : 16 déc. 2022, 12:03
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 (56.91 Kio) Consulté 1597 fois

- TEXTEdomo2.jpg (31.65 Kio) Consulté 1597 fois

- TEXTEdomo1.jpg (80.91 Kio) Consulté 1597 fois
Code : Tout sélectionner
// Domoticz format /json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue="FERME",ConsigneFoyer,Analog
if (client.connect(domoticz_server, port)) {
client.print("GET /json.htm?type=command¶m=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+
Re: Domoticz vers ESP8266
Publié : 16 déc. 2022, 14:21
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
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 ?

Re: Domoticz vers ESP8266
Publié : 16 déc. 2022, 15:35
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+
Re: Domoticz vers ESP8266
Publié : 16 déc. 2022, 17:27
par Doudy
Re: Domoticz vers ESP8266
Publié : 22 janv. 2023, 13:15
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
Re: Domoticz vers ESP8266
Publié : 22 janv. 2023, 13:38
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.