Page 1 of 2

Behöver hjälp med en lampscen..

Posted: 31 Dec 2016, 00:12
by Fredrik85
Jag har en rörelsesensor som slår på en lampa och som släcks efter 3 minuter, om klockan är mellan 23.59 på kvällen till 05.15 på morgonen.
Och om lampan redan är på under denna tid och sensorn registrerar rörelse så slocknar den ju efter 3 minuter vilken jag inte vill.
Har kollat runt lite men vet inte hur jag ska göra, någon vänlig själ som vill hjälpa mig så jag inte bli knäpp på riktigt? :lol:

Hur får jag in det i koden jag har omgjort från en blockscen?
Eller kanske bättre att göra en helt ny scen?
Är ruskigt dålig på LUA men hade varit kul att lära sig lite :)
Koden jag har nu för att tända och släcka.

Code: Select all

--[[
%% autostart
%% properties
326 value
%% events
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
 ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "23", "59")) or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "05", "15"))) and (math.floor(os.time()/60)-math.floor(1482965940/60))%60 == 0 )
and
 ( tonumber(fibaro:getValue(326, "value")) > 0 )
)
then
	fibaro:call(166, "turnOn");
	setTimeout(function()
		fibaro:call(166, "turnOff");
	end, 180000)
end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
 ( (tonumber(os.date("%H%M")) >= tonumber(string.format("%02d%02d", "23", "59")) or tonumber(os.date("%H%M")) <= tonumber(string.format("%02d%02d", "05", "15"))) )
and
 ( tonumber(fibaro:getValue(326, "value")) > 0 )
or
startSource["type"] == "other"
)
then
	fibaro:call(166, "turnOn");
	setTimeout(function()
		fibaro:call(166, "turnOff");
	end, 180000)
end

end

Re: Behöver hjälp med en lampscen..

Posted: 08 Jan 2017, 23:24
by Fredrik85
Har läst runt lite och provat med en "if" sats men jag får det inte att fungera, så kör nu med scenen igen som jag la in i mitt första inlägg.
Någon som har tid såhär efter jul och nyårsstressen? :)

Re: Behöver hjälp med en lampscen..

Posted: 09 Jan 2017, 08:41
by alexndr
Ja, inled med en if- sats som kontrollerar om lampan redan är på. Om den är det gör inget (eller avbryt instansen med fibaro:abort() )

Re: Behöver hjälp med en lampscen..

Posted: 09 Jan 2017, 09:37
by RH_Dreambox
Testade du inte inlägget jag svarade på i går? Det verkar vara samma sak som du är ute efter.
http://www.zwaveforum.se/viewtopic.php?f=12&t=6305

Re: Behöver hjälp med en lampscen..

Posted: 09 Jan 2017, 15:40
by Fredrik85
Ska testa lite mer ikväll, har missat ditt inlägg RH_Dreambox.

Re: Behöver hjälp med en lampscen..

Posted: 29 Jan 2017, 01:14
by Fredrik85
Har provat diverse "if" satser och TimeOfDay.
Men lampan slår av via timern fast lampan är påslagen.
Nu ger jag upp.

Re: Behöver hjälp med en lampscen..

Posted: 29 Jan 2017, 13:22
by RH_Dreambox
Ånej, så lätt slipper du inte undan.
Jag har lagt in en koll på om lampan redan är tänd, så testa det här först ;)
Edit: Tiden 10 sek får du ändra efter behov. Jag satte kort tid för att snabbt kunna testa.

Code: Select all

--[[
%% autostart
%% properties
326 value
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
  ((tonumber(fibaro:getValue(326, "value")) > 0 ) and (tonumber(fibaro:getValue(166, "value")) == 0 ) and (os.date("%H:%M") > "23:59")  and (os.date("%H:%M") < "05:15") )
    )
  then
    fibaro:call(166, "turnOn");
   setTimeout(function()
      fibaro:call(166, "turnOff");
   end, 10*1000)
end

Re: Behöver hjälp med en lampscen..

Posted: 29 Jan 2017, 17:08
by Fredrik85
Nähä inte det ;)
Ok provar att byta ut hela min kod mot din och återkommer :)
RH_Dreambox wrote:Ånej, så lätt slipper du inte undan.
Jag har lagt in en koll på om lampan redan är tänd, så testa det här först ;)
Edit: Tiden 10 sek får du ändra efter behov. Jag satte kort tid för att snabbt kunna testa.

