Aller au contenu

time et variable local


Messages recommandés

Posté(e) (modifié)

encore une  chose 

 

si je shouait rajouter une 2emme LABEL pour le off

local heure2 = fibaro:getValue(423, "ui.lblTime2.value")

faut il crée une nouvelle scène il est possible dans la même scène

Modifié par 971jmd
Posté(e)
--[[
%% properties
423 ui.lblTime.value
423 ui.lblTime2.value
%% events
%% globals
--]]

function tempFunc()
	local currentDate = os.date("%H:%M")
	local heure = fibaro:getValue(423, "ui.lblTime.value")
	local heure2 = fibaro:getValue(423, "ui.lblTime2.value"
    
  	if currentDate == heure	then fibaro:call(14, "turnOn") end
    if currentDate == heure2	then fibaro:call(14, "turnOff") end

	setTimeout(tempFunc, 60*1000)
end

tempFunc(
[DEBUG] 10:40:13: [1;31m2018-08-20 09:40:13.076381 [ fatal] Unknown exception: /opt/fibaro/scenes/226.lua:14: ')' expected (to close '(' at line 12) near 'if'
[DEBUG] 10:40:13: [1;31m2018-08-20 09:40:13.285379 [ fatal] Unknown exception: /opt/fibaro/scenes/226.lua:14: ')' expected (to close '(' at line 12) near 'if'
[DEBUG] 10:40:13: [1;31m2018-08-20 09:40:13.793386 [ fatal] Unknown exception: /opt/fibaro/scenes/226.lua:14: ')' expected (to close '(' at line 12) near 'if'

le DEBUG s'énerve 

Posté(e)

j'ai beaucoup de mal avec le LUAje suis GEA :rolleyes:

 

donc j'ai beaucoup de difficulté avec le LUA

 

si vous avez une site web pour m'aider a apprendre LUA fiabro 

Posté(e)

setTimeOut prend en paramètre :

 

1) la function a exécuté

2) la durée en millièmes de secondes

 

Donc oui, 1 minute = 1000 millièmes de secondes * 60

  • Like 1
Posté(e) (modifié)

pour faire plus propre, 

 

je souhaite placée le code dans la Boucle principale de la VD mai ça ne fonctionne pas, j'ai pas d'erreur dans le debug mai rien ne ce passe 

je sais  qu'il y quel différence avec une scène 

local alarmClockDevice = fibaro:getSelfId()


function tempFunc()
	local currentDate = os.date("%H:%M")
	local heure = fibaro:getValue(alarmClockDevice, "ui.lblTime.value")
  print(heure)
	local heure2 = fibaro:getValue(alarmClockDevice, "ui.lblTime2.value")
  print(heure2)
    
  	if currentDate == heure	then fibaro:call(14, "turnOn") end

    if currentDate == heure2 then fibaro:call(14, "turnOff") end

	setTimeout(tempFunc, 60*1000)
end

 

 

Modifié par 971jmd
Posté(e)

ou ça je sais pas si le setTimeout fonctionne dans la boucle Main d'un VD.

 

Celui-ci tourne déjà en boucle naturellement.

 

Pas de print dans les VD, mais fibaro:debug()

 

donc

 

local currentDate = os.date("%H:%M")
local heure = fibaro:getValue(alarmClockDevice, "ui.lblTime.value")
fibaro:debug(heure)
local heure2 = fibaro:getValue(alarmClockDevice, "ui.lblTime2.value")
fibaro:debug(heure2)

if currentDate == heure	then fibaro:call(14, "turnOn") end
if currentDate == heure2 then fibaro:call(14, "turnOff") end
×
×
  • Créer...