Hejsan
någon som kan hjälpa mig med att ändra ikonen på en virtuell enhet berroende på om en specifik variable är ett eller noll?
förmodar att detta måste göras i lua, vet vet ej hur =(
Ändra ikon beroende på variables tillstånd
jompa68 wrote:Hur ser din kod ut för den virtuella enheten? Behöver även id på label och själva virtuella enheten.
jag har inte skrivit den än, jag skulle egentligen bara behöva en virtuell enhet med två knappar (Larm av/ larm på)
så jag sätter en variabel till ett (kalla den vad som) om larmet är på, och om larmet är av sätter jag samma variabel till noll.
så inte något jätte inveklat, skulle bara vilja ha 2 olika ikoner beroende på om larmet var av eller på =)
jompa68 wrote:Hur ser din kod ut för den virtuella enheten? Behöver även id på label och själva virtuella enheten.
--[[
%% properties
%% globals
--]]
if fibaro:getGlobal("Home") == "0"
then fibaro:setGlobal("Home", "1")
elseif fibaro:getGlobal("Home") == "1"
then fibaro:setGlobal("Home", "0")
end
koden för knappen i enheten
enhetens id: 19
label id: Label1
räcker det för att du ska kunna hjälpa mig? =)
Prova detta, ska nog fungera.
Code: Select all
function getIcon(value)
if(variable == 0) then return 1070 -- ikonens id
elseif(variable == 1) then return 1071 -- ikonens id
else return 1073 end -- okänt värde, ikonens id
end
local variable = fibaro:getGlobalValue("Home")
fibaro:call(243, "setProperty", "currentIcon", getIcon(value));
jompa68 wrote:Prova detta, ska nog fungera.
Code: Select all
function getIcon(value) if(variable == 0) then return 1070 -- ikonens id elseif(variable == 1) then return 1071 -- ikonens id else return 1073 end -- okänt värde, ikonens id end local variable = fibaro:getGlobalValue("Home") fibaro:call(243, "setProperty", "currentIcon", getIcon(value));
Tusen tack det ska jag prova
Hur får jag fram id på ikonen :$
Hittar inte det *skäms*
jompa68 wrote:HTTP://hc2_ip/api/icons där ser du alla id på alla ikoner, sen är det bara att para ihop. Sista id = sista ikonen
näst sista id = näst sista ikonen osv
Jonny sent this from his iPhone using Tapatalk
tackar, hittade det nu =) dock verkar det inte fungera, den ändrar bilden men endast till okänt värde, någon ide vad det kan vara?
här är hela koden
if fibaro:getGlobal("Home") == "0"
then fibaro:setGlobal("Home", "1")
elseif fibaro:getGlobal("Home") == "1"
then fibaro:setGlobal("Home", "0")
end
function getIcon(value)
if(variabel == 0) then return 1006-- ikonens id
elseif(variable == 1) then return 1007-- ikonens id
else return 1000 end -- okänt värde, ikonens id
end
local variable = fibaro:getGlobalValue("Home")
fibaro:call(19, "setProperty", "currentIcon", getIcon(value));
missat något kanske? :S
-
- Site Admin
- Posts: 276
- Joined: 10 Dec 2011, 11:43
- 12
Det är även felstavat här, "variabel"
if(variabel == 0) then return 1006-- ikonens id
elseif(variable == 1) then return 1007-- ikonens id
Så här ska det vara:
Code: Select all
function getIcon(value)
if(variable >= 1) then return 1006-- ikonens id
else return 1000 end -- okänt värde, ikonens id
end
local variable = tonumber(fibaro:getGlobalValue("Home"))
fibaro:call(19, "setProperty", "currentIcon", getIcon(value));
jompa68 wrote:Så här ska det vara:Code: Select all
function getIcon(value) if(variable >= 1) then return 1006-- ikonens id else return 1000 end -- okänt värde, ikonens id end local variable = tonumber(fibaro:getGlobalValue("Home")) fibaro:call(19, "setProperty", "currentIcon", getIcon(value));
Tusen tack för all hjälp