Kvällstips: Turn Down - dvs motsatsen till wake-up!

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
User avatar
Bamsefar
Z-Wave Kung
Posts: 1258
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Ibland gör jag det nog onödigt svårt, det kommer ni få se om jag någonsin får upp min HC2-NG (Next Generation), så igår kväll snabbhackade jag en scen som gör en mycket enkel sak, och som var otroligt skön:

Jag ville att kvällsbelysningen skulle tona ned sakta, inte i fasta värden alltså, utan snyggt "slida" ned värdet:

Code: Select all

    --[[
    %% properties

    %% globals
    --]]

    --kill any extra instances of the same scene
    if (fibaro:countScenes() > 1) then fibaro:abort() end

    -- Ursprungligen var koden för att tända upp sakta, wake-up, men nu
    -- vänder vi på kakan - TurnDown service!

    local fadetime = 60 -- fade time in minutes
    local fadestep = 1 -- percent to fade between each command, must be 1 or higher

    local fadeunit1 = 29 -- id of lamp to be controlled
    local fadeunit2 = 60 -- id of lamp to be controlled
    local fadeunit3 = 64 -- id of lamp to be controlled

    -- no edit below this point
    local fadelevel = tonumber(fibaro:getValue(fadeunit2, "value"))
    local fadetarget

    if ( fadelevel < 60 or fibaro:getGlobalValue("TOD") == "TurnDown" ) then
       fadetarget = 25
    else
        fadetarget = 45
    end

    local fadesleep = (fadetime*60000) / ((fadelevel-fadetarget)/fadestep)
       
    while fadelevel >= fadetarget do
        fibaro:call(fadeunit1, "setValue", tostring(fadelevel))
        fibaro:call(fadeunit2, "setValue", tostring(fadelevel))
        fibaro:call(fadeunit3, "setValue", tostring(fadelevel))
        fibaro:sleep(fadesleep)
        fadelevel = fadelevel - fadestep
        if not (tonumber(fibaro:getValue(fadeunit2, "value")) == fadelevel + fadestep) then
            fibaro:debug(fibaro:getValue(fadeunit2, "value"))
           fibaro:debug(fadelevel)
           break
        end
    end
I HC2-NG kommer ovanstående kod att finnas men helt dynamisk.... Men det kanske vi får kategorisera som avancerad överkurs då en del hackande av HC2 ingår...

EDIT: Ändrat koden ovan till senaste utgåvan... Och fixat stavfelet?
Jämför Home Assistant med HomeSeer 4 på generation 800 controller - here we go! :mrgreen:
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

HC2-NG? Berätta mer!
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
Bamsefar
Z-Wave Kung
Posts: 1258
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

HC2-NG: När eller OM jag någonsin blir i alla fall halvklar så kommer det - just nu är det rätt mycket jobb med detta. Typiskt att börja med detta innan Jul, och de aktiviteter vi alltid har här hemma med goda vänner innan julen - verkligen valt det "not" perfekta tillfället på året....
Jämför Home Assistant med HomeSeer 4 på generation 800 controller - here we go! :mrgreen:
User avatar
Bamsefar
Z-Wave Kung
Posts: 1258
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Scriptet ovan har fått lite hmmm förbättringar(?):

Code: Select all

Flyttat LUA koden till första inlägget :-) 
Det är alltså två steg som inträffar, beroende på lite omständigheter... Hmmm...

Update2: Ändrat lite till i koden....
Jämför Home Assistant med HomeSeer 4 på generation 800 controller - here we go! :mrgreen:
RaketHenrik
Medlem
Posts: 36
Joined: 30 Nov 2012, 10:53
11
Contact:

Det är ju så otroligt roligt att mina gamla stavfel finns kvar... :D
User avatar
Bamsefar
Z-Wave Kung
Posts: 1258
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Är det ditt orignalscript - varför skrev du inte det i dokumentationen :-) :-) Jag har ju ändrat lite men i alla fall ;-)
Jämför Home Assistant med HomeSeer 4 på generation 800 controller - here we go! :mrgreen:
Post Reply