Wyzwalacz Akcji / Action Trigger

Awatar użytkownika
klew
Posty: 8289
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

lukfud pisze: pt lis 05, 2021 1:16 pm

Kod: Zaznacz cały

AT[1] received config with active actions: 1024
AT[3] received config with active actions: 0
Źle się wyraziłem, aktywne akcje.
Przy mROW zauważyłem zależność: ustawiony wyzwalacz w Cloud, przycisk działa na ON_CLICK, brak ustawionych wyzwalaczy, przycisk działa na ON_PRESS/CHANGE
Nie ma gettera na coś ten parametr, ale łatwo można to dodać.
Myślę, że bardziej problematyczna będzie zmiana konfiguracji przycisków (trzeba by zmieniać ON_PRESS/ON_RELEASE na ON_CLICK_1 i vice versa).
W SuplaDevice przyciski nie są mocno związane z przekaźnikami, jak w supla-espressifie i te ustawienia ON_PRESS czy ON_CLICK_1 robi się "ręcznie" dla każdego przycisku.
Pomyślę nad tym - może warto wprowadzić takie usprawnienie, że gdy tylko ON_CLICK_1 jest ustawiony i aktywny, to będzie on wyzwalany np. na "ON_PRESS".
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
lukfud
Posty: 2101
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

klew pisze: pt lis 05, 2021 1:27 pm Pomyślę nad tym - może warto wprowadzić takie usprawnienie, że gdy tylko ON_CLICK_1 jest ustawiony i aktywny, to będzie on wyzwalany np. na "ON_PRESS".
Ustawiony i "nie aktywny" ? czy nie rozumiem? :)

To jest oczywiście kosmetyka, na tą chwilę po wyzerowaniu akcji moduł musiałby się zrestartować. Po wysłaniu posta dotarło do mnie, że i tak przełączenie do konfiguracji wymaga ON_CLICK aby nie żonglować przekaźnikiem.
https://www.facebook.com/groups/supladiy/
Awatar użytkownika
klew
Posty: 8289
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

lukfud pisze: pt lis 05, 2021 1:34 pm
klew pisze: pt lis 05, 2021 1:27 pm Pomyślę nad tym - może warto wprowadzić takie usprawnienie, że gdy tylko ON_CLICK_1 jest ustawiony i aktywny, to będzie on wyzwalany np. na "ON_PRESS".
Ustawiony i "nie aktywny" ? czy nie rozumiem? :)

To jest oczywiście kosmetyka, na tą chwilę po wyzerowaniu akcji moduł musiałby się zrestartować. Po wysłaniu posta dotarło do mnie, że i tak przełączenie do konfiguracji wymaga ON_CLICK aby nie żonglować przekaźnikiem.
Tak, wejście w config by wykluczało takie usprawnienie.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
lukfud
Posty: 2101
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

klew pisze: pt lis 05, 2021 1:43 pm
lukfud pisze: pt lis 05, 2021 1:34 pm
klew pisze: pt lis 05, 2021 1:27 pm Pomyślę nad tym - może warto wprowadzić takie usprawnienie, że gdy tylko ON_CLICK_1 jest ustawiony i aktywny, to będzie on wyzwalany np. na "ON_PRESS".
Ustawiony i "nie aktywny" ? czy nie rozumiem? :)
To jest oczywiście kosmetyka, na tą chwilę po wyzerowaniu akcji moduł musiałby się zrestartować. Po wysłaniu posta dotarło do mnie, że i tak przełączenie do konfiguracji wymaga ON_CLICK aby nie żonglować przekaźnikiem.
Tak, wejście w config by wykluczało takie usprawnienie.
W takim razie nie było tematu ;) dzięki
https://www.facebook.com/groups/supladiy/
local
Posty: 491
Rejestracja: pn sty 27, 2020 11:33 am

Nie można by było sobie np zdefiniować akcji on click jako lokalnej bez konieczności przesyłania do clouda ?
4xShelly 1, Shelly 1L, 2xShelly 2.5, Sonoff T3, 2xSonoff Basic R2, 4xNeo 16A
Awatar użytkownika
klew
Posty: 8289
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

local pisze: pt lis 05, 2021 5:27 pm Nie można by było sobie np zdefiniować akcji on click jako lokalnej bez konieczności przesyłania do clouda ?
W swoim sofcie lokalne akcje możesz ustawiać do woli od dawna ;)
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
lukfud
Posty: 2101
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

To pewnie jest kwestia Cloud, ale:

Kiedy mam włączone RGB na np. 20% i ustawiony AT w Cloud na "przełącz" to po wykonaniu akcji kolor rozjaśnia się na 100%, po kolejnym wykonaniu nic się nie dzieje, RGB nie wyłącza się.
Kiedy RGB jest wyłączone, wykonanie akcji ustawia kolor na 100%, nie na ostatnią zapamiętaną wartość, kolejne wykonanie nie wyłącza.

Przy ściemniaczu wyłącza i włącza, ale nie na ostatnią zapamiętaną wartość.
https://www.facebook.com/groups/supladiy/
Awatar użytkownika
klew
Posty: 8289
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Na branchu develop https://github.com/SUPLA/supla-arduino/tree/develop wrzuciłem dodatki do ActionTrigger (AT).

Została dodana automatyczna zmiana konfiguracji przycisku, gdy mamy dodany do niego AT oraz jakąś lokalną akcję (np. przełączanie przekaźnika dla ON_PRESS).

Biblioteka będzie sama przestawiać taką lokalną akcję na zdarzenie "ON_CLICK_1", gdy otrzyma informację o tym, że są ustawione wyzwalacze na serwerze i vice versa.

Aby automat działał, należy trzymać się następujących wytycznych:
- używamy powiązania at z przyciskiem za pomocą "at->attach(button);"
- w momencie wywołania metody "onInit" (czyli w miejscu gdzie program główny wywołuje SuplaDevice.begin) nie ma przypisanej żadnej akcji dla zdarzenia ON_CLICK_1

Dodatkowo dla przycisków monostabilnych:
- w momencie wywołania metody "onInit" jest przypisana akcja wyłącznie dla ON_PRESS lub dla ON_RELEASE

Dodatkowo dla przycisków bistabilnych:
- w momencie wywołania metody "onInit" jest przypisana akcja wyłącznie dla ON_CHANGE
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posty: 5198
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

dziękujemy dobry człowieku :)

czy drugi parametr jest konieczny setMulticlickTime(800, true)? czy nie dałoby się wykrywać tego na podstawie odpowiednich akcji?
https://gui-generic-builder.supla.io/
Awatar użytkownika
klew
Posty: 8289
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

krycha88 pisze: pn lis 08, 2021 12:58 pm dziękujemy dobry człowieku :)

czy drugi parametr jest konieczny setMulticlickTime(800, true)? czy nie dałoby się wykrywać tego na podstawie odpowiednich akcji?
Mogę dodać osobną metodą do ustawiania typu przycisku.
Ale ogólnie przy wykrywaniu wieloklików należy dodać to "true" dla bistabilnego, bo on jeszcze zmienia logikę wykrywania zdarzeń - bez niego nie wykryje poprawnie on_click_x, bo Button czeka na zwolnienie przycisku, które w bistabilnym może się nie wydarzyć.
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „Arduino IDE”