Page 1 of 1
Timer för kaffebryggare
Posted: 07 Sep 2016, 07:33
by svante
Hejsan.
Jag har länge haft en grym kaffetimer i min HC2 som jag hittade här på forumet. Blev tyvärr tvungen att fabriksåterställa HC2 nyligen utan möjlighet att lägga in backup....
Nu har jag letat som en galning men lyckas inte hitta den igen...
Det var en LUA-scen som startade en nedräkning när förbrukningen låg på ett visst värde. Finns ägaren till koden kvar och kan dela med sig av den igen månne? Eller kan någon scripta ihop något riktigt smart? Jag har tyvärr inte kunskapen själv, och inte tid att lära mig.
Tack på förhand!
Re: Timer för kaffebryggare
Posted: 07 Sep 2016, 08:52
by sonnyboy
Jag kör med denna som jag tidigare publicerat på detta forum, kanske är denna du söker?
Code: Select all
--[[
%% properties
272 power
%% globals
--]]
-- abort any unnecesary scenes started
if fibaro:countScenes() > 1 then fibaro:abort() end
local Wattkaffebryggare = tonumber(fibaro:getValue(272, "power"))
fibaro:debug("Kaffebryggare Watt: " .. Wattkaffebryggare)
local countdown=25
countdown=countdown*6
repeat
fibaro:sleep(10000)
if tonumber(fibaro:getValue(272, "power"))<55 then
fibaro:abort()
else
countdown=countdown-1
end
until countdown==0
fibaro:call(272, "turnOff")
fibaro:debug("Glömt Bryggaren igen? Stänger av den åt dig")
Re: Timer för kaffebryggare
Posted: 08 Sep 2016, 07:18
by svante
Sonnyboy! Det var exakt den jag letat efter! Tack som fan!
Re: Timer för kaffebryggare
Posted: 05 Oct 2016, 20:40
by Texan
Hej,
Kan någon förklara för mig hur den här lua scenen fungerar, är intresserad att ha någon slags timer på min bryggare också.
Re: Timer för kaffebryggare
Posted: 05 Oct 2016, 21:30
by Earplugged
Texan wrote:Hej,
Kan någon förklara för mig hur den här lua scenen fungerar, är intresserad att ha någon slags timer på min bryggare också.
I stora drag så mäter den om kaffebryggaren drar över en viss watt och startar en loop som räknar ner till noll och sedan stänger av pluggen. Går förbrukningen ner under nedräkningen (man stänger av bryggaren själv) så avbryts räkningen automatiskt.
Det du skall göra är att byta "272" till ditt enhetsnummer, justera gränsen för watt (i exemplet <55) och sedan hur länge du vill bryggaren skall vara på genom att ändra countdown till önskat antal minuter (i exemplet 25min).
Var detta svaret du sökte eller ville du har mer preciserat?
Re: Timer för kaffebryggare
Posted: 05 Oct 2016, 21:37
by Earplugged
Använder förövrigt varianter på denna både till badrumsbelysningen som gärna glömdes stängas av och till köksfläkten där halogenlamporna ofta stod och brann hela dagen.
Re: Timer för kaffebryggare
Posted: 06 Oct 2016, 00:08
by Texan
Earplugged wrote:Texan wrote:Hej,
Kan någon förklara för mig hur den här lua scenen fungerar, är intresserad att ha någon slags timer på min bryggare också.
I stora drag så mäter den om kaffebryggaren drar över en viss watt och startar en loop som räknar ner till noll och sedan stänger av pluggen. Går förbrukningen ner under nedräkningen (man stänger av bryggaren själv) så avbryts räkningen automatiskt.
Det du skall göra är att byta "272" till ditt enhetsnummer, justera gränsen för watt (i exemplet <55) och sedan hur länge du vill bryggaren skall vara på genom att ändra countdown till önskat antal minuter (i exemplet 25min).
Var detta svaret du sökte eller ville du har mer preciserat?
Så man trycker på pluggen manuellt och sedan känner scenen av om bryggaren är på eller avslagen, är den på efter tidsintervallet/nedräkningen så stänger scenen av pluggen.
Du får gärna dela med hur varianten ser ut för glömda lampor som du nämner.
Tackar
Re: Timer för kaffebryggare
Posted: 06 Oct 2016, 07:47
by sonnyboy
Texan wrote:
Så man trycker på pluggen manuellt och sedan känner scenen av om bryggaren är på eller avslagen, är den på efter tidsintervallet/nedräkningen så stänger scenen av pluggen.
Tackar
Låt säga så här, pluggen är alltid igång, men när du knäpper på kaffebryggaren så känner pluggen att den är igång med hjälp av denna rad i koden "272 power"
Exempel min bryggare går upp mot 2000w när den startar, sen när den är klar och bara varmhåller kaffet så ligger den runt 52w och när då kaffebryggaren dragit mindre än 55w i 25 minuter så stänger den av "pluggen" OM du inte stängt av bryggaren på knappen, då kommer pluggen att känna att den drar 0w och då strängs timern av.
Re: Timer för kaffebryggare
Posted: 06 Oct 2016, 19:52
by Earplugged
Earplugged wrote:Texan wrote:
Du får gärna dela med hur varianten ser ut för glömda lampor som du nämner.
Tackar
Det är i princip samma kod där man byter Power till Value för att se status istället för förbrukning.
Ändra 74 till ditt nummer på brytaren så stängs lampan av efter 15min, i koden nedan har jag även ett villkor om den andra lampan 69 i badrummet (som är rörelsestyrd) är tänd så fördröjs släckningen ytterligare.
tidigare körde jag all belysning med rörelsesensor på toaletten men eftersom den inte registrerade rörelserna i duschen så tröt tålamodet på sambon efter några incidenter i totalt mörker...
--[[
%% properties
74 value
%% globals
--]]
-- abort any unnecesary scenes started
if fibaro:countScenes() > 1 then fibaro:abort() end
local Lampa = tonumber(fibaro:getValue(74, "value"))
fibaro:debug("Lampa lyser? 0=Nej 1=Ja: " .. Lampa)
local countdown=15 --Fördröjning i minuter
countdown=countdown*6
repeat
fibaro:sleep(10000)
if tonumber(fibaro:getValue(74, "value"))<1 then
fibaro:abort()
else
if tonumber(fibaro:getValue(69, "value"))>0 then
countdown=15 --anges i minuter
countdown=countdown*6
else
countdown=countdown-1
end
end
fibaro:debug("Nedräkning: " .. countdown)
until countdown==0
fibaro:call(74, "turnOff")
fibaro:debug("Lampa spegel stängs av nu")
Re: Timer för kaffebryggare
Posted: 11 Oct 2016, 14:31
by Farbror Grå
Jag har funderat på en lösning på problemet med att rörelsesensorn inte känner rörelser i duschen. En Fibaro universalsensor kopplas till en flödesgivare (typ vattenmätare men den behöver bara indikera flöde inte räkna förbrukning).
Re: Timer för kaffebryggare
Posted: 11 Oct 2016, 21:41
by Texan
Earplugged wrote:Earplugged wrote:Texan wrote:
Du får gärna dela med hur varianten ser ut för glömda lampor som du nämner.
Tackar
Det är i princip samma kod där man byter Power till Value för att se status istället för förbrukning.
Ändra 74 till ditt nummer på brytaren så stängs lampan av efter 15min, i koden nedan har jag även ett villkor om den andra lampan 69 i badrummet (som är rörelsestyrd) är tänd så fördröjs släckningen ytterligare.
tidigare körde jag all belysning med rörelsesensor på toaletten men eftersom den inte registrerade rörelserna i duschen så tröt tålamodet på sambon efter några incidenter i totalt mörker...
--[[
%% properties
74 value
%% globals
--]]
-- abort any unnecesary scenes started
if fibaro:countScenes() > 1 then fibaro:abort() end
local Lampa = tonumber(fibaro:getValue(74, "value"))
fibaro:debug("Lampa lyser? 0=Nej 1=Ja: " .. Lampa)
local countdown=15 --Fördröjning i minuter
countdown=countdown*6
repeat
fibaro:sleep(10000)
if tonumber(fibaro:getValue(74, "value"))<1 then
fibaro:abort()
else
if tonumber(fibaro:getValue(69, "value"))>0 then
countdown=15 --anges i minuter
countdown=countdown*6
else
countdown=countdown-1
end
end
fibaro:debug("Nedräkning: " .. countdown)
until countdown==0
fibaro:call(74, "turnOff")
fibaro:debug("Lampa spegel stängs av nu")
Hur ser koden ut ifall jag inte behöver den andra villkoret som kollar den andra lampan?
Re: Timer för kaffebryggare
Posted: 14 Oct 2016, 18:20
by Texan
Behöver lite hjälp med koden.
Om jag startar scenen så kör den 1gång och släcker lampan efter 5min. Men sedan ifall jag tänder lampan igen så tycks inte scenen köra så lampan förblir tänd.
Code: Select all
--[[
%% properties
74 value
%% globals
--]]
-- abort any unnecesary scenes started
if fibaro:countScenes() > 1 then fibaro:abort() end
local Lampa = tonumber(fibaro:getValue(152, "value"))
fibaro:debug("Lampa lyser? 0=Nej 1=Ja: " .. Lampa)
local countdown=5 --Fördröjning i minuter
countdown=countdown*6
repeat
fibaro:sleep(10000)
if tonumber(fibaro:getValue(152, "value"))<1 then
fibaro:abort()
else
if tonumber(fibaro:getValue(69, "value"))>0 then
countdown=15 --anges i minuter
countdown=countdown*6
else
countdown=countdown-1
end
end
fibaro:debug("Nedräkning: " .. countdown)
until countdown==0
fibaro:call(152, "turnOff")
fibaro:debug("Lampa i garderoben stängs av nu")
Re: Timer för kaffebryggare
Posted: 06 Jan 2017, 19:30
by sycorax
Hej,
Jag gjorde en modifiering av lua-koden i denna tråd. Min timer består av en vd (virtuell device) där man kan ställa in timerns värde i minuter som sätts till en global variabel. Den vd slår på WallPlug:en som kaffebryggaren sitter i och kollar om det ligger någon last, dvs om kaffebryggarens switch är påslagen. Om den inte är påslagen skickar den en push till min mobil att jag glömt att slå på kaffebryggarens switch. Om kaffebryggarens switch är påslagen (dvs det finns en last i watt) startas en scene "Timer" som meddelar att kaffebryggaren startat. Efter 10min meddelar den att kaffet är klart via push och därefter stängs WallPlug:en av när timern har löpt ut (också med push).
Om jag stänger av bryggaren innan timern löpt ut så stänger den av WallPlug åt mig.
Gött --> Bara att rigga kaffekokaren innan man går och lägger sig så kan jag starta den i sängen på morgonen
Här är koden för den som vill testa. Det som måste ändras är id:n på enhet (i mitt fall WallPlug med id=19) och notifications (push) till mobil. Alt. ta bort notifications i koden.
Virtual Device "Coffee Timer" -->
- Virtuell Device "Coffee Timer"
Skapa en global variabel "CoffeeTimer" med värdet 60 -->
- Global variable (sätts av VD och läses av scene)
- VD Label
- VD Button 60min
Code Button 60min -->
Code: Select all
local value = 60
local vd = 32 -- VDevice ID
fibaro:call(vd, "setProperty", "ui.sliderSetTime.value", value)
fibaro:call(vd, "setProperty", "ui.labelCoffeeTimer.value", '60min')
fibaro:setGlobal('CoffeeTimer', value)
fibaro:debug('Button 60min LUA Triggered!')
- VD Button 45min
Code Button 45min -->
Code: Select all
local value = 45
local vd = 32 -- VDevice ID
fibaro:call(vd, "setProperty", "ui.sliderSetTime.value", value)
fibaro:call(vd, "setProperty", "ui.labelCoffeeTimer.value", '45min')
fibaro:setGlobal('CoffeeTimer', value)
fibaro:debug('Button 45min LUA Triggered!')
- VD Button 30min
Code Button 30min -->
Code: Select all
local value = 30
local vd = 32 -- VDevice ID
fibaro:call(vd, "setProperty", "ui.sliderSetTime.value", value)
fibaro:call(vd, "setProperty", "ui.labelCoffeeTimer.value", '30min')
fibaro:setGlobal('CoffeeTimer', value)
fibaro:debug('Button 30min LUA Triggered!')
- VD Slider
Code Slider -->
Code: Select all
local vd = 32 -- VDevice ID
local value = fibaro:getValue(vd, "ui.sliderSetTime.value")
--local sliderLevel = math.floor((value / 100) * 80)
--fibaro:call(vd, "setProperty", "ui.labelCoffeeTimer.value", sliderLevel.. 'min')
fibaro:call(vd, "setProperty", "ui.labelCoffeeTimer.value", value.. 'min')
fibaro:setGlobal('CoffeeTimer', value)
fibaro:debug('Slider ' ..value.. 'min LUA Triggered!')
- VD Button Start Timer
Code Start Timer -->
Code: Select all
local startSource = fibaro:getSourceTrigger()
if ( ( tonumber(fibaro:getValue(19, "value")) == 0 ) or startSource["type"] == "other" ) then
fibaro:call(19, "turnOn")
end
if ( (tonumber(fibaro:getValue(19, "power")) <= 0) or startSource["type"] == "other") then
fibaro:call(16, "sendDefinedPushNotification", "36")
fibaro:call(24, "sendDefinedPushNotification", "36")
fibaro:call(19, "turnOff");
end
- VD Main Loop
Code Main loop -->
Code: Select all
local value = fibaro:getGlobal('CoffeeTimer')
local vd = 32 -- VDevice ID
fibaro:call(vd, "setProperty", "ui.sliderSetTime.value", value)
fibaro:call(vd, "setProperty", "ui.labelCoffeeTimer.value", value.. 'min')
fibaro:sleep(500) -- Update every 0,5sec
Skapa en ny scene.
- Scene - Kaffe Timer
Scene code Kaffe Timer -->
Code: Select all
--[[
%% properties
19 power
%% globals
--]]
local debug = false -- Debug or not (No debug = false)
local coffeeWallPlug = 19 -- WallPlug 1
-- 31 = Notifikation, Kaffet klart!
-- 32 = Notification, Stänger av kaffebruggaren!
-- 34 = Notification, Kaffebryggaren har startat!
-- 35 = Notification, Stängde av WallPlug till kaffebryggaren!
-- 36 = Notification, Du har glömt att slå på brytaren till kaffebryggaren!
local kkMobileId = 16 -- My mobile HTC M9
local elleMobileId = 24 -- Elle mobile HTC 10
-- abort any unnecesary scenes started
if (fibaro:countScenes() > 1) then
if ( debug == true ) then fibaro:debug("Nr of Scenes = " .. fibaro:countScenes()) end
fibaro:abort()
end
local watt = tonumber(fibaro:getValue(coffeeWallPlug, "power"))
if ( debug == true ) then fibaro:debug("Kaffebryggare using: " .. watt .. " Watt") end
local value = fibaro:getGlobal('CoffeeTimer')
local countdown = value -- Timer from GLOBAL variable 'CoffeeTimer'
--local countdown = 60 -- Timer 60min
local manualTurnOff = false -- Stängde av kaffebryggarens on/off manuellt.
local coffeeDone = 10 -- Kaffe klart efter 10min
countdown = countdown * 6 -- Timer starts with value 360 and counting down to 0
-- Between every decrement of countdown is 10sec (the sleep function)
local coffeeReady = 0 -- Reset variable
coffeeReady = countdown - (coffeeDone*6)
-- If switch to coffee maker is on -->
if ( tonumber(fibaro:getValue(coffeeWallPlug, "value")) > 0 ) then
-- Send notification --> Kaffebryggaren har startat!
fibaro:call(kkMobileId, "sendDefinedPushNotification", "34") -- My
fibaro:call(elleMobileId, "sendDefinedPushNotification", "34") -- Elle
if ( debug == true ) then fibaro:debug("Kaffebryggaren har startat! ") end
end
-- *** MAIN LOOP START ***
repeat
fibaro:sleep(10000) -- Sleep 10sec
if ( debug == true ) then fibaro:debug("Kaffebryggaren använder: " .. watt .. " Watt" ) end
if ( debug == true ) then fibaro:debug("Variable countdown = " .. countdown) end
-- Did you turn off coffe maker before timer exceeded? (WallPlug 0 watt)
if ( (countdown > 0) and (tonumber(fibaro:getValue(coffeeWallPlug, "power")) == 0) ) then
if ( debug == true ) then fibaro:debug("Du stängde av kaffebryggaren! ") end
if ( debug == true ) then fibaro:debug("Reset variable countdown to 1! ") end
manualTurnOff = true
countdown = 1 -- last in repeat loop will do the last decrement of 'countdown'
if ( debug == true ) then fibaro:debug("Variable countdown: " .. countdown) end
end
-- Coffee Ready to serve?
if (countdown == coffeeReady) then
fibaro:call(kkMobileId, "sendDefinedPushNotification", "31") -- My
fibaro:call(elleMobileId, "sendDefinedPushNotification", "31") -- Elle
if ( debug == true ) then fibaro:debug("Coffee ready to serve!") end
end
countdown = countdown - 1
if ( debug == true ) then fibaro:debug("Countdown = " .. countdown) end
until countdown == 0
-- *** MAIN LOOP END (Timer off) ***
-- Then finish with these commands -->
fibaro:call(coffeeWallPlug, "turnOff") -- Turn off Wall Plug
-- Did you turn of coffee maker manualy?
if (manualTurnOff == true) then
fibaro:call(kkMobileId, "sendDefinedPushNotification", "35") -- My
fibaro:call(elleMobileId, "sendDefinedPushNotification", "35") -- Elle
if ( debug == true ) then fibaro:debug("Stängde av WallPlug till kaffebryggaren!") end
else
-- Är WallPlug avstängd?
if (( tonumber(fibaro:getValue(coffeeWallPlug, "value")) > 0 )) then
fibaro:call(kkMobileId, "sendDefinedPushNotification", "32") -- My
fibaro:call(elleMobileId, "sendDefinedPushNotification", "32") -- Elle
if ( debug == true ) then fibaro:debug("Stänger av kaffebryggaren!") end
else
fibaro:call(kkMobileId, "sendDefinedPushNotification", "33")
fibaro:call(elleMobileId, "sendDefinedPushNotification", "33")
if ( debug == true ) then fibaro:debug("Wall Plug stängdes inte av!!!") end
end
end
if ( debug == true ) then fibaro:debug("Kaffebryggare använder: " .. watt .. " Watt") end
-- End Timer Scene...
fibaro:abort()
Bifogar även iconer som jag använde:
- ICO --> Coffee Timer
- Coffee_Timer_Icon.png (66.85 KiB) Viewed 17688 times
- ICO --> Timer - Kaffe
- timer-icon (1).png (8.95 KiB) Viewed 17688 times
/Sycorax[/color]
Re: Timer för kaffebryggare
Posted: 30 Jul 2021, 13:46
by Texan
Hej,
Har någon möjlighet att göra om denna så att den fungerar med HC3?
Re: Timer för kaffebryggare
Posted: 30 Jul 2021, 15:57
by sycorax
Hej Texan,
Det var länge sedan jag lade ut denna topic "Timer för kaffebryggare". Själv kör jag fortfarande HC2 med denna VD. Vad är det som skiljer sig mot HC2 jämfört med HC3?
Re: Timer för kaffebryggare
Posted: 01 Aug 2021, 21:00
by Texan
Hej sycorax,
Jag är för dålig på lua etc för att kunna förklara vad som skiljer sig åt. Kanske någon annan kan flika in ....