Działanie: https://www.youtube.com/watch?v=o_Pquvyab34
Instrukcja: https://github.com/fracz/supla-scripts/ ... ifications
Powiadomienia za pomocą API
-
fracz
- Posts: 2342
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
- Has thanked: 4 times
- Been thanked: 6 times
Przed wdrożeniem wersji takiej, której nie będę się wstydził pokazać, mam do Was kilka pytań. Przypadek użycia przedstawiony na filmiku to proste sprawdzanie co jakiś czas czy stan danego kanału jest zgodny z założonym i jeśli nie - powiadomienie jest pokazywane. Jeśli stan będzie spełniony - powiadomienie zniknie. Można tym realizować takie rzeczy jak przypominanie o zapalonym świetle, otwartej bramie itp, włączonym ogrzewaniu itp.
Podczas implementacji wpadło mi do głowy natomiast kilka innych pomysłów, np:
Czy macie jeszcze jakieś pomysły? Do czego (i czy w ogóle) korzystalibyście z takich powiadomień?
To co na pewno muszę poprawić to zużycie baterii, bo to co widzicie to (niestety) data polling, tj. urządzenie odpytuje co określony czas skrypty o powiadomienia które ma wyświetlić. Na filmiku trochę poczarowałem że to działa tak szybko (pyta się co 3s). Dziś testowałem u siebie przy odpytywaniu co 1 minutę i bateria mi się zużyła szybciej o około 20%. Ale już mam pomysł co z tym zrobić........ Tylko czasu nie ma od kogo pożyczyć.
Dlaczego nie powiadomienia PUSH? Z trzech powodów. Pierwszy: wszystkie rozwiązania na Androida, które są OOTB i nie trzeba pisać żadnej dedykowanej aplikacji są płatne. Po drugie, żadne z nich nie umożliwia sprawdzenia, czy dane powiadomienie zostało już wyświetlone po to by nie pokazywać go drugi raz. Po trzecie, nie można w tych aplikacjach ukrywać powiadomień jeśli zmieni się stan (to co widać na nagraniu), a bardzo mi na tym zależało.
Podczas implementacji wpadło mi do głowy natomiast kilka innych pomysłów, np:
- warunki czasowe dla powiadomień (np. to że brama jest otwarta w dzień nie powinno skutkować powiadomieniem ale w nocy już tak)
- powiadomienia na podstawie temperatury wybranego kanału (np. rano "Ubierz dzieciom czapki" jak jest < 10 stopni)
- powiadomienia na podstawie jakichś bardziej skomplikowanych sytuacji (np. "Na zewnątrz jest cieplej niż w domu a masz zamknięte okno. Otwórz!" albo nawet kiler ficzur "Prognoza pogody mówi że będzie burza a okna są otwarte")
Czy macie jeszcze jakieś pomysły? Do czego (i czy w ogóle) korzystalibyście z takich powiadomień?
To co na pewno muszę poprawić to zużycie baterii, bo to co widzicie to (niestety) data polling, tj. urządzenie odpytuje co określony czas skrypty o powiadomienia które ma wyświetlić. Na filmiku trochę poczarowałem że to działa tak szybko (pyta się co 3s). Dziś testowałem u siebie przy odpytywaniu co 1 minutę i bateria mi się zużyła szybciej o około 20%. Ale już mam pomysł co z tym zrobić........ Tylko czasu nie ma od kogo pożyczyć.
Dlaczego nie powiadomienia PUSH? Z trzech powodów. Pierwszy: wszystkie rozwiązania na Androida, które są OOTB i nie trzeba pisać żadnej dedykowanej aplikacji są płatne. Po drugie, żadne z nich nie umożliwia sprawdzenia, czy dane powiadomienie zostało już wyświetlone po to by nie pokazywać go drugi raz. Po trzecie, nie można w tych aplikacjach ukrywać powiadomień jeśli zmieni się stan (to co widać na nagraniu), a bardzo mi na tym zależało.
-
michael
- Posts: 1320
- Joined: Wed Nov 09, 2016 8:00 am
- Location: Wojkowice
Fajnie to działa. Nie mam na dzień dzisiejszy jakiś super pomysłów jak to można wykorzystać, ale tak jak pisałeś - powiadomienie, np. w nocy, że brama powinna być zamknięta, czy jakieś oświetlenie włączone, a nie jest - ma sens.
-
bicker
- Posts: 483
- Joined: Tue Feb 02, 2016 8:18 am
czy dobrze rozumiem, że będzie wdrażane na serwerach produkcyjnych ???
-
fracz
- Posts: 2342
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
- Has thanked: 4 times
- Been thanked: 6 times
Nadeszły takie czasy że komendy głosowe łatwiej zrobić od powiadomień...
Ale są, można testować. Instrukcja tutaj: https://github.com/fracz/supla-scripts/ ... ifications
Ale są, można testować. Instrukcja tutaj: https://github.com/fracz/supla-scripts/ ... ifications
Witam
Zainstalowałem aplikację Automate , importowałem Flow SUPLA Notifications
gdy robię start to w logu mam błąd :
2017-06-03 21:46:18.705 INFO 13@1: Flow beginning
2017-06-03 21:46:18.706 INFO 13@39: File exists?
2017-06-03 21:46:18.715 INFO 13@40: File read text
2017-06-03 21:46:18.741 INFO 13@20: Variable set
2017-06-03 21:46:18.742 INFO 13@2: HTTP request
2017-06-03 21:46:18.760 FAIL 13@2: java.lang.IllegalArgumentException: Account not found: Supla
2017-06-03 21:46:18.761 INFO 13@2: Stopped by failure
jak można w SUPLA Notifications zmienic adres serwera , bo nie jestem pewien czy dobrze wpisałem
Zainstalowałem aplikację Automate , importowałem Flow SUPLA Notifications
gdy robię start to w logu mam błąd :
2017-06-03 21:46:18.705 INFO 13@1: Flow beginning
2017-06-03 21:46:18.706 INFO 13@39: File exists?
2017-06-03 21:46:18.715 INFO 13@40: File read text
2017-06-03 21:46:18.741 INFO 13@20: Variable set
2017-06-03 21:46:18.742 INFO 13@2: HTTP request
2017-06-03 21:46:18.760 FAIL 13@2: java.lang.IllegalArgumentException: Account not found: Supla
2017-06-03 21:46:18.761 INFO 13@2: Stopped by failure
jak można w SUPLA Notifications zmienic adres serwera , bo nie jestem pewien czy dobrze wpisałem
-
fracz
- Posts: 2342
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
- Has thanked: 4 times
- Been thanked: 6 times
Ha, o tym zapomniałem.
Trzeba raz wejść w edycję workflow i znaleźć pierwszy blok "HTTP Request" (czwarty od góry w pierwszej kolumnie). Następnie po jego wciśnięciu znaleźć pole "BASIC AUTHORIZATION ACCOUNT". Wcisnąć i wypełnić usera i hasło skonfigurowanego w skryptach.
Jeśli wpisałeś zły adres to przy próbie połączenia spyta o nowy.
Trzeba raz wejść w edycję workflow i znaleźć pierwszy blok "HTTP Request" (czwarty od góry w pierwszej kolumnie). Następnie po jego wciśnięciu znaleźć pole "BASIC AUTHORIZATION ACCOUNT". Wcisnąć i wypełnić usera i hasło skonfigurowanego w skryptach.
Jeśli wpisałeś zły adres to przy próbie połączenia spyta o nowy.
Wpisuję adres np https://xxxxxx.ddns.net/supla-scripts/ albo https://192.168.1.186/supla-scripts/
i za każdym razem wyrzuca żeby wpisać inny adres , tej ramce co wyskakuje zawsze jest https://yourserver.eu/supla-scripts/
jakby nie zapisywało mojego adresu , a w logu Invalid configuration .
i za każdym razem wyrzuca żeby wpisać inny adres , tej ramce co wyskakuje zawsze jest https://yourserver.eu/supla-scripts/
jakby nie zapisywało mojego adresu , a w logu Invalid configuration .
-
fracz
- Posts: 2342
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
- Has thanked: 4 times
- Been thanked: 6 times
Poprawiłem nieco obsługę błędnego adresu URL. Spróbuj zaktualizować flow w Automate (pobrać jeszcze raz).
Sprawdź w przeglądarce który adres powinieneś wpisać: pod /supla-scripts/notifications/init powinna pokazać się liczba skonfigurowanych powiadomień.
Sprawdź w przeglądarce który adres powinieneś wpisać: pod /supla-scripts/notifications/init powinna pokazać się liczba skonfigurowanych powiadomień.
