Timer?

Post Reply
Towanda
Medlem
Posts: 58
Joined: 28 Feb 2015, 17:29
9

Hej!

Jag har efter 3 år med HC2 ännu inte lyckats få en fungerande timerfunktion i en scen.

Som jag förstått det ska man skapa en global variabel som heter timer och sedan hänvisa till den och sätta den tid som man vill den ska ticka ner men jag får det inte att funka.

Finns det någon som kan förklara hur det hela funkar. Hittar inget utförlig beskrivning någonstans så antagligen är det lätt men jag lyckas inte fatta hur man gör :oops:
FredrikKarlsson
Medlem
Posts: 65
Joined: 08 Aug 2016, 20:21
7

Är det en timer som t.ex stänger av en brytare en viss tid efter det att den slogs på som du är ute efter alltså? Vilken brytare har du?
Towanda
Medlem
Posts: 58
Joined: 28 Feb 2015, 17:29
9

Jag har diverse brytare, fibaro relay switch, qubino, fibaro wall plug, duwi ip 44 några aeotech mm.

Det är framförallt i en blockscen där jag vill att en rörelsesensor tänder några lampor jag vill använda timer då LUA är lite för komplicerat för mig men jag jobbar på så sakteliga för att lära mig.
FredrikKarlsson
Medlem
Posts: 65
Joined: 08 Aug 2016, 20:21
7

Ok, Fibaros brytare har en auto-off funktion, så det löser problemet för dem. Sätt tiden som den ska vänta innan den ska slå av sig i en av inställningarna under avancerat på enheten. Du måste dock också sätta manual override enabled, för annars kan du inte släcka manuellt på knappen, vilket sällan är det man vill ha.
Jag tror att Qubino också har en auto-off-funktion.

Scener - titta på magic scenes istället om du inte gillar lua. Om jag kommer ihåg det rätt så kan man sätta upp en scen där rörelsesensorn triggar on på lampan. En annan scen kan sedan triggas på " det var x minuter sedan senaste händelse" och sedan skicka off på den. Borde fungera.
maxxar
Medlem
Posts: 126
Joined: 06 Sep 2012, 13:30
11

Jag har en timer scen som du kanske kan kika lite på och ev. använda något av...
Den styr även en globalvariabel som används för andra scener

Mina lua skills är inte direkt bra så koden är säkert inte jättebra skriven, men den gör det den ska för mig iaf :)

Code: Select all

--[[
%% autostart
%% properties
1179 value
%% globals
--]]
-- Denna scen stänger av bordslampa efter 540 sek och den sätter även en 
-- globalvariabel KoksTimerAktiv till Ja när timern är aktiv och Nej när timern har löpt ut.

local sensor = 1179
local light = 361
local time = 540

local counter = time;

if (fibaro:countScenes()>1) then -- Kolla så scenen bara körs en gång 
  fibaro:debug('Ta bort dublett scen!')
  fibaro:abort();
end

fibaro:debug ("Sensor ID "..sensor .. " value är " .. fibaro:getValue(sensor, "value")); 
if( tonumber(fibaro:getValue(sensor, "value")) > 0 )

then
fibaro:setGlobal("KoksTimerAktiv", "Ja");
fibaro:debug("Sätter globalvariabel KoksTimerAktiv till Ja")
while(counter > 0)
do
counter=counter-1;
fibaro:sleep(1000);
fibaro:debug("Nedräkning, " ..counter .. " sekunder kvar tills bordslampa släcks")
if
tonumber(fibaro:getValue(sensor, "value")) > 0

then
counter = time;

end
end
fibaro:call(light, "turnOff")
fibaro:debug("Släcker bordslampa")
fibaro:setGlobal("KoksTimerAktiv", "Nej");
fibaro:debug("Sätter globalvariabel KoksTimerAktiv till Nej")
end
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
10
Location: Västerås

