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

petione
Posts: 121
Joined: Sat Jul 21, 2018 4:26 pm

Post

Witam.
Kompiluje sobie sam GUI celem dostosowania do własnych celów. Kiedyś robiłem swój programik z wykorzystaniem Primary GUI lecz zapragnęły mi się nowe fiuczery i chciałbym spróbować uruchomić nową wersję tego cudowne softu.
Mianowicie (proszę wybaczyć za niefachowy język) jak z poziomu kodu wyłączyć przekaźnik tak aby ten fakt zaistniał również w cloudzie. Dla starej biblioteki SuplaDevice była to (chyba) komenda przykładowo SuplaDevice.relayOff(4). A jak będzie wyglądała teraz?

Potrzebuje takiej funkcjonalności bo przykładowo oświetlenie mogę włączać/wyłączać z poziomu clouda ale w zależności od różnych czynników samo urządzenie może też wyłączyć lub włączyć to oświetlenie. Nie chodzi mi tu o wykorzystanie funkcjonalności Buttona , ponieważ warunki wyłączenia są zależne od większej ilości czynników (warunków).
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

petione wrote: Mon Nov 22, 2021 12:59 pm Witam.
Kompiluje sobie sam GUI celem dostosowania do własnych celów. Kiedyś robiłem swój programik z wykorzystaniem Primary GUI lecz zapragnęły mi się nowe fiuczery i chciałbym spróbować uruchomić nową wersję tego cudowne softu.
Mianowicie (proszę wybaczyć za niefachowy język) jak z poziomu kodu wyłączyć przekaźnik tak aby ten fakt zaistniał również w cloudzie. Dla starej biblioteki SuplaDevice była to (chyba) komenda przykładowo SuplaDevice.relayOff(4). A jak będzie wyglądała teraz?

Potrzebuje takiej funkcjonalności bo przykładowo oświetlenie mogę włączać/wyłączać z poziomu clouda ale w zależności od różnych czynników samo urządzenie może też wyłączyć lub włączyć to oświetlenie. Nie chodzi mi tu o wykorzystanie funkcjonalności Buttona , ponieważ warunki wyłączenia są zależne od większej ilości czynników (warunków).

Code: Select all

relay->turnOff();
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
petione
Posts: 121
Joined: Sat Jul 21, 2018 4:26 pm

Post

Code: Select all

relay->turnOff();
Dzięki wielkie.

Mam natomiast kolejne pytania.

AT działa dla wszelkiego rodzaju przycisków czujników itp. A czy istnieje możliwość przypisania AT do relaya (widocznego oczywiście w cloud), uruchamianego poprzez własny kod programu? Wiem że można wykorzystać tutaj linki symboliczne ale gdy z poziomu kodu dodam swój relay to nie pojawi się on chyba na stronie konfiguracyjnej i nie ma wtedy możliwości przypisania linków a tak można by to było skonfigurować po stronie clouda.

I tutaj kolejne pytanie z tym powiązane. Gdy dodam z poziomu własnego kodu relaya to czy mogę go jakoś zobaczyć z poziomu strony konfiguracyjnej czyli czy strona konfiguracyjna przy włączeniu jej pokaże ze istnieje przekaźnik przypisany do określonego wyjścia.

A może można poprostu z poziomu kodu jakoś sterować relayem, który został utworzony przez stronę konfiguracyjną?
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

petione wrote: Tue Nov 23, 2021 8:15 am Mam natomiast kolejne pytania.
1 - AT działa dla wszelkiego rodzaju przycisków czujników itp. A czy istnieje możliwość przypisania AT do relaya (widocznego oczywiście w cloud), uruchamianego poprzez własny kod programu? Wiem że można wykorzystać tutaj linki symboliczne ale gdy z poziomu kodu dodam swój relay to nie pojawi się on chyba na stronie konfiguracyjnej i nie ma wtedy możliwości przypisania linków a tak można by to było skonfigurować po stronie clouda.
2 - I tutaj kolejne pytanie z tym powiązane. Gdy dodam z poziomu własnego kodu relaya to czy mogę go jakoś zobaczyć z poziomu strony konfiguracyjnej czyli czy strona konfiguracyjna przy włączeniu jej pokaże ze istnieje przekaźnik przypisany do określonego wyjścia.
3 - A może można poprostu z poziomu kodu jakoś sterować relayem, który został utworzony przez stronę konfiguracyjną?
Jeszcze raz i po kolei :)
1 - Chcesz AT wykonać stanem przekaźnika? Jeśli tak, to można to zrobić.
2 - Jeśli dodasz coś w kodzie poza mechanizmem dodawania elementów (przyciski, przekaźniki, czujniki) to wątpię aby pokazało się to na stronie konfiguracyjnej.
3 - można, o ile wiesz w którym miejscu, co dopisać.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
petione
Posts: 121
Joined: Sat Jul 21, 2018 4:26 pm

Post

