ESP8266 - ESPEASY OU IDE ARDUINO
ESP8266 - ESPEASY OU IDE ARDUINO
Bonjour,
Parmi les utilisateurs d’esp8266, je cherche à m’en bricoler un pour envoyer des infos à domoticz, je trouve beaucoup mais vraiment beaucoup d’info avec l’utilisation d’espeasy, mais beaucoup moins qui fonctionne avec arduino.
J’ai fait un avec espeasy l’été dernier (petite station météo très sommaire), envoi vers domoticz ok égalent.
Je voudrais le faire moi même avec le code sous l’ide arduino.
Connexion wifi ok + info wifi sur terminal ok
Je fais un contact (interrupteur) sur D1 (Gpio 5)et j’ai bien l’information sur le terminal ok
J’ai fait une page web de l’esp8266 qui récupérer l’état de D1 (Gpio 5)
Mais impossible à envoyer à domoticz.. domoticz donne dans les logs « error parsing ffff:192.168.1.1 »
Bon je me dis que si je bascule sous espeasy je règle tous les problèmes mais j’aimerai bien arriver par moi même….
Ou tout le monde utilise espeasy dorénavant car plus facile en tout point de vue ?
Merci.
Parmi les utilisateurs d’esp8266, je cherche à m’en bricoler un pour envoyer des infos à domoticz, je trouve beaucoup mais vraiment beaucoup d’info avec l’utilisation d’espeasy, mais beaucoup moins qui fonctionne avec arduino.
J’ai fait un avec espeasy l’été dernier (petite station météo très sommaire), envoi vers domoticz ok égalent.
Je voudrais le faire moi même avec le code sous l’ide arduino.
Connexion wifi ok + info wifi sur terminal ok
Je fais un contact (interrupteur) sur D1 (Gpio 5)et j’ai bien l’information sur le terminal ok
J’ai fait une page web de l’esp8266 qui récupérer l’état de D1 (Gpio 5)
Mais impossible à envoyer à domoticz.. domoticz donne dans les logs « error parsing ffff:192.168.1.1 »
Bon je me dis que si je bascule sous espeasy je règle tous les problèmes mais j’aimerai bien arriver par moi même….
Ou tout le monde utilise espeasy dorénavant car plus facile en tout point de vue ?
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...
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Tu peux nous mettre ton script ? Avec seulement la ligne d'erreur, c'est assez mince pour te répondre.
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Salut,
je me suis dit cela aussi... Désolé, alors voici mon code :
Dedans j'ai mis pas mal de commentaires car je début dedans et ça me fait toujours un mémo personnellement. Il y a aussi des /* ... */ car ce sont des bouts de variantes que j'ai essayé sans résultats concluant.
Voici le retour des logs de Domoticz :
Error parsing http request address: ::ffff:192.168.1.1
Je tiens à préciser que quand je tape dans mon explorateur ippublique:port/json.htm?type=command¶m=switchlight&idx=667&switchcmd=On ou Off cela fonctionne. (en local comme en extérieur bien sur)
Merci pour l'aide.
je me suis dit cela aussi... Désolé, alors voici mon code :
Dedans j'ai mis pas mal de commentaires car je début dedans et ça me fait toujours un mémo personnellement. Il y a aussi des /* ... */ car ce sont des bouts de variantes que j'ai essayé sans résultats concluant.
Voici le retour des logs de Domoticz :
Error parsing http request address: ::ffff:192.168.1.1
Je tiens à préciser que quand je tape dans mon explorateur ippublique:port/json.htm?type=command¶m=switchlight&idx=667&switchcmd=On ou Off cela fonctionne. (en local comme en extérieur bien sur)
Merci pour l'aide.
Code : Tout sélectionner
#include <Arduino_JSON.h>
#include <ESP8266WiFi.h> //pour connexion wifi
#include <ESP8266WebServer.h> //pour génerer page web interne ESP8266
#include <ESP8266HTTPClient.h> //pour envoi vers domoticz
ESP8266WebServer serverWeb(80); // On démarre un serveur qui écoute sur le port 80 les demande du client, l'utilisateur sur son navigateur internet
const char* ssid = "ssid"; // Identifiant WiFi
const char* password = "mdp"; // Mot de passe WiFi
const char* host = "adresse_IP_publique";
const int port = port;
WiFiClient client;
HTTPClient http;
#define led LED_BUILTIN
#define BP 5
void handle_root() {
// int etatGPIOD0;
int etatGPIOD1;
etatGPIOD1=digitalRead(5);
// etatGPIOD0=digitalRead(16);
serverWeb.send(200,"html","<head> <meta http-equiv='refresh' content='5'> <title>ESP8266 PICPIC</title> </head> " //avec cette commande on refresh la page en seconde dans content
"<body> <H1>ESP8266 Portail Picpic</H1>" //écriture dans page avec taille selon H1
"<p>Etat de la broche GPIOD1(pin5): " + String(etatGPIOD1) + "</p>" //<p>nouveau paragraphe à la ligne
// "<p>Etat de la broche GPIOD0(pin16): " + String(etatGPIOD0) + "</p>" //<p>nouveau paragraphe à la ligne
"<p>David</p></body>"); //nouvelle ligne
delay(100);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// on attend d'etre connecte au WiFi avant de continuer
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// on definit les points d'entree (les URL a saisir dans le navigateur web) et on affiche un simple texte
serverWeb.on("/", handle_root); //on appelle la fonction handle_root quand serveurWeb est à ON
/*{
// serverWeb.send(200, "text/plain", "Page d'accueil");
// });
// serverWeb.on("/parametres", [](){
// serverWeb.send(200, "text/plain", "Une page de parametres");
// });
*/
// on demarre le serveur web
serverWeb.begin();
pinMode(led, OUTPUT); // Initialise la broche "led" comme une sortie
pinMode(BP,INPUT_PULLUP); //on dit que BP est une entrée
} //fin du SETUP
void loop() {
// put your main code here, to run repeatedly:
// a chaque iteration, la fonction handleClient traite les requetes
serverWeb.handleClient();
if (digitalRead(BP)==1)
{
digitalWrite(led, LOW);
Serial.println("LED allumée");
String url = "/json.htm?type=command¶m=switchlight&idx=667&switchcmd=On";
sendDomoticz(url);
}
else
{
digitalWrite(led, HIGH);
Serial.println("LED éteinte");
String url = "/json.htm?type=command¶m=switchlight&idx=667&switchcmd=Off";
sendDomoticz(url);
}
delay(1000);
} //FIN DU LOOP
//void sendDomoticz(){
void sendDomoticz(String url){
// url = "/json.htm?type=command¶m=switchlight&idx=667&switchcmd=Off";
Serial.print("connecting to ");
Serial.println(host);
Serial.print("Requesting URL: ");
Serial.println(url);
// http.begin(host,port,url); (ligne d'origine mais erreur remontée à la vérification/compilation API OBSELETE : use begin(client....)
http.begin(client,host,port,url);
int httpCode = http.GET();
if (httpCode) {
if (httpCode == 200) {
String payload = http.getString();
Serial.println("Réponse de Domoticz : ");
Serial.println(payload);
}
}
Serial.println("Fermeture connection");
http.end();
delay(1000);
} // FIN DE SENDDOMOTICZ
/*
if (client.connect(host,port)) {
client.println(String("GET ") + url + " HTTP/1.1");
client.println("Connection : close");
client.println();
}
delay(5000);
Serial.println("Message envoyé à DOmoticz");
*/
Dernière modification par david86 le 17 janv. 2022, 12:46, modifié 1 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...
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Petite question, vaut-il mieux le faire en requête http ou plutôt passer par un broker type mosquitto.
Je l'avoue j'ai un broker sur mon domoticz mais je ne comprend pas vraiment la subtilité entre broker et http en direct.
Mon problème peut-il venir de là ? Aucun rapport quoi qu'il en soit ?
HTTP ?
Broker ?
Merci,
Je l'avoue j'ai un broker sur mon domoticz mais je ne comprend pas vraiment la subtilité entre broker et http en direct.
Mon problème peut-il venir de là ? Aucun rapport quoi qu'il en soit ?
HTTP ?
Broker ?
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...
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Salut,
perso j'ai essayé les deux, je me suis très vite tourné vers ESPEASY qui me permet d'avoir une base stable et évolutive et de pouvoir ajouter de nouveaux périph ou d'en inverser sans prise de tête...
J'utilise l'IDE Arduino au boulot pour des trucs très spécifiques, mais à la maison, espeasy suffit amplement.
J'en ai maintenant une vingtaine et tout tourne très bien, en HTTP, car pour moi le broker signifie encore une passerelle vers l'extérieur, ce que je préfère éviter pour rester le plus autonome possible.
perso j'ai essayé les deux, je me suis très vite tourné vers ESPEASY qui me permet d'avoir une base stable et évolutive et de pouvoir ajouter de nouveaux périph ou d'en inverser sans prise de tête...
J'utilise l'IDE Arduino au boulot pour des trucs très spécifiques, mais à la maison, espeasy suffit amplement.
J'en ai maintenant une vingtaine et tout tourne très bien, en HTTP, car pour moi le broker signifie encore une passerelle vers l'extérieur, ce que je préfère éviter pour rester le plus autonome possible.
Domoticz V4.10 sur Synology DS216j (DSM 6.3), clef Z-Wave Sigma
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Bonjour, merci, si je vois que je n'y arrive pas je ferai probablement cela en effet, j'en ai 2 sous ESPEASY, mais c'est rigolo d'essayer de coder tout ça... Je retomberai sur terre peut-être d'ici 2/3 jours où je me dirai que ça dépasse mes compétences. 
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...
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Re: ESP8266 - ESPEASY OU IDE ARDUINO
ça ressemble à un problème d'authentification.
https://www.domoticz.com/wiki/Domoticz_ ... parameters
https://www.domoticz.com/wiki/Domoticz_ ... parameters
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Bonjour Neutrino,
je vais y regarder mais pourquoi je n'ai pas ce problème lorsque je tape dans ma barre d'adresse la commande json et tout fonctionne correctement, les log détecte mon ordre et l'interrupteur permute ?
Merci
je vais y regarder mais pourquoi je n'ai pas ce problème lorsque je tape dans ma barre d'adresse la commande json et tout fonctionne correctement, les log détecte mon ordre et l'interrupteur permute ?
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...
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Re: ESP8266 - ESPEASY OU IDE ARDUINO
Dans ton navigateur l'authentification est peut-être déjà faite en amont.
Essaye avec en mode incognito/navigation privée voir si ça passe ou pas.
Essaye avec en mode incognito/navigation privée voir si ça passe ou pas.
Re: ESP8266 - ESPEASY OU IDE ARDUINO
En effet en navigation privée ça ne fonctionne pas....
Mais je ne comprend pas la méthode sur le lien que tu as donné sur l'authentification :
Authorization with parameters
An other way to set username and password when calling the API is :
http://domoticz-ip<:port>/json.htm?username=MkE=&password=OVM=&api-call
MkE= is the base64 encoded username ('2A' in this example)
OVM= is the base64 encoded password ('9S' in this example)
Cette histoire de MkE OVM 2A et 9S.... Tout n'est pas clair pour ma tete... lol
EDIT : j'ai compris l'encodage MkE OVM....
Mais je ne comprend pas la méthode sur le lien que tu as donné sur l'authentification :
Authorization with parameters
An other way to set username and password when calling the API is :
http://domoticz-ip<:port>/json.htm?username=MkE=&password=OVM=&api-call
MkE= is the base64 encoded username ('2A' in this example)
OVM= is the base64 encoded password ('9S' in this example)
Cette histoire de MkE OVM 2A et 9S.... Tout n'est pas clair pour ma tete... lol
EDIT : j'ai compris l'encodage MkE OVM....
Dernière modification par david86 le 17 janv. 2022, 19:07, modifié 1 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...
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...