Behöver hjälp med en lampscen..

Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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? :)
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
alexndr
Medlem
Posts: 420
Joined: 14 Jul 2016, 14:38
7

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() )
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

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
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

Ska testa lite mer ikväll, har missat ditt inlägg RH_Dreambox.
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

Har provat diverse "if" satser och TimeOfDay.
Men lampan slår av via timern fast lampan är påslagen.
Nu ger jag upp.
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Å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
Last edited by RH_Dreambox on 31 Jan 2017, 09:33, edited 3 times in total.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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.
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

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.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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: )
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

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.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

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:
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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! :)
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

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 ;)
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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 :)
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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 :)
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

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.
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
Fredrik85
Medlem
Posts: 67
Joined: 24 Jan 2016, 17:05
8

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?
/Mvh Fredrik

Fibaro HC2.
Mest saker från Fibaro, sen lite blandat av diverse märken.
Post Reply