Code: Select all

%% autostart
%% properties
326 value  -- Sensor
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
  ((tonumber(fibaro:getValue(326, "value")) > 0 ) and (tonumber(fibaro:getValue(166, "value")) == 0 ) and (os.date("%H:%M") > "23:59")  and (os.date("%H:%M") < "05:15") )
    )
  then
    fibaro:call(166, "turnOn");
   setTimeout(function()
      fibaro:call(166, "turnOff");
   end, 10*1000)
end

Re: Behöver hjälp med en lampscen..

Posted: 30 Jan 2017, 01:37
by Fredrik85
Får det inte att funka.

Provade först med bara din scen.
Funkade inte.

Provade sen två scener, den jag har i mitt första meddelande och din scen i egen, då slog lampan av via timern fast lampan var på, men tändes vid rörelse.

Nu har jag lagt in båda i samma scen, nu släcks inte lampan om den redan är på vid rörelse.
Men lampan tänds inte vid rörelse om den är av.

Re: Behöver hjälp med en lampscen..

Posted: 30 Jan 2017, 13:01
by RH_Dreambox
Provade först med bara din scen.
Funkade inte.
Konstigt, jag testade scenen i mitt garage och den funkade klockrent.
Om ljuset redan var tänt, så förblev ljuset tänt. Om ljuset var släckt så tändes det och släcktes efter utsatt tid.

Om du har bytt ID på brytaren så tänk på att brytar-ID skall ändras på tre ställen.
Det andra som kan krångla är tidsangivelserna (> "23:59" resp. < "05:15"). Testar du utanför dessa klockslag händer inget.

