Aller au contenu

Changer La Couleur D'un Label Dans Un Virtual Device


Messages recommandés

Posté(e)

Bonjour

 

Je suis en train de faire un module virtuel pour le foobot qui permet de mesurer CO2, VOC, PM2.5 et Humidité

Je récupère les mesures, cette partie fonctionne maintenant

Je voudrais afficher les résultats, mais en changeant de couleur l'affichage en fonction des valeurs remontées

 

exemple pour PM25, je voudrais que ce soit en blanc si c'est < 50, en orange < 80, et en rouge sinon

 

en essayant ce code, ca ne fonctionne pas : 

fibaro:call(fibaro:getSelfId(), "setProperty", "ui.PM25.value", "<font color='"..color.."'>"..pm.."</font>");
ca n'est pas interprété et ca m'affiche la chaîne de caractère
 
merci pour votre aide
Posté(e)

Bonjour atalata,

 

L'astuce vient de @Berale24 :

 

Essaie ca :

str = "<font color=\"yellow\">"..val.."</font>";
fibaro:call(79, "setProperty", "ui.Label"..i..".value", str.." %");
Posté(e)

Déjà  un grand merci !

Malheureusement, c'est bien ce que je fais, je n'avais pas trouvé le topic mais j'avais imaginé la même solution :)

 

Est ce que en 4.0.40 ca ne serait plus interprété ?

Voilà  mon code exact sur la partie incriminée qui n'est pas interprétée comme je le souhaite

 

-- Champ 2 : Particules Fines PM2.5
local pm = tonumber(string.format("%i",jsonResponse.datapoints[1][2]))
if pm < 50 then
    message = "<font color=\"green\">"..pm.."</font>"
elseif pm < 80 then
    message = "<font color=\"orange\">"..pm.."</font>"
else
    message = "<font color=\"red\">"..pm.."</font>"
end
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.PM25.value", message)
 
et résultat dans mon label j'ai <font color="green">22</font>, ce qui semble être la bonne balise !
 
je vois vraiment pas ce qui cloche par rapport à  l'astuce de Berale24 !
Posté(e)

Vous emebetez pas, en debug ca marche pas pendant qu'on fait le code, mais sous l'interface "standard" en ouvrant le device, c bon

  • 6 mois après...
Posté(e)

j'ai un soucis sur cette ligne, j'aurai besoin de vos lumieres

par avance merci

fibaro:call(id.display, "setProperty", "ui.Label13.value","<font color=\"yellow\"temp..°C","</font>");

à  la base j'ai 

  fibaro:call(id.display, "setProperty", "ui.Label13.value", temp.." °C"); 

et je souhaite que la température "temp" °C  soit de couleur (jaune ou verte ou rouge, je verrai par la suite)

j'ai fait plusieurs tests, et à  chaque fois j'ai le "°C" qui prend la couleur mais pas la temperature

Posté(e)

Comme ça, ça devrait mieux fonctionner (pas testé) :

fibaro:call(id.display, "setProperty", "ui.Label13.value", '<font color="yellow">'..temp..'°C</font>')

Mais par contre, les balises html ne passent pas dans l'appli mobile.

×
×
  • Créer...