Espeasy et Jeedom

Ok pour le script…mais il manque des infos

http://192.168.xxx.xxx/control?cmd=taskvalueset,12,1,#[Piscine][Piscine][Température]#

Thierry

Bonjour

Cela fonctionne via un script pour une chaine numeric…mais j’ai l’impression que cela ne fonctionne pas pour une chaire de caracteres

Pouvez-vous confirmer ?

Merci

Thierry

c’est surtout que les dummy device ne peuvent contenir que du numerique. faudrait essayer d’envoyer cela vers un écran oled ssd1306 (suivant ta version de firmwate 'espeasy, faut activer le taskvalueset sur tous les devices dans le menu advanced)

RE

J’ai activé taskvalue dans le menu advanced.

Je ne vois pas comment envoyé sur l’ecran la valeur sans passer par un DUMMY

Merci

Désolé je me suis avancé dans mes explications et du coup tu as perdu le fil. Et en plus je me suis trompé sur l’écran OLED, on ne peut pas non plus envoyer du texte (en tout cas pas directement).

Mais je ne comprends plus ce que tu veux faire: Pourquoi vouloir transmettre du texte ? tu parlais de :

Tu veux faire quoi exactement ?

La remontée de temperature fonctionne. Je voulais renvoyer , en plus, un texte sur l’OLED en passant par un DUMMY.

Mais visiblement cela n’est pas possible…dommage

Thierry

la durée c’est du numérique, non ?
Pourquoi tu ne mets pas ton info en numérique plutôt qu’en string ?

La durée de la filtration qui varie en fonction de la température de l’eau…donc jamais le meme

Merci

Tu peux essayer d’utiliser les event et les rules coté esp:

Using Event Values as command ici

Coté rules ESP:

On test_txt* do 
   logentry,"la valeur est: %eventvalue%"
endon

Et coté Jeedom:

Mais j’ai jamais fait celà avec du texte (string) donc à toi de tester et de voir si ça marche (il faut ESPeasy après 04/2022)

Merci

Mais conment fait-on afficher la valeur sur un OLED ?

Thierry

Comme ça:

Dans le device « Display - OLED SSD1306/SH1106 Framed »

Bonjour

Je demandais comment afficher la valeur issue de la formule ci-dessous sur un OLED

On test_txt* do
logentry,« la valeur est: %eventvalue% »
endon

Dans l’exemple que tu montres, c’est des valeurs issues de capteurs.

J’ai trouvé pour afficher la valeur sur l’OLED avec la commande :
http://192.168.xxx.xxx/control?cmd=oled,3,1, Duree :#[Piscine][Filtration piscine][Temps filtration]#

Cela fonctionne sur un OLED mais pas configuré en mode FRAMED. Il faut que l’ecran soit statique

Thierry

Bonjour

J’ai trouvé pour les ecrans FRAMED, il faut utiliser la commande : oledframedcmd

Par contre, je cherche maintenant comment simplifier tout cela.

Je m’explique : Dans un script j’ai la commande HTTP qu’ensuite avec un scenario j’envoi à l’ESP

N’est-il pas possible de simplifier cela ?

Merci

Thierry

Tu peux tout faire par le scénario, tout du moins avec un bloc code (je sais si c’est plus simple mais bon)
Par exemple:

$IP = '192.168.0.123';
$valeur=cmd::byString('#[piscine][piscine][temperature:]#')->execCmd();
$request_http = new com_http('http://'.$IP.'/control?cmd=taskvalueset,12,1,'.$valeur);
$ret = $request_http->exec();

Merci pour ce code

J’ai essayé le 1er j’ai cela comme erreur

J’ai essayé le 2eme, 1 erreur aussi

Pour le 1er, il y a 3 } en trop à la fin de mon code (erreur de copier coller de mon code initiale) => J’ai corrigé dans mon précédent post.

Pour le 2eme, il manque une ) avant le second = . J’ai corrigé également.

Par contre ça correspond à quoi ton "exécution d’un bloc element 110 ?

Toujours des soucis
1er code


2eme code

Les bloc ca doit etre les commandes pour la MAJ du script que j’ai desactivé
Merci

Bon, retour à un truc simple … cf ci dessus

Cela fonctionne pour recuperer la temperature de l’eau et l’afficher sur l’OLED

J’essaie pour la 2eme commande, mais je n’arrive pas a faire afficher le texte « DUR. FILTRE : »
Je n’arrive a faire afficher que la valeur

Comment rajouter du texte…

Je suis mauvais en code !!!

$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, ›.$valeur);
$ret = $request_http->exec();

Merci

Thierry

Utilise la balise « texte préformaté » de ce forum pour mettre ton code et également tes commande action. Ca facilitera la vie de tout le monde pour pouvoir te répondre et évitera des erreurs de copier-coller dans mes réponses:
image