Aller au contenu

Activer Une Scène Sur Un Bouton Virtuel


971jmd

Messages recommandés

Si c'est pour consulter UNIQUEMENT sur interface web, alors tu peux insérer du code html dans l'étiquette par exemple, mais c'est pas terrible...

fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label1.value", '<img height="48" width="48" src="https://cdn1.iconfinder.com/data/icons/ui-icons-2/512/checkbox-on-1-01-128.png" />')

Nicolas

ca fonctionne egalement, mais comme tu disais, uniquement sur web, pas sur le phone

then 
  fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", '<img height="48" width="48" src="https://cdn1.iconfinder.com/data/icons/ui-icons-2/512/checkbox-on-1-01-128.png" />')
  --fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", "MARCHE")
else
  fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", '<img height="48" width="48" src="https://cdn1.iconfinder.com/data/icons/ui-icons-2/512/checkbox-off-1-01-128.png" />')
  --fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label4.value", "ARRET")
end
Lien vers le commentaire
Partager sur d’autres sites

est il possible dans le message, qu'au lieu d'afficher T°consigne + hysteresis, il m'affiche le resultat? exemple: la T° sonde de 20° est < 21-0.3 ====== T°sonde de 20° est < 20.7°

 

msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< "..tonumber(fibaro:getGlobalValue('consigneT')).. " - "..tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"

 

Il s'agit juste de réaliser la soustraction au lieu de concatener un chiffre, un moins et un chiffre ;)

msg = "Chaudière ON "..tonumber(fibaro:getValue(id['TEMPERATURE'], 'value')).. "< ".. tonumber(fibaro:getGlobalValue('consigneT'))- tonumber(fibaro:getGlobalValue('hysteresis')).. " depuis 1 minute Mode AUTO"

Nicolas

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Salut Nico, ca fonctionne tres bien

merci

il me reste à  ajouter des couleurs :)

et j'aimerai simplifier l'hysteresis sur le VD, il prends "2 labels" d'affichage, de plus le code que j'ai recup n'est pas tres net pour moi

ce serait bien de tout réunir dans le même label et de pouvoir également mettre un hysteresis de 0 mini à  1,5 max

 

--[[
%% autostart
%% properties
%% globals
--]]
local statut = fibaro:getGlobalValue('SceneON')
local icon = { AUTO = 105 , MANU = 106 } 
local hysteresis;
local id = {};
id.display = 123;

function round(num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
local w = round((3+(_sliderValue_)*(19-3)/100)/10, 1);
--fibaro:setGlobal("hysteresis", "value")
fibaro:setGlobal("hysteresis", w)
--fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label3.value", w)
local hysteresis;
local id = {};id.display = 123;
  -- on va renseigner la variable "hysteresis"
fibaro:setGlobal('hysteresis', fibaro:getGlobalValue('hysteresis'));
hysteresis= fibaro:getGlobal("hysteresis");
fibaro:debug(hysteresis);
  -- puis on affiche la valeur de la variable dans le champs hysteresis label3
fibaro:call(id.display, "setProperty", "ui.Label3.value", hysteresis.." °C");
 -- et on repasse l'icon en haut a droite en mode initial 
if (statut == "ON")
then -- Mode AUTO
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icon['AUTO']) 
else
-- Mode MANU
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icon['MANU']) 
end
Lien vers le commentaire
Partager sur d’autres sites

Désolé mais là  je ne comprends pas trop ce que tu veux faire.... Tu veux supprimer le Label "HYSTERESIS" et que la valeur apparaisse au niveau du slider, c'est à  dire avoir 0/3 au lieu de 0/100 ? Si c'est le cas je ne pense pas que cela soit possible.

 

Quant à  ton bout de code à  moins d'avoir loupé un truc, tu calcules ton hysteresis dans la variable w puis tu la stockes dans une VG hysteresis pour la récupérer ensuite pour la remettre dans le label. Tu pourrais limiter déjà  à :

--[[
%% autostart
%% properties
%% globals
--]]
local statut = fibaro:getGlobalValue('SceneON')
local icon = { AUTO = 105 , MANU = 106 }
local id = {};
id.display = 123;
 
function round(num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end

-- Calcul Hysteresis en fonctionde la valeur du slider
local hysteresis = round((3+(_sliderValue_)*(19-3)/100)/10, 1);

-- Stockage dans variable Globale  "hysteresis"
fibaro:setGlobal('hysteresis', hysteresis);

fibaro:debug("Valeur Hysteresis: ".. hysteresis)

-- puis on affiche la valeur de la variable dans le champs hysteresis label3
fibaro:call(id.display, "setProperty", "ui.Label3.value", hysteresis.." °C");

 -- et on repasse l'icon en haut a droite en mode initial
if (statut == "ON")
then -- Mode AUTO
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icon['AUTO'])
else
-- Mode MANU
fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", icon['MANU'])
end

Nicolas

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

en effet, c'est plus propre comme ça.

oui, pour le slider, tu as bien compris, à  voir maintenant si c'est possible

 

je souhaiterai que le label 3 disparaisse, il faudrait que l'info du label 3 (exemple: 0,3°) soit affichée dans le slider à  la place de 0/100

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...