Mój kolejny pomysł z wykorzystaniem API - włączanie i wyłączanie światła/pieca/czegokolwiek w zależności od tego gdzie jesteśmy.
W tym celu pobieramy nowe skrypty https://github.com/fracz/supla-scripts (doszedł tam skrypt o nazwie geo) a na Androida pobieramy aplikację https://play.google.com/store/apps/deta ... gger&hl=pl . Jest to bardzo prosta aplikacja która zapisuje co jakiś czas gdzie znajduje się nasz telefon do pliku GPX, ale także ma możliwość przesyłania współrzędnych w dowolne miejsce po HTTP. Wykorzystamy ten ficzur by powiedzieć skryptowi gdzie jesteśmy a on zajmie się resztą.
Aplikację konfigurujemy jak na screenie, w sekcji Sczegóły logowania -> Zapisuj do niestandardowego URL-a. Warto też ustawić sobie jak często aplikacja ma odczytywać współrzędne (Wydajność -> Interwał rejestrowania). Domyślnie jest to 60 sekund. Im częściej tym bardziej ucierpi bateria ale też supla będzie reagować szybciej na nasze wejście do domu. Po poprawnym ustawieniu aplikacji i rozpoczęciu logowania na głównym ekranie aplikacja będzie cyklicznie wysyłać współrzędne do skryptu.
Jeśli w skryptach włączona jest autentykacja HTTP, musimy ją tutać podać chamkso w URLu, na przykład:
http:// user:haslo@twojamalina.eu/supla-scripts/geo/%LAT/%LON
Musimy jeszcze skonfigurować co ma się dziać i gdzie. W tym celu kopiujemy przykładowy plik konfiguracyjny
cp geo/config.php.sample geo/config.php
I w nim wypełniamy następujące wartości:
'latitude' => 49.179560,
'longitude' => 20.088018,
'tolerance' => 1000,
'channel' => 123,
'actionInside' => 'turnOn',
'actionOutside' => 'turnOff',
latitude i longitude to współrzędnie miejsca gdzie ma się coś dziać. Skąd to wziąć? Jak na mapie google klikniecie sobie prawym przyciskiem i wybierzecie "Co tu jest" to się pokażą gotowe do skopiowania.
Dalej mamy tolerance (w metrach). Wartość 1000 oznacza że jak zbliżycie się na 1km do miejsca określonego przez współrzędne to akcja się wykona. Pozostaje do skonfigurowania id kanału oraz dwie akcje - actionInside wykona się gdy jesteśmy wewnątrz wyznaczonego przez współrzędne i promień obszaru. actionOutside wykona się gdy wyjdziemy poza niego.
W konfiguracji można skonfigurować kilka rzeczy które mają się dziać dla różnych współrzędnych i dla różnych tolerancji - wystarczy rozmnożyć te konfiguracje (to jest tablica).
Obecnie używam tego do włączania podświetlania schodów (w sumie każdy ficzur u mnie na tym testuję).
Docelowo można podrasować nieco skrypt tak by dało się np skonfigurować "włącz piec jeśli zbliżam się do domu" zamiast tylko takiego łopatologicznego zachowania "wchodzenia i wychodznia z obszaru" jak jest teraz. Trzeba by wtedy analizować kierunek przemieszczania się i odległość, czas itp.
Dwa największe problemy które widzę przy tym rozwiązaniu to zużycie baterii w smartfonie (niby aplikacja jest oszczędna i faktycznie po dwóch dniach używania mogę to potwierdzić, ale wiadomo że coś zżera) oraz to że bez przerwy na pasku na górze w telefonie jest ikonka działającego GPS Loggera (mnie to strasznie irytuje, ale może to tylko mnie).
Zaświeć światło jak jestem w domu (GPS, geolokalizacja, proof of concept)
Powyższe rozwiązanie jest przekombinowane. Dużo prościej można to zrobić za pomocą Automate, które obsługuje voice i powiadomienia. Jest tam block "when in location", który może automatyczne wykonywać wywołanie do skryptów. Ale to też na Androida.
Jabłek nie znam i nie lubię więc ktoś inny musi pomóc. Od strony skryptów nie ma problemu - dogada się z każdym.
Jabłek nie znam i nie lubię więc ktoś inny musi pomóc. Od strony skryptów nie ma problemu - dogada się z każdym.
Można też zastosować geolokację od Googla co daje nam brak przymusu dodatkowego programu na smartfonie i GPS też nie musi być włączony.
https://developers.google.com/maps/docu ... tion/intro
https://developers.google.com/maps/docu ... tion/intro
Odpada. Smartfon odłącza się od wifi nawet jak jesteś w zasięgu sieci.
- Dlaczego wszystkie światła zgasły?
- Bo mi się telefon rozładował
A tak serio: co reaguje na połączenie z wifi? Telefon? I wtedy wysyła żądanie do supli?