Własna kompilacja GUI - wyłączanie RELAYA z poziomu kodu

Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

lukfud pisze: wt lis 23, 2021 10:44 am Nie, AT_SHORT_PRESS_x2 to tylko nazwa (aby odpowiadała całemu mechanizmowi), mogło by być tu słowo "serdelki". Włączenie przekaźnika wyśle AT jako 2-klik, a wyłączenie jako 3-klik.
Aaaaa.... tak kombinujesz... ;)
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

Goral64 pisze: wt lis 23, 2021 10:57 am
lukfud pisze: wt lis 23, 2021 10:44 am Nie, AT_SHORT_PRESS_x2 to tylko nazwa (aby odpowiadała całemu mechanizmowi), mogło by być tu słowo "serdelki". Włączenie przekaźnika wyśle AT jako 2-klik, a wyłączenie jako 3-klik.
Aaaaa.... tak kombinujesz... ;)
Tak, AT wyślesz ze wszystkich elementów, do których można dodać akcje (addAction) np:

Kod: Zaznacz cały

em_0->addAction(Supla::SEND_AT_SHORT_PRESS_x2, at_[0], OnGreater(greater_volt, EmVoltage()));
em_0->addAction(Supla::SEND_AT_SHORT_PRESS_x2, at_[1], OnLess(less_volt, EmVoltage()));
em_0->addAction(Supla::SEND_AT_SHORT_PRESS_x3, at_[0], OnGreater(greater_amp, EmTotalCurrent()));
em_0->addAction(Supla::SEND_AT_SHORT_PRESS_x3, at_[1], OnLess(less_amp, EmTotalCurrent()));
em_0->addAction(Supla::SEND_AT_SHORT_PRESS_x4, at_[0], OnGreater(greater_watt, EmPowerActiveW()));
em_0->addAction(Supla::SEND_AT_SHORT_PRESS_x4, at_[1], OnLess(less_watt, EmPowerActiveW()));
https://www.facebook.com/groups/supladiy/
petione
Posty: 90
Rejestracja: sob lip 21, 2018 4:26 pm

Dzieki, będę testował.🙂
A czy istnieje jakis timer wbudowany w biblioteke i jak go ewentualnie wywołać/użyć np czas po ktorym przekaźnik sie wylaczy?
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

petione pisze: wt lis 23, 2021 11:25 am Dzieki, będę testował.🙂
A czy istnieje jakis timer wbudowany w biblioteke i jak go ewentualnie wywołać/użyć np czas po ktorym przekaźnik sie wylaczy?
Jest, ale lepiej dodaj:

Kod: Zaznacz cały

relay->keepTurnOnDuration();
i ustaw sobie w Cloud automat schodowy
https://www.facebook.com/groups/supladiy/
petione
Posty: 90
Rejestracja: sob lip 21, 2018 4:26 pm

lukfud pisze: wt lis 23, 2021 11:31 am
petione pisze: wt lis 23, 2021 11:25 am Dzieki, będę testował.🙂
A czy istnieje jakis timer wbudowany w biblioteke i jak go ewentualnie wywołać/użyć np czas po ktorym przekaźnik sie wylaczy?
Jest, ale lepiej dodaj:

Kod: Zaznacz cały

relay->keepTurnOnDuration();
i ustaw sobie w Cloud automat schodowy
Nie da rady, czas załączenia jest zmienny w zależności od stanu czujnika na jednym z wejść. Oczywiście bez problemu mogę zrobić samemu timer ale jak by już był....


Generalnie dla zainteresowanych działa to tak w oparciu o Primary GUI.
Urządzeniem jest brama przesuwna z fabrycznym automatem i krańcówkami z dołożonym ESP celem uzyskania poniższej funkcjonalności.

Gdy brama się otwiera zapala się oświetlenie które na czas otwierania/zamykania miga (przygasa poprzez sterowanie PWM). Gdy brama się otworzy światło świeci światłem ciągłym na czas np. 20min. Gdy się zamknie to oświetlenie działa przez 10s. Oświetlenie załącza się tylko w dzień w zależności od czujnika oświetlenia. Rozpoczęcie otwierania sygnalizowane jest pojedynczym dźwiękiem a zamykanie podwójnym. Wszystkie opisane parametry jak czasy, czułość wykrywania dzień/noc są konfigurowalne z poziomu strony WWW. Oświetlenie można tez "ręczenie" załączyć z clouda jako właśnie automat schodowy co pozwala na automatyczne wyłączenie np. po 1godzinie aby nie działało całą noc jak mi się zapomni wyłączyć...
I teraz moje marzenie aby przepisać to na nową bibliotekę i przy okazji wykorzystać nowe możliwości/nauczyć się czegoś nowego.
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

petione pisze: wt lis 23, 2021 12:21 pm Nie da rady, czas załączenia jest zmienny w zależności od stanu czujnika na jednym z wejść. Oczywiście bez problemu mogę zrobić samemu timer ale jak by już był....

Kod: Zaznacz cały

relay->turnOn(czas w ms, po którym przekaźnik się wyłączy);
https://www.facebook.com/groups/supladiy/
petione
Posty: 90
Rejestracja: sob lip 21, 2018 4:26 pm

A czy można jakoś sprawdzić w kodzie stan przekaźnika wirtualnego? . Gdyby tak to można by to wykorzystać do załączania jakiejś opcji bezpośrednio z clouda
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

petione pisze: pt lis 26, 2021 7:35 am A czy można jakoś sprawdzić w kodzie stan przekaźnika wirtualnego? . Gdyby tak to można by to wykorzystać do załączania jakiejś opcji bezpośrednio z clouda

Kod: Zaznacz cały

relay/vrelay->isOn();
Zwraca prawdę albo fałsz
https://www.facebook.com/groups/supladiy/
petione
Posty: 90
Rejestracja: sob lip 21, 2018 4:26 pm

Super ;)
A idąc tym tokiem... W cloudzie jedyna kontrolka dająca możliwość regulacji to chyba Dimmer. Czy nie można przy użyć właśnie "suwaka" od Dimmera do regulacji jakiejś zmiennej?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

petione pisze: pt lis 26, 2021 8:12 am Super ;)
A idąc tym tokiem... W cloudzie jedyna kontrolka dająca możliwość regulacji to chyba Dimmer. Czy nie można przy użyć właśnie "suwaka" od Dimmera do regulacji jakiejś zmiennej?
Da się. Dostajesz zakres liczb 0-100.
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „GUI Generic”