Forum użytkowników automatyki budynkowej

Z-wave => Fibaro - urządzenia => Wątek zaczęty przez: uhaehuehehe w Sierpień 25, 2018, 11:24:07 pm

Tytuł: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: uhaehuehehe w Sierpień 25, 2018, 11:24:07 pm
Po podłączeniu keyfob z roller shutterem, mogę sterować roletami w ograniczony sposób. Mianowicie, naciśnięcie jednego przycisku powoduje  ze roleta albo jedzie maksymalnie do dołu, drugie naciśnięcie sprawia ze roleta jedzie maksymalnie do góry. Jak zrobić, by przycisk wywoływał ruch rolety np do góry, kolejne naciśnięcie zatrzymywało ten ruch, a trzecie odwracało? Zmiana parametrów na 1 lub 2 sprawia, ze roleta jedzie caly czas do dołu.
Tytuł: Odp: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: Jacek w Sierpień 26, 2018, 10:44:01 am
Uruchamiaj scenę KeyFobem. W scenie zrób sobie sekwencję doł-stop-góra-stop dla kolejnych wciśnięć tego samego klawisza KeyFoba. Sekwencję wykonaj stosując np zmienną globalną opisując jej wartość po każdym wciśnięciu jako:
1 - dół
2 - stop przy dół ( również dla całkowitego zamknięcia )
3 - góra
4 - stop przy góra ( również dla całkowitego otwarcia )
Tytuł: Odp: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: uhaehuehehe w Sierpień 29, 2018, 09:33:07 pm
Czy mogę poprosić  o wytłumaczenie jak w ogóle dodać takie sekwencje dol >stop>gora>stop w scenie zeby pozniej moc je aktywowac keyfobem? nie moge sobie z tym poradzic..
Tytuł: Odp: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: Jacek w Sierpień 30, 2018, 11:57:50 am
wstaw kod do sceny, którą będziesz uruchamiał klawiszem KeyFoba

   
-- za xxx podstaw id markizy/rolety
-- utwórz globalną zmienną o nazwie "StanMarkizy" z początkową wartością = 1 przy
-- zamknietej markizie/rolecie
local idMarkizy = xxx;
local LocStanMarkizy = tonumber(fibaro:getGlobalValue("StanMarkizy"));
    -- fibaro:debug("stan: "..LocStanMarkizy);
    if LocStanMarkizy == 1
      then
      fibaro:call(idMarkizy, "open");
      fibaro:setGlobal("StanMarkizy", "2");
      fibaro:abort();
    end
    if LocStanMarkizy == 2
      then
      fibaro:call(idMarkizy, "stop");
      fibaro:setGlobal("StanMarkizy", "3");
      fibaro:abort();
    end
    if LocStanMarkizy == 3
      then
      fibaro:call(idMarkizy, "close");
      fibaro:setGlobal("StanMarkizy", "4");
      fibaro:abort();
    end
    if LocStanMarkizy == 4
      then
      fibaro:call(idMarkizy, "stop");
      fibaro:setGlobal("StanMarkizy", "1");
      fibaro:abort();
    end
    if LocStanMarkizy < 1 or LocStanMarkizy > 4 then
      then
      fibaro:call(idMarkizy, "close");
      fibaro:setGlobal("StanMarkizy", "1");
      fibaro:abort();
    end

Tytuł: Odp: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: uhaehuehehe w Wrzesień 12, 2018, 09:40:05 pm
W 32 linijce wyrzuca blad przy komendach "then", co tu nalezy podmienic?
Tytuł: Odp: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: Jacek w Wrzesień 13, 2018, 01:23:10 pm
tam jest 2 x then. Wyrzuć jedno then np z 32 linii.
Tytuł: Odp: Fibaro Keyfob - sterowanie roletami
Wiadomość wysłana przez: uhaehuehehe w Wrzesień 14, 2018, 08:52:14 pm
Tak wlasnie robilem caly czas ale nie działało, usunięcie nawet jednego "then" pokazywalo jakies bledy. Podobnie keyfob sam w sobie, nie dało sie w ogole dodac urządzenia, ładowanie strony trwało i trwało. Po aktualizacji software - wszystko działa. Kod dodany, rolety pracują jak należy. Cieszy mnie, że nie zostawiacie bez pomocy osób które dopiero zaczynają zabawę z tym systemem. Dzięki za pomoc!