Température et Xpath html

Capteurs et actionneurs HTTP

Température et Xpath html

Messagepar qwench » 04 Mars 2021 09:22

Bonjour
Je cherche à récupérer une température mesurée proche de chez moi, et j'ai trouvé la weathermap netatmo: https://weathermap.netatmo.com/?zoom=17.725419385226765

Reste à extraire la température, mais rien à faire, le résultat de la requête xpath est toujours vide sur la page de test eedomus...

Xpath: /html/body/div/weathermap/div/side-panel/div[INDEX=1]/div[INDEX=3]/temp-measures/div[INDEX=1]/div/div/div[INDEX=1]/p[INDEX=1]

Quelqu'un peut il m'aider ?
Merci
qwench
 
Messages : 18
Inscription : 04 Mars 2021

Re: Température et Xpath html

Messagepar merguez07 » 04 Mars 2021 11:41

bonjour,

le xpath sert à récupérer une info contenue dans une balise xml et non html.
Il est donc normal que ça ne marche pas.
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Température et Xpath html

Messagepar qwench » 05 Mars 2021 08:37

Techniquement et indépendamment de eedomus, xml et html sont tout deux du SGML, et xpath fonctionne très bien sur du html.

C'est vraiment dommage que ça ne fonctionne pas sur du html, car il n'y aurai pas grand chose à faire pour utiliser du html en plus du xml...
qwench
 
Messages : 18
Inscription : 04 Mars 2021

Re: Température et Xpath html

Messagepar qwench » 07 Mars 2021 10:09

Bon alors j'ai créé une page php qui extrait la température de la page html et la retourne au format xml. J'ai donc:

<?xml version="1.0"?>
<temp>4.7</temp>

J'ai crée et configuré le capteur http et ça fonctionne. J'obtient bien 4.7 sur le capteur.

Maintenant, je voudrais l'utiliser dans une règle, par exemple quand la température devient inférieur à 0°c... mais quand je crée le critère, il ne me permet pas de saisir une valeur. A la place, j'ai un champ vide, et un deuxième champs avec une liste déroulante contenant 'Alexa, API cloud...'

Comment dire au capteur que la valeur retournée est un nombre en °c ?
qwench
 
Messages : 18
Inscription : 04 Mars 2021

Re: Température et Xpath html

Messagepar thrymartin » 07 Mars 2021 12:12

est, devient... / égal,inf, sup ... au périphérique = liste déroulante
est, devient... / égal, inf, sup ... "tout court" = une valeur et à côté on a déjà l'unité si elle a été défini dans la conf du capteur : exemple ici puisqu'on veut une temp en °C :
usage : température
type : nombre décimal
unité : °C

bref, c'est d'avoir indiqué "au périphérique" qui fait la liste déroulante (quand on veut comparer une température à c elle d'un autre périphérique)
sinon, ça ne donne pas la liste mais bien une entrée pour saisie numérique

si tu n'es pas d'accord, balance des captures écran de
- la conf du capteur http qui récupère la temp avec le xpath
- et la règle qui te pose problème
thrymartin
 
Messages : 965
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: Température et Xpath html

Messagepar qwench » 07 Mars 2021 18:34

J'ai trouvé mon erreur grâce au message de thrymartin, merci.
J'ai utilisé un mauvais type de capteur http dès le départ...
J'ai recréé un nouveau capteur et j'ai pu choisir 'température' comme usage, mettre l'unité et décimal comme type.

Maintenant tout fonctionne ! Merci.
qwench
 
Messages : 18
Inscription : 04 Mars 2021

Re: Température et Xpath html

Messagepar gsimon » 14 Juin 2021 15:19

Bonjour qwench, heureux que cela fonctionne.
Peux-tu stp partager ton script php d'extraction ? Je suis intéressé pour le mettre en oeuvre.
Merci d'avance
gsimon
 
Messages : 201
Inscription : 05 Juin 2015


Retour vers Requêtes HTTP

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 19 invité(s)