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).
Własna kompilacja GUI - wyłączanie RELAYA z poziomu kodu
-
lukfud
- Posts: 2480
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
- Has thanked: 13 times
- Been thanked: 11 times
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
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
Code: Select all
relay->turnOff();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ą?
-
lukfud
- Posts: 2480
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
- Has thanked: 13 times
- Been thanked: 11 times
Jeszcze raz i po koleipetione 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ą?
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
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
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?lukfud wrote: Tue Nov 23, 2021 8:28 amJeszcze raz i po koleipetione 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ą?
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ć.
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
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)
-
Goral64
- Posts: 3258
- Joined: Fri Dec 27, 2019 6:22 pm
- Location: Żerniki Wrocławskie
- Has thanked: 2 times
- Been thanked: 1 time
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...
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

-
lukfud
- Posts: 2480
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
- Has thanked: 13 times
- Been thanked: 11 times
AT dodajesz do czego chcesz, nie musi być to koniecznie przycisk.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...
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
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
-
lukfud
- Posts: 2480
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
- Has thanked: 13 times
- Been thanked: 11 times
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
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
-
Goral64
- Posts: 3258
- Joined: Fri Dec 27, 2019 6:22 pm
- Location: Żerniki Wrocławskie
- Has thanked: 2 times
- Been thanked: 1 time
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?lukfud wrote: Tue Nov 23, 2021 9:39 amCode: 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);
Widzimy się na Supla Offline Party Season 2026

-
lukfud
- Posts: 2480
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
- Has thanked: 13 times
- Been thanked: 11 times
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.Goral64 wrote: Tue Nov 23, 2021 10:34 amHmm, 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?lukfud wrote: Tue Nov 23, 2021 9:39 amCode: 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
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
