Bonjour, je croyais trouver facilement un exemple dans le forum pour ce pb simple, mais sans succès. Aussi je reviens vers vous.
La requête http que me renvoie un équipement (boitier arrosage)
, HTML, format ?
Je voudrais récupérer la ligne rs : état de chacun des relais et les attribuer à des virtuels.
Je n’ai pas trouvé d’exemple identique, et pas trouvé la requête qui va bien (restera ensuite le pg du parsing de mes virtuels…)
Merci par avance
en script c’est toujours un peu « aléatoire », je te propose de déclencher un scénario pour récupérer la valeur. voilà un exemple fonctionnel de ce que tu veux faire, il te reste à remplacer le html par une lecture de page web. pour ça tu peux te reporter à l’exemple donné plus haut qui marche bien pour la pluviométrie.
$string = "<html><body>Etherrain device status<br>un<br>ac:<br>os:rd<br>cs:ok<br>rs:0000001<br>rn:0<br></body></html>";
$pattern = "/rs:(.*?)<br>/";
if (preg_match($pattern, $string, $matches) ==1) {
$s = substr( $matches[0], 3, strlen($matches[0])-3);
$scenario->setLog( $s );
// voilà ta valeur qu'il reste à écrire comme ci-dessous
// cmd::byString('#[objet][equipement][info]#')>event($s);
} else $scenario->setLog("rs non trouvé");
@neurall , merci pour ton idée. J’ai tenté et n’ai pas réussi jusqu’ici. Mais tu m’a mis sur une autre piste. J’ai replongé dans la théorie de quelques commandes php et après tâtonnement… j’ai posté mon scénario ci dessus. Comme la réponse HTTP est de format figé, cette solution est opérationnel. Si le format variait selon la réponse, il y aurait pb. Ca fonctionne, ouf!J’ai maintenant un vrai retour effectif du status de chaque electrovanne. Merci à vous tous pour votre aide