Aller au contenu
Indyana

Question Bête : Changer Une Icône En Lua

Recommended Posts

Bonjour,

Je n'ai pas trouvé comment modifier l'icône d'un device virtuel en Lua, est-ce possible?

 

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

 Pour exemple, le module de mon portail:

Sans titre   3

J'ai dans la mainloop ceci:

if (tonumber(fibaro:getValue(61, "value")) > 0 ) then
fibaro:call(169,"setProperty","currentIcon",1057)
else
fibaro:call(169,"setProperty","currentIcon",1049)
end

Où l'Id 61 est mon capteur (ouvert ou fermé), le 169 est l'Id de mon module virtuel et 1057, 1049, les icônes pour les deux états.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Super! Merci Did, tu viens de m'ouvrir les yeux sur la fonction call que je n'avais pas encore regardé de près, je vais pouvoir faire mumuse :)

Partager ce message


Lien à poster
Partager sur d’autres sites

 De rien, ce n'est pas moi qui l'ai trouvé tout seul mais plutôt Steven (notre Père Noà«l). En tout cas, je le garde précieusement et l'utilise souvent pour mes MV. J'ai aussi la version à  trois états qui me permet de basculer entre arrêt, petite et grande vitesse pour ma VMC.

local id_vmc_lent = 236
local id_vmc_rapide = 238
local id_module_virtuel = fibaro:getSelfId()
     
local lentAllumer = tonumber(fibaro:getValue(id_vmc_lent, "value")) == 1
local rapideAllumer = tonumber(fibaro:getValue(id_vmc_rapide, "value")) == 1
     
local icon = fibaro:getValue(id_module_virtuel, "currentIcon")
if (lentAllumer and rapideAllumer) then
-- icone rapide
icon = 1103
elseif (lentAllumer) then
-- icone lent
icon = 1102
else
-- icone éteint
icon = 1091
end

fibaro:call(235, "setProperty", "currentIcon", icon)

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi j'ai une question, est-ce qu'il est possible de changer l'icone d'une scene de la même manière, sans passer par l'API ?

Partager ce message


Lien à poster
Partager sur d’autres sites

 L'icône d'une scène n'a pas besoin de changer, non?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bah si par exemple celle de mon script pour checker les cycles du sèche-linge, c'est bien de le voir visuellement sur le Home. Sinon il faut rentrer dans le debug. Ou alors 2e solution faire un VD mais bon ça me tente moins (le mainlloop étant bugé àmort !).

Partager ce message


Lien à poster
Partager sur d’autres sites

 Ah, alors là , il faut voir avec les maitres Yoda du forum (je suis gourou mais pas du Lua).

Partager ce message


Lien à poster
Partager sur d’autres sites

Petite question comme ca en passant d'un débutant !!

 

Est ce que ca marche egalement pour les wallplug ?

 

Par exemple pour le wallplug branché à  mon frigo, je souhaiterai avoir un icone de frigo !!

 

Merci d'avance à  tous

 

Fabien

Partager ce message


Lien à poster
Partager sur d’autres sites

 Malheureusement, on ne peut toujours pas remplacer l'icône du Wallplug.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Did,

 

Toujours pour mon histoire de frigo, serait-il possible d'associer au wallplug un module virtuel auquel on aurait donc un icone de frigo plus un retour d'etat si allumé ou non, dans la mesure ou il n'y a pas d'action a voir dessus si ce n'est connaitre sa conso et vérifier son état (allimenter ou non) ?

 

encore une fois je suis novice et me pose des milliards de questions...

 

Merci d'avance

 

Fabien

Partager ce message


Lien à poster
Partager sur d’autres sites

 Oui bien sur, c'est ce que j'ai fait pour mon chauffe-eau au message#37 de cette page.

http://www.domotique-fibaro.fr/index.php/topic/34-fibaro-fgs-211-relay-switch-1x3kw/page-2

Pour le bouton marche, tu mets:

fibaro:call(232, "turnOn")

et pour arrêt, ceci:

fibaro:call(232, "turnOff")

Tu remplaces le 232 par l'Id de ton Wallplug et dans la mainloop, tu peux supprimer de la ligne 20 jusqu'à  la fin (affichage température et consommation).

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Did,

 

Est il possible de récupérer la conso du wallplug sur le module virtuel ?

Partager ce message


Lien à poster
Partager sur d’autres sites

 Oui, en ajoutant ces lignes dans la main loop:

local conso = fibaro:getValue(246, "valueSensor")
fibaro:call(249, "setProperty", "ui.Label1.value",conso.. " W")

et ajouter un Label

246=Id Wallplug

249=Id Module virtuel

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon j'ai peur de faire mon boulet, j'espère que tu m'en excuseras....

 

Je commence tout doucement a comprendre le fonctionnement, cependant je ne vois pas comment récupérer l'id du module virtuel

 

merci d'avance

 

PS : Je fias pas mal de recherches mais je ne trouve pas toujours mon bonheur

Partager ce message


Lien à poster
Partager sur d’autres sites

@Bamby82, dans le module virtuel pour récupérer l' id tu fais

local id = fibaro:getSelfId();

;)

 

@BenjyNet, le mainloop n'est pas si buggé que cela :15:

Partager ce message


Lien à poster
Partager sur d’autres sites

T'embêtes pas avec l'id du VD. Fait simplement un

fibaro:getSelfId()

à  la place du numero de VD

 

Edit : Arf grilled by Krikroff

Bon tant que t'es dans le coin, comment je fais pour changer l'icone de mes scenes dynamiquement et sans passer par l'API ? It's impossible ?

Modifié par BenjyNet

Partager ce message


Lien à poster
Partager sur d’autres sites

 J'ai déjà  donné le renseignement sur un autre post hier:

 

 Quand tu cliques sur la clé (en haut à  droite de ton module virtuel) pour en modifier le contenu, tu le retrouves dans l'adresse du navigateur (à  la fin).

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci a tous,

 

bon voici la chaine principale, mais la remonté de consommation ne s'affiche pas

--[[
%% properties
%% globals
--]]
 
local id_module_virtuel = fibaro:getSelfId()

local conso = fibaro:getValue(37, "valueSensor")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value",conso.. " W")

Partager ce message


Lien à poster
Partager sur d’autres sites

Bamby tu vas te faire allumer par les modos ! Mets ton code àl'aide de <>

Partager ce message


Lien à poster
Partager sur d’autres sites

Arf grilled by BenjyNet ;)

 

Pour le changement des icônes pour les scènes sauf par l' API hum je ne vois pas :(

 

@bamby82, <> c'est un bouton dans l’éditeur pour poster les messages, merci d'editer pour les modifications ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

@bamby82, merci.

 

edit: j'ai supprimé le message en double

Partager ce message


Lien à poster
Partager sur d’autres sites

Arf non, regarde dans la barre d'outil lorsque tu tapes un texte. T'as un icone <>, tu cliques et tu inserts ton code dedans. Réédite tes posts pour éviter des doublons.

 

Edit : Rah crotte Kirkroff :)

Modifié par BenjyNet

Partager ce message


Lien à poster
Partager sur d’autres sites

×