Bonjour,
Est-ce que quelqu’un utiliserait (et aurait éventuellement interfacé avec son IPX V.4) un capteur de température et d’humidité Wifi qui disposerait d’APIs pour pouvoir être interrogé ?
Mais sans aller jusqu’à des stations Météo telle que la Netatmo dont l’interfaçage est expliquée par @fgtoul dans le WiKi lié à cet article.
Merci de vos réponses.
Patrice
Bonjour Patrice,
C’est jouable avec un montage type Arduino
ESP8266 + DHT22
je suis en train d’écrire un wiki avec le programme C++, mais ça peut prendre un peu de temps car beaucoup de choses en cours… 
cdt
1 « J'aime »
Bonjour,
Effectivement ESP8266 + DHT22 ou BMP280.
Pour ceux qui ne veulent pas faire de programmation il existe ESPEASY à installer sur ESP8266, avec des plugin.
Les sondes peuvent être intégrées dans l’ IPX par du Json.
Cdlt
1 « J'aime »
Le problème du json c’est quil n’est pas scenarisable. Il vaut mieux faire des push à la demande vers des analogiques virtuelles.
1 « J'aime »
Bonjour,
Effectivement le Json n’est scénarisable.
ESP-EASY propose aussi le push. Cela fonctionne avec Jeedom.
Par contre, vers l’IPX le push fonctionne avec un nombre mais pas avec une variable.
Si vous avez une idée, cela m’intéresse.
Cdlt
Bonjour Francis,
ESP-EASY est effectivement simple à utiliser et il convient parfaitement quand on a des besoins « simples ».
Pour les limites imposées, je préfère rester au C++.
je n’ai malheureusement pas de solution à proposer.
cdt
1 « J'aime »
J’avais gardé cet article de coté. Je ne l’ai pas encore creusé juste survolé mais si cela peut t’intéresser…
https://owenduffy.net/blog/?p=10277
1 « J'aime »
Bonjour Francis,
Dans cet échange tu avais évoqué un BMP280.
Je suis en train de faire des tests avec un BMP280 sur un Wemos D1, mais autant les mesures de T° sont cohérentes (par rapport à la sonde sur mon IPX, un X-THL), autant celles de pression sont fantaisistes (2200 HPa environ). J’avais testé avec la librairie Adafruit qui me donnait des pressions négatives !!! Et je suis donc passé à la BMx280MI de Gregor Christandl, mais les valeurs de pressions sont erronées et je ne trouve rien à ce sujet qui puisse expliquer ce pb.
As-tu toi-même utilisé ce capteur ?
Bien cdlt
Bonjour,
J’utilise ESPEASY sur WEMOS D1, la valeur semble correcte. Tu peux envoyer la valeur sur une entrée analogique de l’IPX800
Probablement que la librairie Adafruit est erronée;
Cdlt
1 « J'aime »
Bonjour Francis,
Merci de tes conseils. J’ai commencé à creuser ESPEasy que j’ai eu un peu de mal à installer car il nécessitait une version des cartes ESP8266 plus récente que celle que j’avais (2.4.1 qui est compatible avec mes propres développement, ce que la 2.6.3 que j’ai installée n’est a priori pas) et les librairies adaptées. Après pas mal d’erreurs de compilation puis de téléchargement, j’ai fini par trouver et il s’est installé sur mon Wemos D1 mini.
Toutefois mon capteur de pression indique de nouveau une valeur négative !
Je vais finir par penser que c’est le composant qui est défectueux… C’est mon 2ème. Le premier faisait la même chose au niveau de la pression, mais je l’ai accidentellement grillé en inversant les broches VCC et GND.
Donc je ne peux pas tester avec un autre.
Qu’utilises-tu comme composant avec ton Wemos ? Moi c’est un comme ça :

Merci de ton aide.
Bien cdlt
Bonjour,
je vous ai joint par mail du forum le capteur que j’utilise en I2C.
Pour la configuration d’ESPEASY très bien, je vois que les GPIO sont les bons.
L’humidité ne parait pas bonne et la pression pas cohérente.
J’alimente le BMP280 en 3.3V.
Le capteur semble HS ce qui expliquerait l’incohérence avec la lib adafruit.
Dans ESPEASY menu tools/I2C Scan votre module apparaît il bien ?
Votre module est il configurable en SPI ou I2C (switch) ? Dans l’affirmatif vous pouvez faire un test en SPI.
Cdlt
Bonsoir,
Merci j’ai bien reçu la photo. Je viens d’en commander un similaire. Je verrai quand je le recevrai…
C’est normal que l’humidité soit à 0 car mon capteur est un BMP280 et non un BME280.
I2C Scan détecte bien l’appareil qui est alimenté en 3,3 V effectivement.
Il est normalement compatible SPI et je vais chercher effectivement de ce côté. Mais je crains que ce soit un défaut de la carte ou bien qu’il nécessite une librairie particulière que je n’ai pas trouvé.
Je continue de creuser…
Merci.
Bien cdlt
Rebonsoir,
J’ai une autre question : comment remontez-vous les infos vers l’IPX800 ? J’ai configuré le 1er controller pour qu’il accède à l’IPX et essaye de modifier une Analogique Virtuelle :
Je mesure l’entrée analogique du Wemos et j’essaye de la remonter de cette façon :
Mais ça ne fonctionne pas… Je dois louper un truc. %valname% ne récupère pas la valeur indiquée dans la colonne « Name » ? Et %value% celle de la valeur ? Le tout pour la variable située à l’index 1 ?
Merci de votre aide.
Bien cdlt
Bonjour,
Il faut utiliser les « rules » qui doivent être activé dans le menu tools.
Pour la commande je vous l’indique ce soir
J’utilise le controller Generic Http avec le plugin ESPAESY de Jeedom.
Pour l’IPX800 il faut faire un push.
Si vous voulez utiliser l’entrée analogique il faut utiliser le firmware spécifique de ESPEASY.

