plusieurs lignes dans vituel texte

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
lebphi
Messages : 28
Inscription : 16 déc. 2016, 19:14

plusieurs lignes dans vituel texte

Message par lebphi »

bonjour,

je voudrais regrouper plusieurs informations sur plusieurs lignes dans un capteur virtuel text. Est ce possible ?

exemple :
info1
info2
info3

j'ai essaye avec {"idx": 23,"nvalue" : 0,"svalue":"info1 \r\n info2 \r\n info2 "} mais ca ne marche pas.

merci d'avance
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: plusieurs lignes dans vituel texte

Message par vil1driver »

Salut,

Essai

Code : Tout sélectionner

<br>
Dernière modification par vil1driver le 22 déc. 2016, 18:35, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
lebphi
Messages : 28
Inscription : 16 déc. 2016, 19:14

Re: plusieurs lignes dans vituel texte

Message par lebphi »

En essayant un peu tout, j'ai fini par trouver....

{"idx": 23,"nvalue" : 0,"svalue":"info1 <br> info2 <br> info2 "}

merci vil1driver, nos messages se sont croises
Pièces jointes
tempo_auj.PNG
tempo_auj.PNG (14.45 Kio) Consulté 9059 fois
Dernière modification par lebphi le 22 déc. 2016, 18:38, modifié 1 fois.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: plusieurs lignes dans vituel texte

Message par vil1driver »

Tu peux même colorer (toujours avec les balises html) ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
lebphi
Messages : 28
Inscription : 16 déc. 2016, 19:14

Re: plusieurs lignes dans vituel texte

Message par lebphi »

en fait ca marche sur le navigateur mais ca ne marche pas pour l'application android domoticz lite
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: plusieurs lignes dans vituel texte

Message par Pyrrhus »

Bonjour,
moi aussi j'aimerais bien avoir plusieurs lignes dans mon capteur texte, mais en bash et JSON:
Comment faire ?

Code : Tout sélectionner

curl -s "http://IP:port/json.htm?type=command&param=udevice&idx=IDX&svalue= info1 à la ligne info2 à la ligne info3"
Je suis sûr que ça doit être tout simple mais je n'arrive pas à trouver...
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: plusieurs lignes dans vituel texte

Message par vil1driver »

Bah de la même façon mais en encodant le <br>
Ce qui te donne ceci comme séparateur

Code : Tout sélectionner

 %3Cbr%3E

Code : Tout sélectionner

curl -s "http://IP:port/json.htm?type=command&param=udevice&idx=IDX&svalue= info1 %3Cbr%3E info2 %3Cbr%3E info3"
Bien sûr tes info doivent aussi être encodées..

Le mieux étant donc d'encoder l'ensemble en une fois
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: plusieurs lignes dans vituel texte

Message par Pyrrhus »

Merci Vil1driver, mais ça ne fonctionne pas, même avec l'exemple le plus simple:

Code : Tout sélectionner

curl -s "http://IP:port/json.htm?type=command&param=udevice&idx=IDX&svalue=test%3Cbr%3Etest"
Mon capteur texte m'affiche

Code : Tout sélectionner

test<br>test
au lieu de

Code : Tout sélectionner

test
test
lebphi
Messages : 28
Inscription : 16 déc. 2016, 19:14

Re: plusieurs lignes dans vituel texte

Message par lebphi »

pour info je passe par mqtt pour envoyer la commande et ca marche, j'arrive bien a avoir plusieurs ligne dans le texte en utilisant <br>. Par contre ca marche pas sur l'appli android domoticz lite.

Plus globalement, j'ai un programme python lit en boucle la liaison teleinfo et met à jour une base sqlite. Ensuite toutes les heures ou en cas de changement majeur, je change les valeurs dans domoticz via mqtt. Domoticz ne sert que pour l'affichage. J'ai utilise cette methode pour pouvoir gerer toutes les infos de la trame teleinfo tempo triphasee, ce que ne fait pas correctement domoticz je trouve.

Donc globalement ca fonctionne mais par contre je remplis inutilement les logs associes aux virtuels. Y aurait il un moyen de les limiter en nombres d'enregistrements ou carrement d'annuler la fonction log ?
Pièces jointes
log.PNG
log.PNG (72.27 Kio) Consulté 8975 fois
tempo.PNG
tempo.PNG (51.83 Kio) Consulté 8975 fois
Dernière modification par lebphi le 23 déc. 2016, 19:40, modifié 1 fois.
Pyrrhus
Messages : 130
Inscription : 11 juin 2015, 14:57

Re: plusieurs lignes dans vituel texte

Message par Pyrrhus »

J'ai trouvé !
il faut encoder le saut de ligne en utf8 ce qui donne

Code : Tout sélectionner

curl -s "http://IP:port/json.htm?type=command&param=udevice&idx=IDX&svalue=test%0Atest"
résultat:

Code : Tout sélectionner

test
test
Donc pour un espace, il faut écrire %20

Code : Tout sélectionner

curl -s "http://IP:port/json.htm?type=command&param=udevice&idx=IDX&svalue=test%201%0Atest%202"
résultat:

Code : Tout sélectionner

test 1
test 2
Si ça peut servir !
Répondre