Problem med första kodningen

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
dantiberg
Medlem
Posts: 37
Joined: 18 Feb 2015, 13:17
9

Hej alla,
Jag försöker lära mig LUA men får inte till en enkel sak.
Jag har jobbat som c# knackare i 10år och löser inte detta(pinsamt) :)

Jag gör kanske inte det snyggaste nu men koden är mest för lära mig.
Jag vill att det ska hoppa in i rätt if/elseif om tiden är rätt.
allt från 0 till 6:00 fungerar men så fort man går förbi så "Gryning" ska skrivas så slutar det fungera och "natt4" visas.
Tar jag bort "and currentTime < morningStartTime" så får jag "Gryning".
Har jag fel syntax eller ser ni något härligt "rookie mistake" :)

Så här ser min kod ut just nu:

Code: Select all

--[[
%% autostart
%% properties
%% globals
--]]
--kill any extra instances of the same scene
if (fibaro:countScenes() > 1) then fibaro:abort() end
--Loopa alltid
while true do
	local currentDate = os.date("*t");
  	local currentTime=string.format("%02d", currentDate.hour) .. "." .. string.format("%02d", currentDate.min)
	local nightStartTime= fibaro:getGlobalValue("NightStartTime")	
  	-- nightStartTime är 0
  	local dawnStartTime= fibaro:getGlobalValue("DawnStartTime")
  	-- dawnStartTime är 6.30
  	local morningStartTime= fibaro:getGlobalValue("MorningStartTime")
  -- morningStartTime är 10
  	local afternoonStartTime= fibaro:getGlobalValue("afternoonStartTime")
  -- afternoonStartTime är 13
  	local eveningstartTime= fibaro:getGlobalValue("EveningstartTime")
  -- eveningstartTime är 19
  
  --skriver över för testning
  currentTime="6:45"
  fibaro:debug(currentTime)
  
  if(currentTime >= nightStartTime and currentTime < dawnStartTime)then
	fibaro:debug(dawnStartTime .." = Natt")
    
  elseif(currentTime >= dawnStartTime and currentTime < morningStartTime)then
  fibaro:debug(morningStartTime .." = Gryning"); 
  
  elseif(currentTime>=morningStartTime and currentTime<afternoonStartTime)then
  fibaro:debug(dawnStartTime .." = Förmidag")  
  
  elseif(currentTime>=afternoonStartTime and currentTime<eveningstartTime)then
  fibaro:debug(dawnStartTime .." = Eftermidag")  
  
  else
      fibaro:debug(morningStartTime .." = natt4")
  end
end
dantiberg
Medlem
Posts: 37
Joined: 18 Feb 2015, 13:17
9

helt klar en rookie jag hade gjort :) missade min "testtid"

bytte currentTime="6:45"
till currentTime="6.45" notera punkten och inte ":"
Post Reply