Probleme avec PATH

Capteurs et actionneurs HTTP

Probleme avec PATH

Messagepar bleauge » 27 Mars 2020 14:36

Bonjour,

Avec avec un actionneur HTTP j'utilise une requete http qui me retourne un XML
<?xml version='1.0'?><xml><response><Valeur value='111'/></response></xml>
avec le test path j'obtient bien 111
avec le PATH //Valeur/@value
mais quand j'utilise action=periph.caract&periph_id=xxxxxxxxx&show_config=1
j'obtient dans le resultat : ....... "RAW_XPATH": "//Valeur/@value", ......
et non la valeur 111 ?

Depuis 2 jours (de confinement :oops: ) je ne comprend pas
merci de votre aide
bleauge
 
Messages : 24
Inscription : 11 Juin 2019

Re: Probleme avec PATH

Messagepar KikiFUNstyle » 27 Mars 2020 14:48

Essaye avec
Code : Tout sélectionner
//value
ZWave / RFXCom / broadlink RM /Google Mini / Yeelight / Xiaomi Vacuum V1 / Shelly <3 / Node-RED <3 <3
[Store] Shelly
KikiFUNstyle
 
Messages : 908
Inscription : 24 Avr 2014
Localisation : Toulouse

Re: Probleme avec PATH

Messagepar thrymartin » 28 Mars 2020 07:56

plutôt //@value

mais ça te renverra //@value vu ce que ça te renvoyait auparavant
Dans la doc du capteur, il est spécifié: il faut que ce soit de la forme
<capture>valeur</capture>

du coup on ne peut plus employer de 'fonctions' xPath... ou alors je ne comprend pas cette spécification (?) mais juste des appels simples avec le nom de la balise d'encadrement.

donc si ton xml vient de toi, un script php quoi
quand tu génères ou que tu captures ton
Valeur value='111'/

captures le dans une variable et enleve tout ce qui n'est pas un chiffre
Code : Tout sélectionner
   $texte      = preg_replace("/[^0-9]/","",$texte);


ou si le xml généré arrive comme ça, juste en appelant une adresse http
alors fait un petit script qui réalise l'appel et fais la tambouille dedans, comme c'est la seule donnée numérique, suffit de tout virer sauf les données numériques. et tu appelles le script au lieu de ta page html
Code : Tout sélectionner
http://localhost/script/?exec=nom_du_script.php(&nomdelavariable=[VAR1])(&....)


et le script minimaliste qui récupère le xml, avec éventuellement l'appel avec les variables VARx..
et lui vire tout ce qui n'est pas chiffre, en l'encadrant avec des balises.

Code : Tout sélectionner
<?php

   $VARx      = getArg('nomdelavariable'); // s'il ya une ou des variable VARx
   $url       = "appel au html".avec éventuellement le nom de/s variables/s VARx;

   $result      = httpQuery($url, 'GET'); // rapatrie le xml
   $result      = preg_replace("/[^0-9]/","",$result); // et lui vire tout ce qui n'est pas chiffre

// et on construit le xml nouveau
$xml = "<Valeur>";
$xml .= $result
$xml .=  "</Valeur>";

echo $xml

?>


et ton xPATH devient //Valeur
thrymartin
 
Messages : 965
Inscription : 03 Mars 2019
Localisation : La Réunion

Re: Probleme avec PATH

Messagepar bleauge » 28 Mars 2020 09:07

Merci de me venir en aide,

Ok, dans mon XML j'ai fait
<Valeur>ABC</Valeur>

le test PATH //Valeur me renvoi bien ABC

Mais j'ai toujours "RAW_XPATH": "//Valeur", " et non ABC

Je ne comprend pas, voir
viewtopic.php?f=50&t=6799

Apres pour le recupérer je me debrouille.
bleauge
 
Messages : 24
Inscription : 11 Juin 2019

Re: Probleme avec PATH

Messagepar merguez07 » 28 Mars 2020 12:20

salut,

j'ai pas trop compris ton affaire ni ce que tu veux faire. Difficile donc de te répondre.
envois ton code pour clarifier ce que tu veux faire avec periph.carac
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: Probleme avec PATH

Messagepar bleauge » 28 Mars 2020 12:37

sur l'envoi, comme indiqué dans l'API
http://192.168.0.101/api/get?action=per ... x_config=1

