Cześć,
mam pewien pomysł i z tego pojawił się problem - potrzebuje uruchomić jakąś akcje programowo na podstawie zbioru warunków. Akcja z góry nie jest znana, ale jest wśród moich kanałów. Wymyśliłem sobie, ze użyję ActionTrigger, ale niestety wygląda na to, ze jest on przypinany jedynie do buttonów.
Czy jest jakaś możliwość programowego uruchamiania ActionTrigger? A mo ze coś w rodzaju "virtual_button"? Zrobiłem kilka różnych podejść i na razie bez skutku. Wszelkie sugestie mile widziane.
ActionTrigger wywoływany "programowo"?
-
Zibi
- Posts: 646
- Joined: Wed Jul 31, 2019 9:20 am
- Location: Białogard
Tez ostatnio kombinowałem i chciałem użyć AT do programowego wyzwolenia taki Virtual AT, ale jednak się nie dalo. Chciałem tego użyć do pilota od TV żeby nie mieć wiadro pilotów to wykorzystuje pilot od TV ma sporo wolnych przycisków zasłaniam rolety itp i ostatnio chciałem zrobić w lampce która ma 2 żarówki.
To zrobiłem to inaczej napisałem logikę pod IR zaciągnąłem do Supli i śmiga aż miło taka Supla IR AT
jednym przyciskiem na pilocie wykonuje akcje:
1 klik włącz/wyłącz pierwszą żarówkę
2 klik włącz/ wyłącz drugą żarówkę
Przytrzymanie przycisku wyłącza 2 żarówki.
To zrobiłem to inaczej napisałem logikę pod IR zaciągnąłem do Supli i śmiga aż miło taka Supla IR AT
1 klik włącz/wyłącz pierwszą żarówkę
2 klik włącz/ wyłącz drugą żarówkę
Przytrzymanie przycisku wyłącza 2 żarówki.
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Tutaj jest przykład jak dodać AT do dowolnego warunku: viewtopic.php?t=9503
Najlepsze suple dla Twojego domu 
-
KaDet
- Posts: 52
- Joined: Fri Nov 27, 2020 5:06 pm
- Location: Dąbrowa Górnicza
Prawdę mówiąc zanim napisałem posta przeczytałem ten watek pare razy, ale mnie nie naprowadził. @klew - napisałeś tam: "Gorzej będzie jak ludzie się zorientują, że sensor poczty może wysyłać AT. Albo gdy pobór/produkcja prądu jest powyżej/poniżej jakiejś wartości. Albo gdy termometr pokaże pewną temperaturę" i właśnie o cos podobnego mi chodzi
Mam zestaw parametrów jakie śledzę w oczku wodnym i przy określonej ich kombinacji chcę wyłączyć pompę (lub jakąś grupę urządzeń). Można to zrobić za pomocą direct linków, ale nie udaje mi się nawiązać połączenia https jak działa supla i elmaya doradził/a mi by używać ActionTrigger. W tamtym przypadku problem rozwiązałem, ale było to oparte na "buttonach". Tu nie mam pomysłu.
Ponieważ, @klew, napisałeś również, że "Biblioteka nie ma tutaj żadnych ograniczeń i wyzwalacze można przypisywać do dowolnych zdarzeń w ramach urządzenia (np. do sensorów binarnych, albo po przekroczeniu zadanej temperatury, itd.)" - próbowałem zrobić coś takiego:
w tu coś 1 i 2 wstawiałem rozmaite wartości z actions i zmieniałem stan sensora poprzez set()/clear() - niestety tez nie działało. Prosiłbym o jakąś wskazówkę w jaki sposób sensor może wywoływać AT (być może gdzieś się zagmatwałem) i spróbuję pójść tą drogą.
Ponieważ, @klew, napisałeś również, że "Biblioteka nie ma tutaj żadnych ograniczeń i wyzwalacze można przypisywać do dowolnych zdarzeń w ramach urządzenia (np. do sensorów binarnych, albo po przekroczeniu zadanej temperatury, itd.)" - próbowałem zrobić coś takiego:
Code: Select all
auto at = new Supla::Control::ActionTrigger();
auto virtual_binary= new Supla::Sensor::VirtualBinary();
virtual_binary->addAction([tu coś 1],at,[tu coś2]);
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
KaDet wrote: Wed Jun 22, 2022 7:30 am Ponieważ, @klew, napisałeś również, że "Biblioteka nie ma tutaj żadnych ograniczeń i wyzwalacze można przypisywać do dowolnych zdarzeń w ramach urządzenia (np. do sensorów binarnych, albo po przekroczeniu zadanej temperatury, itd.)" - próbowałem zrobić coś takiego:
Code: Select all
auto at = new Supla::Control::ActionTrigger();
auto virtual_binary= new Supla::Sensor::VirtualBinary();
virtual_binary->addAction([rodzaj wysyłanej akcji na AT], at, [rodzja zdarzenia generowanego przez virtual_binary]);
ActionTrigger może wysyłać akcje wymienione tutaj: https://github.com/SUPLA/supla-arduino/ ... ions.h#L78
Czyli np.:
Code: Select all
virtual_binary->addAction(Supla::SEND_AT_SHORT_PRESS_x1, at, Supla::ON_TURN_ON);
Oczywiście, aby akcja się odpaliła, to musisz w Cloud przypisać jakąś akcję do tego AT. Jeśli w Cloud nie przypiszesz akcji, to urządzenie dostanie informację, że akcja nie jest włączona i nie będzie wysyłać akcji do serwera.
Najlepsze suple dla Twojego domu 
-
KaDet
- Posts: 52
- Joined: Fri Nov 27, 2020 5:06 pm
- Location: Dąbrowa Górnicza
Królu złoty!!! Działa
Wielkie dzięki za pomoc.
Wiem co mnie myliło i wstawiałem do AddAction złe parametry... SEND_AT_.... czytałem jako wyślij przy.... a to jest wyślij Action Trigger event.....
Echhh. Moja głupota
.
Jeszcze raz dzięki - i w ten sposób, naokoło udało się zrobić by AT było wysyłane "programowo"
Wiem co mnie myliło i wstawiałem do AddAction złe parametry... SEND_AT_.... czytałem jako wyślij przy.... a to jest wyślij Action Trigger event.....
Echhh. Moja głupota
Jeszcze raz dzięki - i w ten sposób, naokoło udało się zrobić by AT było wysyłane "programowo"