EDIT:
Jag såg att den första kodraden inte fanns med i mitt skript. Det var nog det som ställde till det. Testa igen.
Första raden skall vara --[[ , men det hade du kanske redan sett.

Jag har nu kopierat in den i mitt inlägg ovan.

Re: Behöver hjälp med en lampscen..

Posted: 30 Jan 2017, 17:43
by Fredrik85
RH_Dreambox wrote:
Provade först med bara din scen.
Funkade inte.
Konstigt, jag testade scenen i mitt garage och den funkade klockrent.
Om ljuset redan var tänt, så förblev ljuset tänt. Om ljuset var släckt så tändes det och släcktes efter utsatt tid.

Om du har bytt ID på brytaren så tänk på att brytar-ID skall ändras på tre ställen.
Det andra som kan krångla är tidsangivelserna (> "23:59" resp. < "05:15"). Testar du utanför dessa klockslag händer inget.

EDIT:
Jag såg att den första kodraden inte fanns med i mitt skript. Det var nog det som ställde till det. Testa igen.
Första raden skall vara --[[ , men det hade du kanske redan sett.

Jag har nu kopierat in den i mitt inlägg ovan.
Verkar vara ett litet mysterium.

Jag upptäckte att --[[ fattades men det funkade inte ändå.
Ska testa mer ikväll, ska radera min scen och klistra in endast din kod ovanför i en ny scen igen.
ID för brytaren är fortförande 166, och rörelsesensorn 326.

Jag återkommer en gång till ikväll (blir nog fler :lol: )

Re: Behöver hjälp med en lampscen..

Posted: 30 Jan 2017, 18:24
by RH_Dreambox
Testa gärna en annan tid utifall det är den som spökar, tex. aktiv mellan kl. 19:00 till 21:00 (var noga med > och < ).

Code: Select all

(os.date("%H:%M") > "19:00")  and (os.date("%H:%M") < "21:00")
EDIT:
Funkar ovanstående tid så ändra dina tider till:

Code: Select all

(os.date("%H:%M") > "00:00")  and (os.date("%H:%M") < "05:15")
Jag tror att felet finns i tidsangivelsen.

Re: Behöver hjälp med en lampscen..

Posted: 30 Jan 2017, 21:55
by Fredrik85
Det funkar verkligen inte för mig :?
Lampan tänds inte om den är släckt och rörelse detekteras, om lampan är på så slår den inte av via timern iaf.
Har ju en några scener som slår av och på fönsterbelysningen slumpmässigt med dom scenerna körs ju inte förens om flera timmar.
Har provat att starta om HC2 med.

Code: Select all

--[[
%% autostart
%% properties
326 value  -- Sensor
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
  ((tonumber(fibaro:getValue(326, "value")) > 0 ) and (tonumber(fibaro:getValue(166, "value")) == 0 ) and (os.date("%H:%M") > "15:00")  and (os.date("%H:%M") < "23:00") )
    )
  then
    fibaro:call(166, "turnOn");
   setTimeout(function()
      fibaro:call(166, "turnOff");
   end, 10*1000)
end

Re: Behöver hjälp med en lampscen..

Posted: 31 Jan 2017, 09:41
by RH_Dreambox
Det är nog mitt fel att koden inte funkar :oops:

Jag brukar lägga till noteringar (remarks) på en del kodrader, men det verkar inte gå att göra så på "triggers" under %%properties.
Så ta bort texten " -- Sensor" på fjärde raden så att det bara står "326 value" på den raden. Jag ber så väldigt mycket om ursäkt för all den frustration det orsakat dig, men vi har samtidigt lärt oss något av detta. :lol:

Re: Behöver hjälp med en lampscen..

Posted: 31 Jan 2017, 18:09
by Fredrik85
Men din......! Nej då skojar bara ;)
Nu verkar det fungera! Får kolla sen om det funkar även mellan dom tänkta tiderna men får prova mig fram lite där annars.

Blev så fundersam då samma kod inte funkade för mig.
Så funderade på om det kunde ha med min FW att göra då jag läst att vissa fått bekymmer med scener.

Tackar och bockar för hjälpen! :)

Re: Behöver hjälp med en lampscen..

Posted: 31 Jan 2017, 19:36
by RH_Dreambox
Puhhh!
Det var väl för väl att det funkade till slut! Det var lite skämmigt det här med "remark". :oops: :oops:
Jag hade lagt till den i mitt skript också, men inte kollat funktionen efter det. När jag nu kollade igen såg jag att det inte funkade.
Shit happen ;)

Re: Behöver hjälp med en lampscen..

Posted: 31 Jan 2017, 20:33
by Fredrik85
Det är väl ingen fara!
Det är väl jag som ska skämmas för att man är i var och varannan avdelning och ställer massa frågor stup i ett :lol:
Men brukar testa mig fram först ifall man hittar en lösning, ibland går det, ibland inte.
Tur att det finns hjälp att få när det tar stopp :)

Re: Behöver hjälp med en lampscen..

Posted: 04 Feb 2017, 01:25
by Fredrik85
Scenen funkar helt perfekt nu, ändrade till klockan 00.00 som du sa :)
Men varför går det inte med klockan 23.59?
Inte för att den minuten spelar någon roll, bara lite nyfiken och bra att veta ifall man trixar med någon ny scen med tider :)

Re: Behöver hjälp med en lampscen..

Posted: 04 Feb 2017, 10:15
by RH_Dreambox
Med lite mer kod går det med andra tider också, men det är ett matematiskt problem.
Större än kl. 00:00 och mindre än 05:15 är inget problem då det rör sig om 5 tim och 15 min.

Men skriver du större än 23:59 och mindre än 05:15 så blir det problem eftersom 23:59 är större än 05:15. Det blir inget tidsintervall.
Jag vet inte hur klocklogiken fungerar i LUA, men om vi utökar tidsintervallet före tolvslaget så skulle jag nog skriva:
Om klockan är större än 22:30 och mindre än 23:59 eller om klockan är större än 00:00 och mindre än 05:15.
Lite krångligare men jag vet inget annat sätt.

Re: Behöver hjälp med en lampscen..

Posted: 04 Feb 2017, 10:31
by Fredrik85
Aha! Om man då leker med tanken att man vill scenen ska börja vid 22.30 till 05.15, går det då att köra koden två gånger i samma scen, 22.30-23.59 och 00.00-05.15?
Eller måste man köra två separata scener med tiderna?