le resultat est

{ "success": 1, "body":{"periph_id": "1699425", "name": "Audio Module MP3 Bureau", "last_value": "105", "last_value_text": "relais HP OFF", "unit": "", "battery": "", "last_value_change": "2020-03-28 07:55:29", "POLLING": "1", "RAW_URL": "http://192.168.0.XXX/retour", "RAW_XPATH": "//Valeur", "TIMEOUT": "30", "TRUNCATE": "0", "URL": "http://192.168.0.XXX/retour", "VAR1": "30", "VAR2": "147", "VAR3": "004", "XPATH": "//Valeur", "convert": "0", "debug": "0", "hidden_data": "", "homekit_hide": "1", "ignore_errors": "3", "sms_allow": "1"}}

et je voulais récupérer la valeur de 'Valeur' (= RAW XPATH) ci dessus, qui devrai m'indiqué ABC et non //Valeur
bleauge
 
Messages : 24
Inscription : 11 Juin 2019

Re: Probleme avec PATH

Messagepar merguez07 » 28 Mars 2020 13:27

je dois être fatigué parceque je comprends toujours pas ta demande. tu veux récupérer "last-value" ?
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: Probleme avec PATH

Messagepar bleauge » 28 Mars 2020 13:49

NON de RAW_XPATH
qui doit être ABC
bleauge
 
Messages : 24
Inscription : 11 Juin 2019

Re: Probleme avec PATH

Messagepar merguez07 » 28 Mars 2020 14:33

décidemment, rien à faire , je comprends rien à ton histoire d'ABC
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: Probleme avec PATH

Messagepar xeos » 28 Mars 2020 14:40

Je pense que tu utilise pas la bonne URL pour recuperer "la valeur du retour XPATH" comme tu dis.

http://localhost/api/get?action=periph. ... id=XXXXXXX

Xpath : //last_value
Je suis Fou et insatiable
xeos
 
Messages : 836
Inscription : 02 Sep 2017
Localisation : Alsace

Re: Probleme avec PATH

Messagepar bleauge » 28 Mars 2020 15:40

viewtopic.php?f=50&t=6799

merguez07, cela doit te rappeler quelque chose ;)
bleauge
 
Messages : 24
Inscription : 11 Juin 2019

Re: Probleme avec PATH

Messagepar bleauge » 28 Mars 2020 15:41

bleauge
 
Messages : 24
Inscription : 11 Juin 2019

Re: Probleme avec PATH

Messagepar benj70b » 28 Mars 2020 21:27

en fait, il n'y a aucun problème

bleauge a écrit:Avec avec un actionneur HTTP j'utilise une requete http qui me retourne un XML
<?xml version='1.0'?><xml><response><Valeur value='111'/></response></xml>
avec le test path j'obtient bien 111
avec le PATH //Valeur/@value

=> a ce niveau le xpath //Valeur/@value te permet de retourner la valeur soit 111

bleauge a écrit:mais quand j'utilise action=periph.caract&periph_id=xxxxxxxxx&show_config=1
j'obtient dans le resultat : ....... "RAW_XPATH": "//Valeur/@value", ......
et non la valeur 111 ?

=> la : tu as la configuration de ton périphérique donc le xpath //RAW_XPATH retourne la configuration pour lire la valeur soit //Valeur/@value


xeos a écrit:Je pense que tu utilise pas la bonne URL pour recuperer "la valeur du retour XPATH" comme tu dis.
http://localhost/api/get?action=periph.value&periph_id=XXXXXXX
Xpath : //last_value


=> comme l'indique xeos si tu veux la valeur il faut utiliser periph.value et //last_value
Eedomus + | Domoticz | Mosquitto | Node Red | deCONZ | EspEasy | Conbee II | Rfxcom | Esp32 | Esp8266 | Alexa | Harmony

[Store] : deCONZ - Actionneurs & Capteurs / Domoticz Events / MiLight v4 & v6 / Sonoff Mini / Etats de batteries
benj70b
 
Messages : 294
Inscription : 20 Jan 2014
Localisation : 89

Re: Probleme avec PATH

Messagepar bleauge » 30 Mars 2020 08:28

OK, j'ai compris,
merci à tous
bleauge
 
Messages : 24
Inscription : 11 Juin 2019


Retour vers Requêtes HTTP

Qui est en ligne ?

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