Forum eedomus
https://forum.eedomus.com/

Données Lacrosse dans le script HTTP-Capteur
https://forum.eedomus.com/viewtopic.php?f=5&t=8844
Page 1 sur 1
Auteur:  merguez07 [ 07 Sep 2019 11:02 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

bonjour,

j'ai pas tout compris à ton message. pourquoi appelles tu le capteur Http "bouton Http" ?
Que mets tu dans l'url de la requete de ton capteur?

thrymartin a écrit:un utilitaire qui donnerai dans un xml, l'XPath d'une donnée cliquée !

http://xmltoolbox.appspot.com/xpath_generator.html
Auteur:  merguez07 [ 07 Sep 2019 13:23 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

en fait ton problème c'est que tu veux faire du xpath avec du html alors que le xpath c'est pour du xml.
Le problème est somme toute assez simple à contourner mais il te faut passer par un script php. Sais tu faire ou veux tu de l'aide ?
Auteur:  merguez07 [ 07 Sep 2019 20:46 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

thrymartin a écrit:Heu.. la je suis perdu ...


bon reprenons,

Sur Eedomus, tu veux utiliser un capteur virtuel http pour récupérer les valeurs de température lacross qui sont sur un site internet.

L'affichage des données sur le site internet est sous forme d'une page web (HTML)

un capteur virtuel http Eedomus ne peut lire que du xml ou du json

donc il faut réaliser un script php qui va aller transformer les données HTML en données lisibles par le capteur , du xml.

dans l'URL du capteur, on met le lien vers la requete Php qui va rappatrier le xml
et dans le xpath on met le code qui permettra d'extraire la valeur recherchée

Script
Code : Tout sélectionner
<?

// nom du script : lacross.php
$phone_id    = getArg('phoneid');
$url         = "https://measurements.mobile-alerts.eu/Home/SensorsOverview?phoneid=".$phone_id;
$result      = httpQuery($url, 'GET');
$result      = preg_replace("#\n|\t|\r#","",$result);
$Toccurences = array("<h5>","</h5>","<h4>","</h4>","<h3>","</h3>","&#233;"," ");
$Treplace    = array("","","","","","","e","");
$result      = str_replace($Toccurences,$Treplace,$result,$count);

$termes = array("date"            => "Relevesavecdate",
                "temp_interieure" => "Temperatureinterieure",
                "hyg_interieure"  => "Hygrometrieinterieure",
                "temp_exterieure" => "Temperatureexterieure",
                "hyg_exterieure"  => "Hygrometrieexterieure",
               );
   

$xml .= "<LACROSS>\n";   
foreach($termes as $k => $terme) {
    preg_match('/(' . $terme . '([0-9\/:\.]+)(%|C)?<\/div>)/', $result, $matches);
    $xml .= "<".$k.">".$matches[2]. "</".$k.">\n";
}
$xml .= "</LACROSS>";
echo $xml;

       
?>


URL de la requête
http://localhost/script/?exec=lacross.php&phoneid=[VAR1]

dans VAR1 : 471576390702

dans Xpath
//temp_interieure
ou
//date
ou
//hyg_interieure
ou
//temp_exterieure
ou
//hyg_exterieure
Auteur:  merguez07 [ 08 Sep 2019 07:28 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

thrymartin a écrit:le php, je devrais arriver à le modifier (l'ID donné est un ID test, ce n'est pas le mien) pour l'adapter à mes capteurs. Mais je peux déjà tout tester sur celui-ci pour me faire la main...


Pas besoin de modifier le script php. le numero d'ID est juste à mettre dans la variable VAR1

thrymartin a écrit:=================
ne me reste que :
Le script, je crois avoir vu qu'il faut être en local (?) pour le mettre sur l'eedomus (?)
je vais voir si je peux contourner ça avec une redirection NAT, sinon, ça attendra décembre...
(je suis à plus de 10 000 bornes de ma RS)
=================


Je crains qu'il faille être effectivement en local (mais j'en suis pas sûr). Par contre si on met l'ensemble sous forme de plugin on doit pourvoir le mettre à distance.

Tiens moi au jus
Auteur:  flouret [ 10 Sep 2019 12:53 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

Bonjour,
Tout ceci est très intéressant.
Ce serait bien que ce script soit intégré dans le store eedomus.
Avec le didacticiel pour utiliser des sondes lacrosse extérieure.
Bravo à vous deux.
Auteur:  merguez07 [ 10 Sep 2019 12:58 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

flouret a écrit:Ce serait bien que ce script soit intégré dans le store eedomus.
Avec le didacticiel pour utiliser des sondes lacrosse extérieure.


Effectivement si ça interesse du monde il faut en faire un plugin. Thrymartin à toi de jouer, je reste en "back office" pour toute demande d'aide.
Auteur:  flouret [ 10 Sep 2019 13:12 ]
Sujet du message:  Re: Données Lacrosse dans le script HTTP-Capteur

On peut l'acheter où cette passerelle ?
La sonde vendue avec est pour l'extérieur ?
Page 1 sur 1 Le fuseau horaire est UTC+1 heure