Annars så kan jag föreslå GEA, där har du hu mycket möjligheter som helst :)
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
Towanda
Medlem
Posts: 58
Joined: 28 Feb 2015, 17:29
9

Tack för tips och koder :) Men ni ligger långt före mig, jag är fast vid att skapa en variabel som heter Timer, vad ska man sätta för värde på den?

Eller behöver man inte skapa en variabel som heter Timer?

Har tittat på GEA men det var totalt omöjligt att förstå för mig :?
GustavB
Medlem
Posts: 75
Joined: 16 Apr 2016, 08:20
7

Förslag på blockscen:

Om
Rörelsesensor = överträdd
Därefter
Lampa hall = Turn On
Därefter
Lampa hall = Turn Off 600s

Fungerar inte det?
FredrikKarlsson
Medlem
Posts: 65
Joined: 08 Aug 2016, 20:21
7

GustavB wrote:Förslag på blockscen:

Om
Rörelsesensor = överträdd
Därefter
Lampa hall = Turn On
Därefter
Lampa hall = Turn Off 600s

Fungerar inte det?
Jag tror man oftast brukar vilja ha en scen som kan hantera situationen där du går in i rummet, går ut igen och 595 sekunder senare går in i rummet igen och inte får stå i ett mörkt rum på grund av att timern går ut. Man vill kunna starta om timern varje gång man går in igen.
pos
Medlem
Posts: 89
Joined: 03 Feb 2017, 02:20
7

Här kanske du kan få idéer ifrån.
http://www.incedo.eu/~sjoholmp/Fibaro_H ... ensors.lua
eller
http://www.incedo.eu/~sjoholmp/Fibaro_H ... ensors.lua

Där hanteras exakt timer (ej beroende av loopar som inte är exakt då varje kommando i loopen tar tid), reset av timer när dörr eller rörelse detekteras samt delaytid om man aktivt släcker lampa på knapp så den inte tänds igen innan du hinner ur synfältet för rörelse sensorn. Även ljuset i lux är med om man vill som en parameter.

/Peo
GustavB
Medlem
Posts: 75
Joined: 16 Apr 2016, 08:20
7

FredrikKarlsson wrote:
Jag tror man oftast brukar vilja ha en scen som kan hantera situationen där du går in i rummet, går ut igen och 595 sekunder senare går in i rummet igen och inte får stå i ett mörkt rum på grund av att timern går ut. Man vill kunna starta om timern varje gång man går in igen.

Borde inte scenen köras om om den blir överträdd inom 600s?
hsn
Medlem
Posts: 30
Joined: 20 Nov 2014, 20:09
9
Location: Stockholm

Kolla in denna tråd.
Den fungerar fint för min del

http://www.zwaveforum.se/viewtopic.php?t=5043

Med timmer som börjar om vid varje ny rörelse

Skickat från min SM-G930F via Tapatalk
FredrikKarlsson
Medlem
Posts: 65
Joined: 08 Aug 2016, 20:21
7

GustavB wrote:
FredrikKarlsson wrote:
Jag tror man oftast brukar vilja ha en scen som kan hantera situationen där du går in i rummet, går ut igen och 595 sekunder senare går in i rummet igen och inte får stå i ett mörkt rum på grund av att timern går ut. Man vill kunna starta om timern varje gång man går in igen.

Borde inte scenen köras om om den blir överträdd inom 600s?
Jo, så klart. Men om en instans av scenen redan har triggats och räknar ner sin timer, och du kör igång ytterligare en instans genom att gå in i rummet igen, så kommer den första att räkna ner sig så småningom och släcka lampan även om scen nr 2 precis bara har börjat räkna ner.

I lua kan man läsa problemet genom att spara lastbreached- värdet, och kolla om det ändrats sedan när scenen vill släcks lampan. Är inte tiden lastbreached densamma längre så ska scenen inte släcka lampan helt enkelt, utan låta en anna instans göra det när dess nedräkning gått till 0. I block-scener ser jag inte hur man skulle lösa det.
Post Reply