Obsługa przycisków w SuplaDevice

WinstonW
Posts: 22
Joined: Fri Jul 10, 2020 3:50 pm

Post


...............

Klasa FixedDurationRelay ma nadpisaną metodę "turnOn()" z klasy Relay i wywołuję ją zawsze podając parametr "fixedDurationMs" jako czas włączenia przekaźnika.
Taka implementacja spowoduje, że niezależnie jak ustawiony będzie przekaźnik w cloud, będzie on załączany na taki czas, jaki określisz w kodzie.
Bardzo dziękuje o taką funkcje chodziło ;)
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Ok, to właściwe miejsce.
pzygmunt wrote: Mon Jul 06, 2020 8:12 am Automat schodowy:
- Ustawienie czasu na stałe na cloud.supla.org
- Ten czas jest odliczany niezależnie czy naciśnięto "Włącz" w aplikacji czy naciśnięto przycisk fizyczny
@klew, biblioteka na tą chwilę nie wspiera wyzwalania automatu z przycisku fizycznego. Jest szansa na dodanie?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukfud wrote: Sun Sep 06, 2020 7:49 pm Ok, to właściwe miejsce.
pzygmunt wrote: Mon Jul 06, 2020 8:12 am Automat schodowy:
- Ustawienie czasu na stałe na cloud.supla.org
- Ten czas jest odliczany niezależnie czy naciśnięto "Włącz" w aplikacji czy naciśnięto przycisk fizyczny
@klew, biblioteka na tą chwilę nie wspiera wyzwalania automatu z przycisku fizycznego. Jest szansa na dodanie?
Na chwilę obecną można to obejść używając FixedDurationRelay opisanego kilka postów wyżej.
Wsparcie pojawi się, jak zrobię zapis do pamięci. Używanie automatu schodowego jest konfigurowane z clouda, więc przekaźnik będzie zapamiętywał ostatnio wysłany czas i używał go do przełączania przekaźnika. Pewnie pojawią się nowe akcje "TIMED_TURN_ON" oraz "TIMED_TURN_OFF" które będzie można przypisać jako akcje do przycisków, natomiast w samym przekaźniku będzie można ustawić czas "on" i "off" na wartość ustawianą w programie (np. w kodzie, albo w gui - jak ktoś sobie to zaimplementuje), lub na wartość automatyczną z clouda.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Serwer i tak jest informowany o zmianie stanu przekaźnika, to dlaczego nie może odpowiadać ustawioną funkcją?
Jak dobrze zrozumiałem, po włączeniu przekaźnika, serwer zwraca czas z którym możemy / musimy coś zrobić. A nie może go po prostu wyłączyć?
Oprócz dodatkowych możliwości będzie zdublowane "pilnowanie czasu" dla automatu, przez serwer po wyzwoleniu z aplikacji i przez urządzenie po wyzwoleniu z przycisku.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukfud wrote: Sun Sep 06, 2020 8:33 pm Serwer i tak jest informowany o zmianie stanu przekaźnika, to dlaczego nie może odpowiadać ustawioną funkcją?
Jak dobrze zrozumiałem, po włączeniu przekaźnika, serwer zwraca czas z którym możemy / musimy coś zrobić. A nie może go po prostu wyłączyć?
Oprócz dodatkowych możliwości będzie zdublowane "pilnowanie czasu" dla automatu, przez serwer po wyzwoleniu z aplikacji i przez urządzenie po wyzwoleniu z przycisku.
Serwer nie wyłącza automatów schodowych. On wysyła wiadomość w stylu: włącz światło na 20 s. Za obliczenie czasu i wyłączenie przekaźnika, jest odpowiedzialne urządzenie. Nic nie będzie zdublowane, bo serwer tego czasu nie pilnuje.
Do tego urządzienie wykonawcze nie zna konfiguracji kanału w cloud. Więc nie wie jaka jest ustawiona funkcja.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Fakt, w sumie bez połączenia z serwerem nic by nie działało.
W którym momencie urządzenie będzie pobierało z cloud ustawiony tam czas? Zaraz po zapisie, czy po każdym włączeniu przekaźnika?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukfud wrote: Sun Sep 06, 2020 8:58 pm Fakt, w sumie bez połączenia z serwerem nic by nie działało.
W którym momencie urządzenie będzie pobierało z cloud ustawiony tam czas? Zaraz po zapisie, czy po każdym włączeniu przekaźnika?
Chyba tego nie da się pobrać z serwera. Serwer wysyła ten czas, przy każdym włączeniu przekaźnika z aplikacji.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Hm, to co miał @pzygmunt na myśli pisząc, że czas jest odmierzany po naciśnięciu fizycznego przycisku. Skoro urządzenie odmierza czas to musi być zapisana jego wartość i to po każdej zmianie w cloud.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Urządzenie musi czekać na rozkaz aby zapamiętać aktualne ustawienia czasu. Tak czy owak dodam funkcję, którą urządzenie będzie mogło sobie pobrać ustawienia zaraz po połączeniu z serwerem.
SUPLA.... Nareszcie w domu.
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

To by zapewne znacznie ułatwiło.
@klew, czy taką informację z serwera mógłbyś przechwycić do zmiennej i już bez dodatkowych akcji przycisku, zmienić działanie przekaźnika tak, aby wyłączał się po czasie ze zmiennej. Zapis do pamięci mógłby być dodawany przez osobę kompilującą program
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl

Return to “Arduino IDE”