Hej,
Misstänker att med LUA kan man skapa ett script som stänger av t.ex en wall plugg efter x antal minuter.
Praktisk för t.ex kaffemaskinen.
Hur skulle ett sådant script se ut?
/Patrik
Wall plug - Timer
Nåt sånt här kanske
Code: Select all
--[[
%% properties
7 value
%% globals
--]]
-- Ändra 7 till det ID som din wallplugg har
local onlineTimer = 60 -- 60 minuter (ändra till önskat värde)
if fibaro:getValue(7, "value") == "1" then
fibaro:sleep(onlineTimer*60*1000);
fibaro:call(7, "turnOff");
end
Nedan kod fixade mitt problem
--[[
%% properties
40 value -- your ID
%% globals
--]]
local ID = 40 -- your id
local TimeDelaySeconds = 900
local LoopTimeDelay = 0
if fibaro:countScenes() > 1
then
fibaro:abort()
end
while LoopTimeDelay < TimeDelaySeconds do
fibaro:sleep(1000)
LoopTimeDelay = LoopTimeDelay + 1
if fibaro:get(ID,'value') == '0'
then
fibaro:sleep(500)
fibaro:abort()
end
end
fibaro:call(ID,'turnOff')
--[[
%% properties
40 value -- your ID
%% globals
--]]
local ID = 40 -- your id
local TimeDelaySeconds = 900
local LoopTimeDelay = 0
if fibaro:countScenes() > 1
then
fibaro:abort()
end
while LoopTimeDelay < TimeDelaySeconds do
fibaro:sleep(1000)
LoopTimeDelay = LoopTimeDelay + 1
if fibaro:get(ID,'value') == '0'
then
fibaro:sleep(500)
fibaro:abort()
end
end
fibaro:call(ID,'turnOff')
Men vart det där rätt - väntar den inte 7200 sekunder innan den slår på kaffebryggaren och sedan stänger av? Jag har iofs inte testat just denna variant, men jag har tolkat det så att om man skriver en tid i det röda fältet så fördröjs kommandot som sitter till vänster med den tiden - och om min tolkning är korrekt så kommer i praktiken inget kaffe någonsin?Nex wrote:Eller varför inte bara med enklast möjliga scen?
Kör Home Assistant efter totalt nederlag för HomeSeer
Nope, enklast är att dubbelkolla, sätt på 10s så ser du vad som händer Men i det här fallet så väntar den i 7200 sekunder innan den går vidare från det röda fältet till "Därefter". Brukar tänka som så att rött betyder stopp i antal sekunder innan nästa steg börjar i scenen... Att jag satt den på 7200 sekunder beror på att jag har en 30kg tung maskin som behöver värmas upp länge innan man använder denBamsefar wrote:Men vart det där rätt - väntar den inte 7200 sekunder innan den slår på kaffebryggaren och sedan stänger av? Jag har iofs inte testat just denna variant, men jag har tolkat det så att om man skriver en tid i det röda fältet så fördröjs kommandot som sitter till vänster med den tiden - och om min tolkning är korrekt så kommer i praktiken inget kaffe någonsin?Nex wrote:Eller varför inte bara med enklast möjliga scen?
hmm, jag tar tillbaka det jag skrev och är numera lite osäker själv... Det blir nämligen ingen skillnad på scenen om du sätter 10s först eller 10s sen... Oavsett så stänger den av efter 10s... Så vad gör tiden egentligen, någon som kan förklara? Jag ville tro att det betydde något i stil med "if == on for 10s then..." men det kanske är "if == on then wait 10s and then"?
Jag testade med denna scen:
Denna scen, om man kör den, tänder lampan 10 sekunder efter trigger, och släcker den 20 sekunder efter trigger = lampan är tänd i 10 sekunder mellan sekund 10 och sekund 19. All tid utgår från trigger tiden...
Alltså, som jag misstänkte så fördröjs kommandot om man fyller i den röda tidsboxen.
Denna scen, om man kör den, tänder lampan 10 sekunder efter trigger, och släcker den 20 sekunder efter trigger = lampan är tänd i 10 sekunder mellan sekund 10 och sekund 19. All tid utgår från trigger tiden...
Alltså, som jag misstänkte så fördröjs kommandot om man fyller i den röda tidsboxen.
Kör Home Assistant efter totalt nederlag för HomeSeer
-
- Ny medlem
- Posts: 2
- Joined: 30 Dec 2013, 03:02
- 10
Jag hade gjort så här.
Det verkar räcka och funkar bra .Låter förnuftigt! Men va betyder det då om man sätter 10s efter rörelsesensorn? Vad betyder det? Att den väntar 10s med att köra sändningen "stäng av lampan" förstår jag men att den väntar 10s med att kolla om "rörelsesensorn är säker" stämmer ju inte? :/ Det kan ju inte betyda olika beroende vilken enhet eller? Jag har ju tex flera scener där jag stänger av lampor om det varit säkert i ett antal sekunder. Då har jag ju satt tiden på rörselsesensor för jag vill ju att det skall vara säkert i så många sekunder, inte att lampan skall släckas efter en viss tid om det varit säkert en gång? Förstår nog fortfarande inte vad tiden gör eller vart man skall skriva in den :/Bamsefar wrote:Jag testade med denna scen:
Denna scen, om man kör den, tänder lampan 10 sekunder efter trigger, och släcker den 20 sekunder efter trigger = lampan är tänd i 10 sekunder mellan sekund 10 och sekund 19. All tid utgår från trigger tiden...
Alltså, som jag misstänkte så fördröjs kommandot om man fyller i den röda tidsboxen.
Jag har en scen med en dörrsensor == säker och 240 sek. i det röda fältet efter. Detta innebär att dörren måste vara säker (stängd) i 4 minuter innan den utför efterföljande kommandon. Om jag öppnar dörren innan tiden löpt ut så avbryts scenen.Nex wrote:
Låter förnuftigt! Men va betyder det då om man sätter 10s efter rörelsesensorn? Vad betyder det? Att den väntar 10s med att köra sändningen "stäng av lampan" förstår jag men att den väntar 10s med att kolla om "rörelsesensorn är säker" stämmer ju inte? :/ Det kan ju inte betyda olika beroende vilken enhet eller? Jag har ju tex flera scener där jag stänger av lampor om det varit säkert i ett antal sekunder. Då har jag ju satt tiden på rörselsesensor för jag vill ju att det skall vara säkert i så många sekunder, inte att lampan skall släckas efter en viss tid om det varit säkert en gång? Förstår nog fortfarande inte vad tiden gör eller vart man skall skriva in den :/
Om man sätter 10 sek. efter rörelsesensorn så kanske det med samma resonemang kan innebära att den måste registrera rörelse i minst 10 sek. innan den t.ex. tänder en lampa?
Nej nej nej Nu har jag testat och sätt absolut inte tiden på sista variabeln!!! Följande kommer hända med kaffemaskinen: Om du sätter så som du skrivit nu kommer maskinen slås av efter 10 sekunder efter FÖRSTA gången maskinen slogs på! Dvs om du slår på maskinen, stänger av den i 5s och sedan slår på den igen så kommer scenen att stänga av maskinen efter 5 sekunder! Värdet har ju redan gått igenom och den väntar bara i 10 sekunder för att skicka en OFF signal, den bryr sig inte om du redan stängt av eller satt på maskinen igen! Därför MÅSTE du skriva in 10s i första rutan, då går inte scenen vidare såvida inte maskinen är på i 10 sekunder!
Det låter rimligt! Det fungerar ju då motsvarande min dörrsensor. Om dörren stängts och 240 sek. inte hunnit gå innan dörren öppnas igen så avbryts scenen. Stänger jag dörren på nytt så börjar tiden räkna från 0 igen. Så i kaffemaskinens fall så måste ju som sagt det rätta vara att sätta tiden på första variabeln.Nex wrote:Nej nej nej Nu har jag testat och sätt absolut inte tiden på sista variabeln!!! Följande kommer hända med kaffemaskinen: Om du sätter så som du skrivit nu kommer maskinen slås av efter 10 sekunder efter FÖRSTA gången maskinen slogs på! Dvs om du slår på maskinen, stänger av den i 5s och sedan slår på den igen så kommer scenen att stänga av maskinen efter 5 sekunder! Värdet har ju redan gått igenom och den väntar bara i 10 sekunder för att skicka en OFF signal, den bryr sig inte om du redan stängt av eller satt på maskinen igen! Därför MÅSTE du skriva in 10s i första rutan, då går inte scenen vidare såvida inte maskinen är på i 10 sekunder!
Absolut! Helt korrekt!Christian wrote:Det låter rimligt! Det fungerar ju då motsvarande min dörrsensor. Om dörren stängts och 240 sek. inte hunnit gå innan dörren öppnas igen så avbryts scenen. Stänger jag dörren på nytt så börjar tiden räkna från 0 igen. Så i kaffemaskinens fall så måste ju som sagt det rätta vara att sätta tiden på första variabeln.Nex wrote:Nej nej nej Nu har jag testat och sätt absolut inte tiden på sista variabeln!!! Följande kommer hända med kaffemaskinen: Om du sätter så som du skrivit nu kommer maskinen slås av efter 10 sekunder efter FÖRSTA gången maskinen slogs på! Dvs om du slår på maskinen, stänger av den i 5s och sedan slår på den igen så kommer scenen att stänga av maskinen efter 5 sekunder! Värdet har ju redan gått igenom och den väntar bara i 10 sekunder för att skicka en OFF signal, den bryr sig inte om du redan stängt av eller satt på maskinen igen! Därför MÅSTE du skriva in 10s i första rutan, då går inte scenen vidare såvida inte maskinen är på i 10 sekunder!
Nej - eller ja jag ser vad ni skriver, men lösningen på TS problem är annat. Mitt exempel är bara för att visa att kommandot som ligger till VÄNSTER om det röda rutan FÖRDRÖJS med det antal sekunder som står i den röda rutan. Jag skulle aldrig någonsin skriva koden som i mitt exempel för verkliga livet (i praktiken skulle jag nyttja en virtuell enhet för att göra nedräkningen osv) - mitt 10+10 sekunders exempel är just bara ett exempel.
Kör Home Assistant efter totalt nederlag för HomeSeer