Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

LUA som ikke fungerer som den skal


Anbefalte innlegg

Heisann, 

 

Prøver å programere (for første gang) og alt ser veldig logisk ut men fungerer likevel ikke. Kanskje noen kan hjelpe? 

 

Problemet;

 

Når jeg bruker

fibaro:call(8, "setValue", "80")

Så skrur lyset seg på til 80% noe som er perfekt. 

 

MEN, tidligere i koden har jeg noe som deklarerer en value som i følge debuggen fungerer. Denne står foran denne neste delen; 

if (globalLightOn == '1') then
fibaro:call(8, "setValue", "80") 
end

 

Så i følge debug så er globalLightOn = 1, den står foran den ovenfor if statementen men allikevel så vil ikke lyset gå på. Jeg legger ved hele koden jeg har skrevet, men merk at mye er commenta ut for jeg jobber med å finne ut hvorfor jeg ikke får sette value til ting som er etter den if statementen som dere ser over.

 

Hva koden skal gjøre (jeg vil den skal gjøre det er); 

Når scenen aktiveres og en eller flere av lampene lyser så skal resten også skrus på. Hvis scenen aktiveres og alle lampene er av skal de skrus på, hvis scenen aktiveres og alle lampene er på skal de skrus av. Nå i første omgang prøver jeg bare å finne ut hvorfor lyset skrur seg på når den fibaro:call funksjonen står utenfor en if statement som er true. Jeg har også prøvd å sette globalLightOn til 1 for å se om det var noe kluss der... Funker ikke

 

--[[
%% properties
%% events
%% globals
--]]
 
local globalLightOn
local globalLightOff
local globalLightAllOn

local hallway=fibaro:getValue(18,'value') --Dimmer gang
local livingroom=fibaro:getValue(8,'value')  --Dimmer stue
local kitchen=fibaro:getValue(13,'value') --Dimmer kjøkken
local bedroom=fibaro:getValue(58,'value') --Dimmer soverom


fibaro:debug('Room variables:')
fibaro:debug('Hallway:')
fibaro:debug(hallway)
fibaro:debug('Livingroom:')
fibaro:debug(livingroom)
fibaro:debug('Kitchen:')
fibaro:debug(kitchen)
fibaro:debug('Bedroom:')
fibaro:debug(bedroom)


if hallway >= '1' or livingroom >= '1' or kitchen >= '1' or bedroom >= '1' then
  globalLightOn=1
  else
  globalLightOn=0
  end

fibaro:debug('Global light on:')
fibaro:debug(globalLightOn)


--if hallway <= '1' and livingroom <= '1' and kitchen <= '1' and bedroom <= '1' then
--  globalLightOff=1
--  else
--  globalLightOff=0
--  end
  
--fibaro:debug('Global light off:')
--fibaro:debug(globalLightOff)


--if hallway >= '1' and livingroom >= '1' and kitchen >= '1' then
--  globalLightAllOn=1
--  else
--  globalLightAllOn=0
--  end

--fibaro:debug('Global light all on:')
--fibaro:debug(globalLightAllOn)

if (globalLightOn == '1') then
fibaro:call(8, "setValue", "80") 
end

--if (globalLightOn == '1') then
--  fibaro:debug('Setting all lights to 80 as more than one light was on')
--  fibaro:call(18, "setValue", "80")
--  fibaro:call(8, "setValue", "80")
--  fibaro:call(13, "setValue", "80")
--end
  

--if (globalLightOff == '1') then
--  fibaro:debug('Setting all lights to 80 as all lighs were off')
--  fibaro:call(18, "setValue", "80")
--  fibaro:call(8, "setValue", "80")
--  fibaro:call(13, "setValue", "80")
--end

--if (globalLightAllOn == '1') and (globalLightOn == '1') then
--  fibaro:call(18, "setValue", "80")
--  fibaro:call(8, "setValue", "80")
--  fibaro:call(13, "setValue", "80")
--end

 

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.