Motion Sensor - światło akwarium

  • 3 Odpowiedzi
  • 3607 Wyświetleń

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

*

Offline amis

  • * 14
  • 0
  • Nazwa i wersja ID: AMiS
Motion Sensor - światło akwarium
« dnia: Maj 21, 2019, 05:59:17 am »
Cześć,
Mam pewnie banalny problem z królem jednak nie mogę sobie poradzić :(
Otóż, potrzebuję w wykorzystaniem motion sensora i wbudowanego w nim czujnika natężenia światła włączać i wyłączać światło w akwarium. Chodzi mi o to aby po przekroczeniu w górę konkretnej liczby LUX światło się wyłączyło, a po spadnięciu wartości natężenia światła poniżej wartości granicznej aby ponownie się załączyło.
Niestety scena działa tak, że w nocy światło włącza się nie wiedzieć czemu. :(
Prośba o wskazówki, co robię źle.

Moja scena:
--[[
%% autostart
%% properties
409 value
%% weather
%% events
%% globals 
--]]
 
local startSource = fibaro:getSourceTrigger();

if (

  ( fibaro:getGlobalValue("PoraDnia") == "Dzień"  and tonumber(fibaro:getValue(409, "value")) >= 400
or  fibaro:getGlobalValue("PoraDnia") == "Wieczór"  and tonumber(fibaro:getValue(409, "value")) >= 400 )
    or
startSource["type"] == "other"
)
then
    fibaro:call(128, "turnOff");
else
    fibaro:call(128, "turnOn");
end


Drugie pytanie dotyczy czego innego a mianowicie jak zabezpieczyć scenę LUA aby nie uruchamiała się podczas uruchamiania centralki.

Z góry dziękuję za pomoc.


Wysłane z iPad za pomocą Tapatalk
*

Offline viperlodz

  • Moderator Globalny
  • ***** 838
  • 23
  • Nazwa i wersja ID: HC3 / HC2/ HC3L / Yubii
Odp: Motion Sensor - światło akwarium
« Odpowiedź #1 dnia: Maj 21, 2019, 08:28:44 am »
Masz na górze autostart ustawiony.
Jest problem z nawiasami.

Dodatkowo nie rozumiem w czym problem, że w nocy się włącza światło. Przecież w nocy lux musisz mieć poniżej 400 lux więc powinno się włączyć w akwarium.
*

Offline amis

  • * 14
  • 0
  • Nazwa i wersja ID: AMiS
Odp: Motion Sensor - światło akwarium
« Odpowiedź #2 dnia: Maj 23, 2019, 05:35:17 pm »
Hej,
Dzięki za sugestie, chociaż nie ogarniam o co chodzi z tymi nawiasami.
Tymczasem przerobiłem scenę i podzieliłem ją na dwa warunki.
Jeden w drugim.
I działa teraz ok.
Natomiast chętnie zgłębię temat błędów z nawiasami w pierwotnej scenie.
Pozdr.,


Wysłane z iPad za pomocą Tapatalk
*

Offline amis

  • * 14
  • 0
  • Nazwa i wersja ID: AMiS
Odp: Motion Sensor - światło akwarium
« Odpowiedź #3 dnia: Maj 30, 2019, 07:16:25 pm »
Cześć,
Mam kolejną prośbę o pomoc,
Scena działa światło załącza się pow. 700 lux i gaśnie poniżej 500 tak jak chciałem.
Natomiast chciałem jeszcze aby przesyłany był komunikat o włączeniu lub wyłączeniu urządzenia. Niestety mój pomysł na przypisanie do zmiennej stanu urządzenia i porównanie z obecnym stanem (po załączeniu lub wyłączeniu) nie przynosi rezultatu. :(
Czy mogę prosić o sugestię jak to rozwiązać.
Poniżej mój kod.
--[[
%% properties
409 value
%% weather
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
local CzyKomunikat

local stanLampy = tonumber(fibaro:getValue(128, "value"));
swiatlo ="xxx"
CzyKomunikat = 0

if (fibaro:getGlobalValue("PoraDnia") == "Dzień" or  fibaro:getGlobalValue("PoraDnia") == "Wieczór") then
  if (tonumber(fibaro:getValue(409, "value")) >= 700) then
  fibaro:call(128, "turnOff");
    if stanLampy ~= (tonumber(fibaro:getValue(128, "value"))) then
      CzyKomunikat = 1
swiatlo ="OFF / " ..  tonumber(fibaro:getValue(409, "value")) .. " -" 
end
    else
    if (tonumber(fibaro:getValue(409, "value")) <= 500) then
fibaro:call(128, "turnOn");
          if stanLampy ~= (tonumber(fibaro:getValue(128, "value"))) then
CzyKomunikat = 1
        swiatlo ="ON / " ..  tonumber(fibaro:getValue(409, "value")) .. " -"
  end
      end
  end
else
  fibaro:call(128, "turnOff");
    swiatlo ="OFF - NOC / "  ..  tonumber(fibaro:getValue(409, "value")) .. " -"
end

fibaro:debug("--------- debugging ----------")
fibaro:debug('<b><font color="red"> ' .. fibaro:getValue(409, "value") .. ' </font></b>')
fibaro:debug('<b><font color="green"> stanLampy: ' .. stanLampy .. ' </font></b>')
fibaro:debug('<b><font color="yellow"> stan włącznika: ' .. tonumber(fibaro:getValue(128, "value")) .. ' </font></b>')
fibaro:debug("--------- debugging ----------")

if CzyKomunikat == 1 then
api.post('/mobile/push',
    {["mobileDevices"]={223},
     ["message"]= swiatlo .. " " .. os.date("%d %B %Y, %H:%M"),
      ["title"]="światło akwarium",
      ["category"]='RUN_CANCEL',
      ["data"]={
        ["sceneId"]=134
      }
    });
  end

Pozdr.,
Mirek


Wysłane z iPad za pomocą Tapatalk