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>","é"," ");
$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