Fibaro Keyfob - sterowanie roletami

  • 6 Odpowiedzi
  • 2119 Wyświetleń

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

Fibaro Keyfob - sterowanie roletami
« dnia: 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.
*

Offline Jacek

  • *** 117
  • 3
  • Nazwa i wersja ID: HC2 4.130, HC2 3.600, HCL 4.100
Odp: Fibaro Keyfob - sterowanie roletami
« Odpowiedź #1 dnia: 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 )
Jacek
Odp: Fibaro Keyfob - sterowanie roletami
« Odpowiedź #2 dnia: 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..
*

Offline Jacek

  • *** 117
  • 3
  • Nazwa i wersja ID: HC2 4.130, HC2 3.600, HCL 4.100
Odp: Fibaro Keyfob - sterowanie roletami
« Odpowiedź #3 dnia: 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

Jacek
Odp: Fibaro Keyfob - sterowanie roletami
« Odpowiedź #4 dnia: Wrzesień 12, 2018, 09:40:05 pm »
W 32 linijce wyrzuca blad przy komendach "then", co tu nalezy podmienic?
*

Offline Jacek

  • *** 117
  • 3
  • Nazwa i wersja ID: HC2 4.130, HC2 3.600, HCL 4.100
Odp: Fibaro Keyfob - sterowanie roletami
« Odpowiedź #5 dnia: Wrzesień 13, 2018, 01:23:10 pm »
tam jest 2 x then. Wyrzuć jedno then np z 32 linii.
Jacek
Odp: Fibaro Keyfob - sterowanie roletami
« Odpowiedź #6 dnia: 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!