Espeasy et Jeedom

Tu auras compris par toi même que ce qui commence par $ sert à déclarer/utiliser une variable (en bleu)
En rose et entre ’ , c’est du texte.
Et pour concatener du texte et des variables, on utilise le .

Soit:

$IP = '192.168.0.123'; 
$valeur=cmd::byString('#[Piscine][Filtration piscine][Temps filtration]#')->execCmd(); 
$request_http = new com_http('http://'.$IP.'/control?cmd=oledframedcmd,6,"Dur.filtre:'.$valeur.'H');
$ret = $request_http->exec();

Bonjour
OK pour l’utilisation de la balise TEXTE

J’avais essayé de mettre des quotes ou doubles quotes, un peu de partout sans succes
Je viens de tester ton texte, cela n’affiche plus rien sur l’Oled. Et je n’est pas de message d’erreur dans le LOG

J’ai corrigé comme ceci

$IP = '192.168.0.123'; 
$valeur=cmd::byString('#[Piscine][Filtration piscine][Temps filtration]#')->execCmd(); 
$request_http = new com_http('http://'.$IP.'/control?cmd=oledframedcmd,6,'.'Dur. filtre:' .$valeur .'H');
$ret = $request_http->exec();

Par contre , impossible de mettre un espace entre Dur. filtre et : et entre $Valeur et H. Sinon, plus rien ne s’affiche apres Dur.filtre:

Sans espace, ca affiche cela « Dur.filtre:01:00H »…pas tres lisible !!!

Thierry

Ca veut simplement dire que le code est bon coté Jeedom. Mais coté ESPeasy, ça doit mal s’interpréter (faut voir dans les log d’ESPeasy du coup).

J’avais pas vu ces histoires de double quotes. La bonne synthaxe devrait etre un double quote après le H. A essayer:

$IP = '192.168.0.123'; 
$valeur=cmd::byString('#[Piscine][Filtration piscine][Temps filtration]#')->execCmd(); 
$request_http = new com_http('http://'.$IP.'/control?cmd=oledframedcmd,6,"Dur.filtre:'.$valeur.'H"');
$ret = $request_http->exec();

Le LOG ESP sans espace

Le LOG ESP avec un espace entre Dur.filtre et :
image

Plus rien d’afficher sur l’ecran…Un truc de fou !!!

La meme commande envoyé depuis le script ne pose pas de souci malgré les espaces

J’ai remplacé les : par _ . C’est plus lisible

$IP = '192.168.0.123'; 
$valeur=cmd::byString('#[Piscine][Filtration piscine][Temps filtration]#')->execCmd(); 
$request_http = new com_http('http://'.$IP.'/control?cmd=oledframedcmd,6,"Dur.filtre_'.$valeur.'H"');
$ret = $request_http->exec();

Effectivement , avec un espace, l’interpreteur coté espeasy est mis en echec.
Pourtant ça devrait etre géré:

a tenter:

$IP = '192.168.0.123'; 
$valeur_full='http://'.$IP.'/control?cmd=oledframedcmd,6,"Dur.filtre:'.cmd::byString('#[Environnement][T Ext][Température]#')->execCmd().'H"';
$request_http = new com_http($valeur_full);
$ret = $request_http->exec();

D’ailleur je suis pas sur que ta commande initiale via script fonctionnait.

Je te confirme que le commande via le script fonctionne nickel.
Je viens de retester a l’instant. Il y a bien un espace entre filtre et : et entre la valeur et le H
J’ai bien mis des " " pour que cela fonctionne

Thierry