Zapalanie i gaszenie światła za pomocą czujki Satel

  • 4 Odpowiedzi
  • 681 Wyświetleń

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

Zapalanie i gaszenie światła za pomocą czujki Satel
« dnia: Czerwiec 07, 2018, 09:42:22 pm »
Witam

Skonfigurowałem scenę, która po zmroku zapala światło gdy czujnik ruchu systemu alarmowego jest naruszony, a gasi gdy czujnik ruchu jest nienaruszony przez 120s. Wszystko działa jednak w notyfikacjach wyświetla się komunikat dotyczący sceny gaszenia światła o przekroczonym limicie instancji. Proszę o pomoc w znalezieniu problemu.
Odp: Zapalanie i gaszenie światła za pomocą czujki Satel
« Odpowiedź #1 dnia: Lipiec 16, 2018, 09:58:20 pm »
na początek zwiększ liczbę instancji i sprawdź czy w Twoim przypadku będzie dobrze
Liczba instancji to informacja ile razy scena została aktywowana, a w przypadku wyłączenia scena jest aktywowana za każdym razem gdy czujka przejdzie w stan spoczynku (nie wykrywa ruchu) a kończy się dopiero po 120s i w tym czasie scena jest aktywowana kilkukrotnie i stąd ten komunikat
« Ostatnia zmiana: Lipiec 16, 2018, 10:02:03 pm wysłana przez jaras231 »
*

Offline Boogie

  • * 8
  • 1
    • Zobacz profil
Odp: Zapalanie i gaszenie światła za pomocą czujki Satel
« Odpowiedź #2 dnia: Lipiec 31, 2018, 08:13:06 pm »
Cześć,

niżej gotowa scena zapalania i gaszenia światła. Wprowadź drobne modyfikacje pod siebie i będzie OK. Używam jej w wiatrołapie. Automatycznie zapala i gasi światło po naruszeniu czujki satel lub DorWindowSensor Fibaro (dwa czujniki 'lub'). Usuń jeden i będzie OK.

Jeżeli któryś z czujników jest naruszony, odliczanie zaczyna się od nowa i zgasi światło dopiero, gdy każdy z nich będzie nienaruszony przez określony czas.

--[[
%% autostart
%% properties
2281 value
2841 value
2814 value
%% events
%% globals
--]]

-- 2018.01.09
-- Scena z 2 sensorami ruchu i 1 światłem

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

local sensorID1 =  2281 -- Wiatrołap czujnik ruchu
local sensorID2 = 2841  -- Wiatrołap DWS
local lightID =  2814   -- Wiatrołap L1
local delay =  60 -- s (1 min)

--  Functions  ---------------------------------------------------------------

local sensorMoved1 = (tonumber(fibaro:getValue(sensorID1, "value")) > 0);
local sensorMoved2 = (tonumber(fibaro:getValue(sensorID2, "value")) > 0);
local isLightOn = (tonumber(fibaro:getValue(lightID, "value")) > 0);
--local lclIsNight = (fibaro:getGlobalValue("isNight"));

fibaro:debug("isLightOn: "..tostring(isLightOn));
fibaro:debug("sensorMoved1: "..tostring(sensorMoved1));
fibaro:debug("sensorMoved2: "..tostring(sensorMoved2));
--fibaro:debug("isNight: "..lclIsNight);

-- zapalanie światła --------------------------------------------------------

if sensorMoved1 or sensorMoved2 --and (lclIsNight == '1')
  then
   fibaro:call(lightID, "turnOn") -- Relay
-- fibaro:call(lightID, "setValue", "10") -- Dimmer
  fibaro:debug("Action: turnOn")
 end

-- gaszenie światła ---------------------------------------------------------

if isLightOn then

local turnOffTime = os.time() + delay

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

-- koniec --------------------------------------------------------------------

fibaro:debug("SCENE STOP")
*

Offline Zelter

  • * 3
  • 0
    • Zobacz profil
  • Nazwa i wersja ID: Zelter
Odp: Zapalanie i gaszenie światła za pomocą czujki Satel
« Odpowiedź #3 dnia: Sierpień 11, 2018, 11:53:39 pm »
Boogie chcę Ci bardzo podziękować za podzielenie się tą sceną.
Dzięki Tobie rozwiązałem problem ze światłem w wiatrołapie oraz zmodyfikowałem scenę żeby tylko wyłączała światło po braku ruchu w pokoju. Moje córki zawsze zostawiają włączone światło. Jeszcze raz Dzięki.
Odp: Zapalanie i gaszenie światła za pomocą czujki Satel
« Odpowiedź #4 dnia: Październik 08, 2018, 09:13:00 pm »
Boogie również dziękuję z isNight działa OK ale jeżeli po zapaleniu światła wyłączymy je łącznikiem to scena nadal odlicza czas do wyłączenia światła i nie pozwala do jego upłynięcia ponownie załączyć przez czujnik ruchu.
« Ostatnia zmiana: Październik 08, 2018, 10:40:26 pm wysłana przez krystian_man »