Światło - pokój dzieci

  • 22 Odpowiedzi
  • 7703 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline Thomson

  • * 22
  • 0
Światło - pokój dzieci
« dnia: Listopad 07, 2016, 10:16:05 am »
Witam Panowie,

mam problem z ustawieniem w bloczkach sceny, która będzie włączała światło na ruch, ale światło nie może się włączyć jeśeli jest powyżej 200 lx i nie może się włączać między godziną 19:00-7:00, dzieci śpią w tych godzinach. No i oczywiście światło jeśli włączone wyłącza się po 5 min bezczynności.
Macie pomysł jak to ogarnąć?
*

Offline peterhi

  • * 8
  • 1
  • Nazwa i wersja ID: HC2 v4.100
Odp: Światło - pokój dzieci
« Odpowiedź #1 dnia: Listopad 09, 2016, 01:05:01 am »
Mialem identyczny problem z lampa w salonie, rozwiazalem to za pomoca 2 scen. Na bloczkach niestety nie mam pojecia jak to zrobic, ale jesli masz HC2 to moge przeslac moje sceny.
Odp: Światło - pokój dzieci
« Odpowiedź #2 dnia: Listopad 10, 2016, 12:30:15 am »
To już będzie rozbudowana scena, gdzie będzie kilka warunków, taką scenę można zrealizować, ale tylko w LUA.
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Światło - pokój dzieci
« Odpowiedź #3 dnia: Listopad 10, 2016, 08:14:07 am »
Przydałby się dział zleceń na tym forum.
*

Offline wiesiekr

  • ** 86
  • 4
  • Nazwa i wersja ID: HC2. HCL
Odp: Światło - pokój dzieci
« Odpowiedź #4 dnia: Listopad 10, 2016, 09:04:40 am »
Witam Panowie,

mam problem z ustawieniem w bloczkach sceny, która będzie włączała światło na ruch, ale światło nie może się włączyć jeśeli jest powyżej 200 lx i nie może się włączać między godziną 19:00-7:00, dzieci śpią w tych godzinach. No i oczywiście światło jeśli włączone wyłącza się po 5 min bezczynności.
Macie pomysł jak to ogarnąć?
Można zrobić to na bloczkach:
Utwórz zmienna predefiniowane np. 7-19

Ruch- naruszony i światło dzieci- off i lux-<200 i zmienna 7-19-on to światło dzieci- on-300s

Jako wyzwalacz zaznacz tylko czujnik ruchu.
*

Offline Piotr B

  • ** 64
  • 0
Odp: Światło - pokój dzieci
« Odpowiedź #5 dnia: Listopad 10, 2016, 08:45:56 pm »
witam - mozesz podesłac taką scene w LUA.

Pozdrawiam

Piotr Br
*

Offline Thomson

  • * 22
  • 0
Odp: Światło - pokój dzieci
« Odpowiedź #6 dnia: Listopad 11, 2016, 03:57:03 pm »
tak mam hc2. Próbowałem to robić w bloczkach, ale FGMS nie zaczęto raportuje luxy :/
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Światło - pokój dzieci
« Odpowiedź #7 dnia: Listopad 11, 2016, 04:04:04 pm »
tak mam hc2. Próbowałem to robić w bloczkach, ale FGMS nie zaczęto raportuje luxy :/
No to zmień i będzie raportować nawet co 1 lux.

Wysłane z mojego SM-G928F przy użyciu Tapatalka

*

Offline Thomson

  • * 22
  • 0
Odp: Światło - pokój dzieci
« Odpowiedź #8 dnia: Listopad 11, 2016, 04:15:42 pm »
owszem mogę ale o ile szybciej będzie pożerać baterie...
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Światło - pokój dzieci
« Odpowiedź #9 dnia: Listopad 11, 2016, 04:22:06 pm »
No to czujnik przewodowy.

Wysłane z mojego SM-G928F przy użyciu Tapatalka

*

Offline Thomson

  • * 22
  • 0
Odp: Światło - pokój dzieci
« Odpowiedź #10 dnia: Listopad 12, 2016, 09:59:58 am »
Macie Panowie coś w LUA, co mogło by mi pomóc?

Zrobiłem tylko najprostszą scenę, która tylko wyłącza światło jeśli czujnik jest nie naruszony przez 300s i wciąż mam komunikat

"przekroczona limit instancji"

już nie wspominając, że maży mi się to co co pisałem na początku posta...ale nie wiem jak się za to zabrać :/
*

Offline peterhi

  • * 8
  • 1
  • Nazwa i wersja ID: HC2 v4.100
Odp: Światło - pokój dzieci
« Odpowiedź #11 dnia: Listopad 13, 2016, 05:47:18 pm »
Ja mam rozwiazanie za pomoca 2 scen, jak ktos ogarnia to mozna spiac w jedna scene.
Czujka od swiatla ustawiona na wysylanie raportu przy zmianie o 20lux(parametr 40), bateria 2 lata.

Scena pierwsza wlacza swiatlo na 10 min po wykryciu ruchu, gdy wykryje ponownie ruch zaczyna odlicznie od poczatku:

--[[
%% properties
42 value
--]]

 if (fibaro:countScenes() > 1) or
  fibaro:getValue(42, "value") == 0
  then
    fibaro:debug("Scena wywolana kilkukrotnie lub czujka zmienila stan z 1 na 0")
    fibaro:abort()
end

local delay = 600;
local startSource = fibaro:getSourceTriggerType();
fibaro:debug("wywolane przez ".. startSource)
if
  tonumber(fibaro:getValue(42, "value")) > 0
then
    fibaro:call(88, "turnOn");
    fibaro:debug("Action: turnON")