lukfud wrote: Tue Nov 23, 2021 8:28 am
petione wrote: Tue Nov 23, 2021 8:15 am Mam natomiast kolejne pytania.
1 - AT działa dla wszelkiego rodzaju przycisków czujników itp. A czy istnieje możliwość przypisania AT do relaya (widocznego oczywiście w cloud), uruchamianego poprzez własny kod programu? Wiem że można wykorzystać tutaj linki symboliczne ale gdy z poziomu kodu dodam swój relay to nie pojawi się on chyba na stronie konfiguracyjnej i nie ma wtedy możliwości przypisania linków a tak można by to było skonfigurować po stronie clouda.
2 - I tutaj kolejne pytanie z tym powiązane. Gdy dodam z poziomu własnego kodu relaya to czy mogę go jakoś zobaczyć z poziomu strony konfiguracyjnej czyli czy strona konfiguracyjna przy włączeniu jej pokaże ze istnieje przekaźnik przypisany do określonego wyjścia.
3 - A może można poprostu z poziomu kodu jakoś sterować relayem, który został utworzony przez stronę konfiguracyjną?
Jeszcze raz i po kolei :)
1 - Chcesz AT wykonać stanem przekaźnika? Jeśli tak, to można to zrobić.
2 - Jeśli dodasz coś w kodzie poza mechanizmem dodawania elementów (przyciski, przekaźniki, czujniki) to wątpię aby pokazało się to na stronie konfiguracyjnej.
3 - można, o ile wiesz w którym miejscu, co dopisać.
1. Jak więc wykonać AT stanem przekaźnika? Dodałem w kodzie swój relay ale w cloudzie nie widzę nigdzie żadnej opcji związanej z AT tak jak jest to choćby po dodaniu przycisku. Może w kodzie potrzebna jest jakaś dodatkowa konfiguracja aby przekaźnik wspierał AT?
2. Tak też myślałem stąd poniekąd ptk 1 rozwiązywał by ten problem (ale z ciekawości musze spróbować co się stanie jak przez WWW dodam przekaźnik przypisany do tego samego pinu co w kodzie - pewnie konflikt kanałów?).
3. No właśnie nie wiem jak to ewentualnie ugryźć ale znów pkt 1 pozwoli rozwiązać mój problem aczkolwiek i tak będę musiał wróć w kolejnych pytaniach do tego tematu bo będę potrzebował zmiennej regulowanie ze strony WWW (w Primary GUI udało mi się to ale tutaj jakoś inaczej są dodawane wpisy widoczne w stronie konfiguracyjnej a ja się dopiero wgryzam po dłuższej przerwie :roll: )

Generalnie chodzi o to że kod uruchamia na podstawie własnych warunków oświetlenie w urządzeniu A a zamiar jest taki aby zdalnie bez kabelków uruchomić na ten sam czas oświetlenie w urządzeniu B)
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

AT oparte jest o Przycisk (Button), nie o Przekaźnik (Relay)
O ile się nie mylę, to GUI Generic obsługę AT ma jeszcze tylko w gałęzi develop, więc jeśli kompilujesz na podstawie master to ten tego...
Widzimy się na Supla Offline Party Season 2026 :D

Image
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Goral64 wrote: Tue Nov 23, 2021 9:20 am AT oparte jest o Przycisk (Button), nie o Przekaźnik (Relay)
O ile się nie mylę, to GUI Generic obsługę AT ma jeszcze tylko w gałęzi develop, więc jeśli kompilujesz na podstawie master to ten tego...
AT dodajesz do czego chcesz, nie musi być to koniecznie przycisk.
Nie istotna jest wersja samego GG, ale biblioteki, skoro @petione chce to sobie sam dopisać.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

petione wrote: Tue Nov 23, 2021 9:14 am Generalnie chodzi o to że kod uruchamia na podstawie własnych warunków oświetlenie w urządzeniu A a zamiar jest taki aby zdalnie bez kabelków uruchomić na ten sam czas oświetlenie w urządzeniu B)

Code: Select all

auto relay = new Supla::Control::Relay(relay_pin);
auto at = new Supla::Control::ActionTrigger();
at->setRelatedChannel(relay);
relay->addAction(Supla::SEND_AT_SHORT_PRESS_x2, at, Supla::ON_TURN_ON);
relay->addAction(Supla::SEND_AT_SHORT_PRESS_x3, at, Supla::ON_TURN_OFF);
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

lukfud wrote: Tue Nov 23, 2021 9:39 am

Code: Select all

auto relay = new Supla::Control::Relay(relay_pin);
auto at = new Supla::Control::ActionTrigger();
at->setRelatedChannel(relay);
relay->addAction(Supla::SEND_AT_SHORT_PRESS_x2, at, Supla::ON_TURN_ON);
relay->addAction(Supla::SEND_AT_SHORT_PRESS_x3, at, Supla::ON_TURN_OFF);
Hmm, to by oznaczało, że szybkie załączenie przekaźnika 2 razy włączy ten przekaźnik a szybkie załączenie przekaźnika 3 razy go wyłączy?
Widzimy się na Supla Offline Party Season 2026 :D

Image
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Goral64 wrote: Tue Nov 23, 2021 10:34 am
lukfud wrote: Tue Nov 23, 2021 9:39 am

Code: Select all

auto relay = new Supla::Control::Relay(relay_pin);
auto at = new Supla::Control::ActionTrigger();
at->setRelatedChannel(relay);
relay->addAction(Supla::SEND_AT_SHORT_PRESS_x2, at, Supla::ON_TURN_ON);
relay->addAction(Supla::SEND_AT_SHORT_PRESS_x3, at, Supla::ON_TURN_OFF);
Hmm, to by oznaczało, że szybkie załączenie przekaźnika 2 razy włączy ten przekaźnik a szybkie załączenie przekaźnika 3 razy go wyłączy?
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.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl

Return to “GUI Generic”