Cdlt
1 « J'aime »
Bonjour Francis,
Effectivement c’est ce que j’avais fini par découvrir hier soir tard. J’ai créé une règle qui fait un sendtohttp vers l’IPX800 et ça marche. C’est ce que vous appelez un « push » ?
J’aurais voulu essayer d’utiliser les controller pour faire envoyer les infos vers l’IPX, mais je ne trouve pas comment faire et je n’ai pas trouvé de documentation expliquant la syntaxe.
Pour le firmware, je suis passé par le source que j’ai compilé et téléchargé via Arduino IDE.
Pour l’instant je fais des tests pour découvrir ce qu’on peut faire avec ESPEasy et c’était aussi pour vérifier mon capteur BMP280 qui ne semble pas marcher pour le coup…
Cdlt
Bonjour,
Pour le push c’est la commande sendtohttp vers une entrée analogique virtuelle de l’IPX800.
L’IPX800V4 n’est pas prévu pour recevoir un ensemble d’information.
Il faut les envoyer une par une par sendtohttp.
Par contre l’IPX800 peux lire les infos par le JSON fournit par ESPEASY, l’inconvénient est que l’on ne peux pas les exploiter dans un scénario de l’IPX800.
Cdlt
Bonsoir Francis,
C’est effectivement ce que j’ai fait et ça marche bien.
Mais cette histoire de controller m’intrigue parce que je ne vois pas pourquoi on ne pourrait pas récupérer des infos par ce biais. Je vais creuser avec mon WireShark pour voir ce qui circule sur le réseau à destination de l’IPX. Si je trouve quelque chose, je l’indiquerai.
Le fait que l’on ne puisse pas récupérer les infos d’un JSON dans les scénarii de l’IPX retire de l’intérêt à la manip…
Bonne soirée.
Rebonsoir Francis,
Mes investigations ont été fructueuses… 
On voit bien les requêtes HTTP envoyées par le Wemos, celle par la règle et celle via le contrôleur qui utilise la config dont j’ai passé les copies d’écrans ci-dessus. Mais autant celle de la règle est bien formée avec un GET /api/xdevices.json?key=XXX&SetVA32=460 par ex. et l’IPX la prend donc bien en compte, autant dans celle du controller, tous les symboles du « Controller Publish » sont remplacés par leurs équivalents ASCII en « %qqchose ». Ainsi la requête ci-dessus est envoyée sous la forme :
/%2fapi%2fxdevices.json%3fkey%3dXXX%26SetVA32%3d460
On voit que le nom de la valeur %valname% (32) et la valeur numérique %value% (460) sont bien encapsulées dans le message mais qui est mal transcrit.
Par bien que je n’ai pas mis de « / » avant « api/xdevice… » dans le Controller Publish, il ajoute un %2f qui en est le code ASCII.
C’est visiblement un bug qu’il faudrait signaler à l’équipe de développement d’ESPEasy. Mais je ne sais pas trop comment faire. Peut-être avez-vous plus l’habitude que moi de faire des remontées de bugs…
A dispo, si besoin de plus d’explication…
Bien cdlt
Bonsoir,
Ci joint le rule pour l’envoi de données à l’IPX800, qui correspond à mon impression écran des capteurs ESPEASY ci dessus.
Envoi de données à l’IPX sans APIkey et sans mot de passe :
on BME280#Pressure do
sendtohttp 192.168.1.50,80,/api/xdevices.json?SetVA30=[BME280#Pressure]
endon
on BME280#Temperature do
sendtohttp 192.168.1.50,80,/api/xdevices.json?SetVA28=[BME280#Temperature]
endon
on BME280#Humidity do
sendtohttp 192.168.1.50,80,/api/xdevices.json?SetVA29=[BME280#Humidity]
endon
Rebonsoir,
Ok, merci beaucoup. C’est un peu ce que j’imaginais et c’est ce que j’avais fait pour remonter la valeur binaire de l’entrée A0…
Ici, cela va bien parce que les valeurs sont assez importantes, donc les décimales importent peu. Mais pour des grandeurs qui nécessitent plus de précision, je pense qu’il faudrait passer par une formule pour les multiplier par 10, 100 ou 1000 et faire l’opération inverse dans la déclaration de l’Analogique Virtuelle de l’IPX.
Par ailleurs, j’ai réfléchi au pb indiqué précédemment avec le Controller. En fait c’est le navigateur qui, quand il envoie les données, remplace les / ? = et consorts par les valeurs ASCII reconnues par le HTML. Et de l’autre côté, ESPEasy ne prend pas cela en compte pour le corriger. Je ne sais pas s’il y a un moyen d’outrepasser ça. Peut-être que @fgtoul aura une idée… ?
Bien cdlt