Sprawdzenie kodu LUA

  • 6 Odpowiedzi
  • 6360 Wyświetleń

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

*

Offline tom3sko

  • ** 94
  • 1
  • Nazwa i wersja ID: HC 2 4.110
Sprawdzenie kodu LUA
« dnia: Kwiecień 18, 2015, 08:37:32 pm »
Witajcie, chciałem sobie zrobić scene która będzie mi sprawdzać stan okien, a mianowicie czy są zamknięte wszystkie okna czy tez wszystkie okna są otwarte i tutaj mam kłopot, bo przy zastosowaniu kodu znajdującego się poniżej oba warunki zostają spełnione. Jak to zrobić inaczej ?

if (
 ( tonumber(fibaro:getValue(534, "value")) > 0  and  tonumber(fibaro:getValue(194, "value")) > 0  and  tonumber(fibaro:getValue(198, "value")) > 0 )
or
startSource["type"] == "other"
)
then
   fibaro:call(583, "pressButton", "13");
end

if (
 ( tonumber(fibaro:getValue(534, "value")) == 0  and  tonumber(fibaro:getValue(194, "value")) == 0  and  tonumber(fibaro:getValue(198, "value")) == 0 )
or
startSource["type"] == "other"
)
then
fibaro:call(12, "turnOn");
  end
*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
  • Nazwa i wersja ID: HC2
Odp: Sprawdzenie kodu LUA
« Odpowiedź #1 dnia: Kwiecień 18, 2015, 11:06:13 pm »
Wklej całą scenę. Jak ją wyzwalasz? Jeśli uruchomisz ją ręcznie to faktycznie oba warunki spełnione.


Wysłane z iPhone za pomocą Tapatalk
*

Offline tom3sko

  • ** 94
  • 1
  • Nazwa i wersja ID: HC 2 4.110
Odp: Sprawdzenie kodu LUA
« Odpowiedź #2 dnia: Kwiecień 19, 2015, 09:53:49 am »
urzadzenie wirtualne ma za zadanie odpalic ta scene a reszte ma zrobic scena

--[[
%% properties
value 534
value 194
value 198
%% globals
--]]

local startSource = fibaro:getSourceTrigger();

if (
 ( tonumber(fibaro:getValue(534, "value")) > 0  and  tonumber(fibaro:getValue(194, "value")) > 0  and  tonumber(fibaro:getValue(198, "value")) > 0 )
or
startSource["type"] == "other"
)
then
   fibaro:call(583, "pressButton", "13");
end

if (
 ( tonumber(fibaro:getValue(534, "value")) == 0  and  tonumber(fibaro:getValue(194, "value")) == 0  and  tonumber(fibaro:getValue(198, "value")) == 0 )
or
startSource["type"] == "other"
)
then
fibaro:call(12, "turnOn");
  end
*

Offline tom3sko

  • ** 94
  • 1
  • Nazwa i wersja ID: HC 2 4.110
Odp: Sprawdzenie kodu LUA
« Odpowiedź #3 dnia: Kwiecień 19, 2015, 10:11:05 am »
W ogóle to przymierzałem się do napisania sceny sprawdzającej które okno w domu jest otwarte i przed opuszczeniem domu scena miala mnie o tym powiadomic,  ale przy dzisiejszych testach zauważyłem ze warunki w ogole nie dzialaja, jest spelniony zawsze warunek ze wszystkie czujniki sa nie naruszone bądź wszystkie są naruszone mimo to że jedno okno jest otwarte. Teraz już wiem że bez zmiennych się nie obejdzie. Czy mógłby mi ktoś podpowiedzieć jak umieścić w skrypcie kod który zmieniał by wartość zmiennej po otwarciu bądź zamknięciu okna?
« Ostatnia zmiana: Kwiecień 19, 2015, 10:49:48 am wysłana przez tom3sko »
*

Offline Jacek

  • *** 117
  • 3
  • Nazwa i wersja ID: HC2 4.130, HC2 3.600, HCL 4.100
Odp: Sprawdzenie kodu LUA
« Odpowiedź #4 dnia: Kwiecień 19, 2015, 12:52:01 pm »
W ogóle to przymierzałem się do napisania sceny sprawdzającej które okno w domu jest otwarte i przed ......

--[[
%% properties

%% globals
--]]

local okonA = ( tonumber(fibaro:getValue(534, "value"));
local okonB = ( tonumber(fibaro:getValue(194, "value"));
local oknoC = ( tonumber(fibaro:getValue(198, "value"));

if okonA+oknoB+oknoC > 0 then
  fibaro:debug("okna lub okno otwarte !");
end

Jacek
*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
  • Nazwa i wersja ID: HC2
Odp: Sprawdzenie kodu LUA
« Odpowiedź #5 dnia: Kwiecień 19, 2015, 01:51:35 pm »
Jeśli urządzenie wirtualne wyzwala tą scenę, to ZAWSZE spełniony jest warunek "startSource["type"] == other", więc wartości value okien nie mają żadnego znaczenia. Wywal warunki startsource.
*

Offline tom3sko

  • ** 94
  • 1
  • Nazwa i wersja ID: HC 2 4.110
Odp: Sprawdzenie kodu LUA
« Odpowiedź #6 dnia: Kwiecień 19, 2015, 05:20:12 pm »
Dzieki za pomoc oczywiscie kod dziala, ale co z tego jak sie okazalo ze moje czujniki na oknach sa na ozdobę i w ogóle nie reagują na otwarcie. Już mam dosyc tego systemu, miarka się przebiera !!!

co najlepsze przy wyborze miękkiej rekonfiguracji urządzenia zawiesza się centralka ;(
« Ostatnia zmiana: Kwiecień 19, 2015, 05:23:55 pm wysłana przez tom3sko »