end
if
 ( tonumber(fibaro:getValue(88, "value")) > 0 )
then
 
local turnOffTime = os.time() + delay

while turnOffTime > os.time() do
    if tonumber(fibaro:getValue(42, "value")) > 0
      then turnOffTime = os.time() + delay
    end 
    fibaro:debug("zwłoka: "..tostring(turnOffTime - os.time()))
fibaro:sleep(30000)
  end       
 fibaro:call(88, "turnOff");
 fibaro:debug("Action: turnOFF") 
end


druga scena uruchamia sie co 10 min, wlacza pierwsza scene gdy swiatlo spada ponizej 200 LUX:

--[[
%% autostart
--]]

local sourceTrigger = fibaro:getSourceTrigger();

function tempFunc()
local lightSensor = tonumber(fibaro:getValue(44, "value"));
fibaro:debug("Brightness:  "..lightSensor.."lux")
if
    lightSensor > 200 and
    fibaro:isSceneEnabled(50) == true
then
    fibaro:debug("Swiatlo wiecej niz 200lux, scena i lampa OFF");
    fibaro:setSceneEnabled(50, false);
    fibaro:call(88, "turnOff");
elseif
    lightSensor > 200 and
    fibaro:isSceneEnabled(50) == false
then
    fibaro:call(88, "turnOff")
    fibaro:debug("Swiatlo wiecej niz 200lux i scena nieaktywna - Lampa OFF")
elseif
    lightSensor < 200 and
    fibaro:isSceneEnabled(50) == false
then
    fibaro:debug("Swiatlo mniej niz 200lux, scena i lampa ON");
    fibaro:setSceneEnabled(50, true);
    fibaro:startScene(50);
elseif
    lightSensor < 200 and
    fibaro:isSceneEnabled(50) == true
then
    fibaro:debug("Swiatlo mniej jak 200lux i scena aktywna - nic nie robie")
end

setTimeout(tempFunc, 600000)
end

if (sourceTrigger["type"] == "autostart") then
tempFunc()
end
*

Offline Thomson

  • * 22
  • 0
Odp: Światło - pokój dzieci
« Odpowiedź #12 dnia: Listopad 20, 2016, 12:31:33 pm »
Dzięki za pomoc Panowie.

Posklejałem sceny mam teraz coś takiego. Jadnak chciałbym ją jeszcze bardziej doskonalić, gdzie należy ustawić, by światło było na 30%

Cytuj
--[[                             
%% properties
47 value
65 value
%% globals
--]]

fibaro:debug("SCENE START --------------------------")
fibaro:debug("sceneInstance: "..fibaro:countScenes())
if fibaro:countScenes() > 1 then
fibaro:debug("SCENE ABORT --------------------------")
fibaro:abort()
end

local sensorID =  47
local lightID =  65 
local lumenID =  62 
local delay =  600
local lumen =  80
local timeStart = '10:30' 
local timeStop = '19:30'   




function toMinutes(czasHHMM)
 local a
 if type(czasHHMM) == "string" then
   a = tonumber(string.sub(czasHHMM, 1, 2)) * 60 + tonumber(string.sub(czasHHMM, 4, 5))
  else   
   a = tonumber(czasHHMM.hour) * 60 + tonumber(czasHHMM.min)
 end
return a
end



local minStart = toMinutes(timeStart)
local minStop = toMinutes(timeStop)
local minNow = toMinutes(os.date("*t"))

local sensorMoved = (tonumber(fibaro:getValue(sensorID, "value")) > 0)
local isLightOn = (tonumber(fibaro:getValue(lightID, "value")) > 0)

fibaro:debug("isLightOn: "..tostring(isLightOn))
fibaro:debug("sensorMoved: "..tostring(sensorMoved))


local isTime

if (minStop >= minStart)
 then
   if (minNow >= minStart) and (minNow <= minStop)
    then isTime = true else isTime = false
   end
elseif (minStop <= minStart)
 then
  if (minNow <= minStart) and (minNow >= minStop)
    then isTime = false else isTime = true
   end
end
fibaro:debug("isTime: "..tostring(isTime))


local isDark
if tonumber(fibaro:getValue(lumenID, "value")) < lumen
 then
 isDark = true
else
 isDark = false
end

fibaro:debug("isDark: "..tostring(isDark))


if sensorMoved  and isDark and isTime
 then fibaro:call(lightID, "turnOn")
fibaro:debug("Action: turnOn") 
end




if isLightOn then

local turnOffTime = os.time() + delay

while turnOffTime > os.time() do
   if tonumber(fibaro:getValue(sensorID, "value")) > 0
     then turnOffTime = os.time() + delay
   end 
   fibaro:debug("zwłoka: "..tostring(turnOffTime - os.time()))
fibaro:sleep(5000)
 end       
fibaro:call(lightID, "turnOff")
fibaro:debug("Action: turnOff") 


 
end


fibaro:debug("SCENE STOP")
*

Offline peterhi

  • * 8
  • 1
  • Nazwa i wersja ID: HC2 v4.100
Odp: Światło - pokój dzieci
« Odpowiedź #13 dnia: Listopad 20, 2016, 09:56:19 pm »
Musisz zmienic jedna linijke gdzie masz
fibaro:call(lightID, "turnOn")na
fibaro:call(lightID, "setValue", "30")
*

Offline Thomson

  • * 22
  • 0
Odp: Światło - pokój dzieci
« Odpowiedź #14 dnia: Listopad 27, 2016, 05:57:46 pm »
Dzięki :)

a wiesz może czy mogę wpisać po przecinku by dwie czujki ruchu były na nasłuch ruchu?
ponieważ w scenie mam tylko jedną