kjetilhansen Skrevet 23. august 2019 Skrevet 23. august 2019 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 Siter
kjetilhansen Skrevet 23. august 2019 Forfatter Skrevet 23. august 2019 Fikk hjelp på reddit. Hvis noen lurer så er ikke 1 det samme som `1` og alt som skulle til for å fikse var å sette `` på hver side av tallene Siter
Anbefalte innlegg
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.