Bonjour,
Je vous soumets ma question car je ne sais pas par quel sens prendre mon pb :
J’ai déployé mon Jeedom qui me pilote de nombreuses choses : chauffage, arrosage avec des protocoles comme zigebee, jmqtt… assez satisfait de mon système.
Je me suis lancé dans un autre projet (à part) une station météo avec des capteurs de températures, humidité, qualité de l’air … le tout géré par un ESP32 qui envoie les données dans une BDD SQL les données sont visibles sur un site perso web, là également je suis assez fier de moi (merci les tutos)
Aucun lien entre Jeedom et mon site météo.
Parfois l’ESP32 tourne en rond et se bloque tout en restant connecté je l’ai branché avec une prise zigbee donc quand je perds le Ping je le redémarre avec un scenario Jeedom et c’est OK mais parfois il reste connecté mais plus d’envoie d’infos (ça reste un ESP!!)
Donc je cherche l’approche pour relancer mon ESP connecté à une prise zigbee :
. Dois- je me servir d’un prog php sur mon site : si pas de message depuis plus de xx mn je lance une commande vers Jeedom pour éteindre et allumer la prise?
. Ou Jeedom contrôle dans la BDD ou sur le site que la dernière valeur n’a pas plus de xx mn sinon relance de la prise
Je ne demande pas de résoudre le pb mais proposer dans quelle direction travailler?
Pourquoi ne pas configurer l’esp pour qu’il publie de l’info directement exploitable sous jeedom? soit via call http soit via mqtt.
à ce moment si jeedom ne recoit plus d’info il sait que l’esp est planté
Bonjour,
J’avais l’idée effectivement d’envoyer un message à Jeedom (via API) par contre je voulais éviter de charger l’ESP ainsi passer soit par Jeedom vers ma BDD ou le site ou l’inverse.
Néanmoins je mets ton idée de côté et dans ce cas comment je traite l’info envoyée par l’ESP .
Je ne suis pas spécialiste mais ce n’est pas une requete mqtt finalement l’idée de Mips me semble pas mal d’envoyer de la même façon un message à jeedom par contre comment je le traite dans jeedom?
Avez vous des exemples pour m’inspirer?
l’avantage de mqtt c’est que ca simplifie l’intégration: l’esp s’occupe juste de publier sur le broker et puis chacun vient chercher ce qu’il a besoin quand il en a besoin
si tu veux rester sur un push http vers jeedom, au moins pour un poc/test, créé un virtuel sous jeedom avec les commandes infos correspondantes et dans le virtuel tu auras l’url à appeler depuis ton esp; ca va être très proche de ce que tu fais déjà
Merci je vais essayer de trouver des exemple le push ne pose pas de pb par contre il faut que je cherche pour le traitement dans Jeeom.
Merci pour ces idées.
Mais je n’oublie l’idée du brocker, j’ai hésité au début de mon projet, je vais très certainement y regarder dans un second temps.
J’avance dans mon projet j’ai une erreur lorsque je compile je pense que je me débrouille mal
Je fais de cette façon pour envoyer un message sur mon site web et là ça fonctionne
Par contre dans le cas de mon jeedom qui est sur le même réseau je tente de cette façon
const char *hostJeedom = "192.168.0.22";
const int port = 80;
void messagehhtpJeedom(){
http.begin(client,hostJeedom,port)
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
httppushjeedom = "/core/api/jeeApi.php?apikey=HMwW57LIVN5TXXXXXXXeHUQL&type=cmd&id=4781&value=" + TEMPMOY;
Serial.print("URL POST JEEDOM: "); Serial.println(httppushjeedom);
int httpResponseCodeJeedom = http.POST(httppushjeedom);
}
J’ai l’erreur suivante :
D:\Projets Station Meteo\00 Prog ESP 32 Arduino\StationMeteoV4B\StationMeteoV4B.ino:94:5: error: 'http' was not declared in this scope
http.begin(client,hostJeedom,port)
Je pense que j’intialise pas le serveur (pas sur du bon terme) comment procéder dans ce cas précis.
Et seconde question à quoi sert « https.addHeader(« Content-Type », « application/x-www-form-urlencoded »); » ???
Merci.
Bonjour,
il y a un problème de mise en forme dans ton message
L’erreur veut dire que tu n’a pas initialisé la variable ‹ http › dans le ‹ scope › , c’est à dire ici à l’intérieur de ta fonction messagehttpJeedom
2e question: les headers sont nécessaires à toute requête http. ici tu ajoute le type du contenu de la requête, c’est utile pour que le client et le serveur puissent se comprendre.
Effectivement comme j’ai initié mon post par la solution et non le pb ça dérive !!
Pour mon info HTTPClient https s’'applique aussi bien pour des échanges http et https