Scen TimeOfDay

av valneg » 13 nov 2017, 14:33

Hej
Jag använder följande scen för att styra en variabel med olika parametrar för att styra belysning och annat. Den hämtar data från en ljussensor som "tittar ut".
Allt fungerar bra med ett litet undantag. När värdet ändras från t.ex. Day till Dawn så går den fram och tillbaks några gånger innan den stabiliseras, kan påverkas även av moln och annat. Det gör att min fasadbelysning kan blinka till ett par gånger innan allt kommer till ro :-)
Skulle egentligen vilja ha något i stil med: om värdet "Dark" inte har ändrats på 1 minut ändra variabel timeofday till "Dark"
Har själv försökt att få till det men utan större framgång, är det någon som hinner kasta en titt?
Kod: Markera allt
--[[
%%autostart
%% properties
13 value
%% globals
TimeOfDay
--]]

--Enable debug?
local debug = true;

--Fetch value from sensor
local lightlevel = tonumber(fibaro:getValue(13, "value"));

if (debug) then fibaro:debug("Lightcheck: " .. os.date());
  fibaro:debug("Value is: " .. fibaro:getValue(13, "value"));
end

if lightlevel > 201 then
  if (debug) then fibaro:debug("It is Day"); end
  fibaro:setGlobal("TimeOfDay", "Day");

elseif ((lightlevel < 200) and (lightlevel > 50)) then
    if (debug) then fibaro:debug("It is Dawn"); end
    fibaro:setGlobal("TimeOfDay", "Dawn");

elseif lightlevel < 50 then
      if (debug) then fibaro:debug("It is Night"); end
      fibaro:setGlobal("TimeOfDay", "Night");
end
valneg
Ny medlem
 
Inlägg: 24
Blev medlem: 30 maj 2015, 05:46

av sonnyboy » 13 nov 2017, 15:44

Misstänker att du tänder belysningen när du kommer till Dawn, här skulle en Hysteres behövas om det kan jag tyvärr inte hjälpa dig med, men en fuling är att du ändrar Night till <=30 istället, då har du en egen Hysteres på ca 20 lux.
Sen skriver du "Dark" i texten men jag ser inte det i koden, du kanske menar "Dawn"
Fibaro HomeCenter 2
Fw 4.151 Beta
BeyondMeasure 1.10
25 Enheter, 55 Scener tidigare, 8 nu med gea GEA
sonnyboy
Proffsmedlem
 
Inlägg: 562
Blev medlem: 26 sep 2013, 08:05
Ort: Västerås

av valneg » 13 nov 2017, 15:54

sonnyboy skrev:Misstänker att du tänder belysningen när du kommer till Dawn, här skulle en Hysteres behövas om det kan jag tyvärr inte hjälpa dig med, men en fuling är att du ändrar Night till <=30 istället, då har du en egen Hysteres på ca 20 lux.
Sen skriver du "Dark" i texten men jag ser inte det i koden, du kanske menar "Dawn"

Hej, tack för snabbt svar. Jag tänder ljuset på Night och jag menar Dawn, fort och fel ibland :-)
Ska testa att leka med det också :-)
valneg
Ny medlem
 
Inlägg: 24
Blev medlem: 30 maj 2015, 05:46

av sonnyboy » 14 nov 2017, 09:42

Hur gick det för dig, fick du ordning på detta?
Hittade denna i min HC:2 som fortfarande snurrar på, är osäker om den ens används längre :shock:
Nästan allt snurrar via GEA nu.
Denna använder bara Natt och Dag men det funkade för mig tidigare iaf :)

Kod: Markera allt
--[[
%% autostart
%% properties
%% globals
Sun
--]]


if (fibaro:countScenes() > 1) then fibaro:abort() end

version = "1.0.1"
-- version history
-- 1.0.1 2016-11-15 Bytte Volt till Lux som mäts via ESP easy

-- Give debug a fancy color
Debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"))
end

Debug( "magenta", "TOD - LUA Scripting by Sonnyboy 2015" )
Debug( "lightgreen", "Version: "..version)

local Solstralning = tonumber(fibaro:getGlobalValue("Sun"))
  Debug( "orange", "Sol: "..Solstralning)

if ( Solstralning ) <= 200--Lux när det ska bli natt
  then
   fibaro:setGlobal("Tod","Natt") -- Natt
     Debug( "brown", "TOD Natt")
 elseif ( Solstralning ) >= 250--Lux när det ska bli dag
  then
   fibaro:setGlobal("Tod","Dag") -- Dag
    Debug( "yellow", "TOD dag")
 
end
Fibaro HomeCenter 2
Fw 4.151 Beta
BeyondMeasure 1.10
25 Enheter, 55 Scener tidigare, 8 nu med gea GEA
sonnyboy
Proffsmedlem
 
Inlägg: 562
Blev medlem: 26 sep 2013, 08:05
Ort: Västerås

av valneg » 14 nov 2017, 13:36

Hur gick det för dig, fick du ordning på detta?
Hittade denna i min HC:2 som fortfarande snurrar på, är osäker om den ens används längre :shock:
Nästan allt snurrar via GEA nu.
Denna använder bara Natt och Dag men det funkade för mig tidigare iaf :)

Hej, inte hunnit så mycket mer ännu, ska försöka kolla lite mer i dagarna, matchen igår tog över :-)
BTW, har precis börjat titta på GEA också och har en som snurrar just nu men som inte gör så mycket mer ärt att Pusha ut ett meddelande när garagedörren har stått öppen för länge.
Hur gör du det här i GEA?
valneg
Ny medlem
 
Inlägg: 24
Blev medlem: 30 maj 2015, 05:46

av sonnyboy » 14 nov 2017, 14:23

Jag använder inte GEA till Tod, Det är bara något som jag glömt bort att ta bort

I GEA så ser min kodsnutt ut så här
Kod: Markera allt
GEA.add({"Global-", "Sun", "200"}, 30, "Tänder Belysningen", {{"Time", "13:00", "21:35"}, {"Scenario", 242}})

GEA startar en scen om Globala variabeln "Sun" är mindre än 200 lux och klockan är emellan 13:00 & 21:35, samt skickar ett Push till min lur "Tänder Belysningen"
Jag har belysningen ligger i en Scen som tänder lamporna lite random och med olika intervaller emellan, så att inte alla lampor tänds på en gång (lite för att lura tjuven och för att det blir lite trevligare)
Fibaro HomeCenter 2
Fw 4.151 Beta
BeyondMeasure 1.10
25 Enheter, 55 Scener tidigare, 8 nu med gea GEA
sonnyboy
Proffsmedlem
 
Inlägg: 562
Blev medlem: 26 sep 2013, 08:05
Ort: Västerås

av pos » 20 nov 2017, 23:53

Addera lite hysteres som @Sonnyboy föreslog!

Du kan titta lite på https://www.incedo.eu/~sjoholmp/Fibaro_Homecenter/LUA/Scenes/HallwayLights/ där jag har addera delay på det sätt du behöver.


Mvh
Peo
pos
Medlem
 
Inlägg: 79
Blev medlem: 03 feb 2017, 02:20

av valneg » 21 nov 2017, 20:27

Tack Sonnyboy och Peo för era svar, ska testa vidare med både GEA och hysteres, GEA ser redan ganska lovande ut med lite inspiration från Sonnyboys kod ovan :-)
valneg
Ny medlem
 
Inlägg: 24
Blev medlem: 30 maj 2015, 05:46

Dustin

Återgå till Fibaro Home Center 2