Zaświeć światło jak jestem w domu (GPS, geolokalizacja, proof of concept)

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
fracz
Posts: 2342
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków
Has thanked: 4 times
Been thanked: 6 times

Post

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.

Image

Jeśli w skryptach włączona jest autentykacja HTTP, musimy ją tutać podać chamkso w URLu, na przykład:

http:// user:[email protected]/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.

Image

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).
koyak
Posts: 21
Joined: Mon Sep 11, 2017 11:12 am

Post

A jest podobna apka na iOS? Z tego co szukałem to nic podobnego nie ma :/
User avatar
fracz
Posts: 2342
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków
Has thanked: 4 times
Been thanked: 6 times

Post

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.
kayo
Posts: 3
Joined: Wed Oct 04, 2017 5:42 am

Post

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
User avatar
fracz
Posts: 2342
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków
Has thanked: 4 times
Been thanked: 6 times

Post

Dobry pomysł! Serwer mógłby odpytywać Google API o lokalizację zamiast wymagać tego od smartfona. Nice, nie widziałem tego :)
koyak
Posts: 21
Joined: Mon Sep 11, 2017 11:12 am

Post

Ja to zrobiłem w końcu jeszcze inaczej. Mój router sprawdza czy telefon jest podłączony do wifi.

W przypadku kiedy telefon rozłączy się z wifi wyłącza wszystko, natomiast jeżeli się podłączy np. podnosi rolety.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

koyak wrote: Wed Oct 04, 2017 9:34 am Ja to zrobiłem w końcu jeszcze inaczej. Mój router sprawdza czy telefon jest podłączony do wifi.

W przypadku kiedy telefon rozłączy się z wifi wyłącza wszystko, natomiast jeżeli się podłączy np. podnosi rolety.
Odpada. Smartfon odłącza się od wifi nawet jak jesteś w zasięgu sieci.
SUPLA.... Nareszcie w domu.
koyak
Posts: 21
Joined: Mon Sep 11, 2017 11:12 am

Post

pzygmunt wrote: Wed Oct 04, 2017 9:36 am
koyak wrote: Wed Oct 04, 2017 9:34 am Ja to zrobiłem w końcu jeszcze inaczej. Mój router sprawdza czy telefon jest podłączony do wifi.

W przypadku kiedy telefon rozłączy się z wifi wyłącza wszystko, natomiast jeżeli się podłączy np. podnosi rolety.
Odpada. Smartfon odłącza się od wifi nawet jak jesteś w zasięgu sieci.
Ale dzierżawa DHCP zostaje, na biurku to działało zobaczymy w praktyce tylko czekam na na moduły do rolet :) Jakoś na pewno to obejdę bo MikroTik ma duży potencjał.
User avatar
fracz
Posts: 2342
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków
Has thanked: 4 times
Been thanked: 6 times

Post

koyak wrote: Wed Oct 04, 2017 9:34 am W przypadku kiedy telefon rozłączy się z wifi wyłącza wszystko, natomiast jeżeli się podłączy np. podnosi rolety.
- Dlaczego wszystkie światła zgasły?
- Bo mi się telefon rozładował :lol:

A tak serio: co reaguje na połączenie z wifi? Telefon? I wtedy wysyła żądanie do supli?
User avatar
nowy1
Posts: 339
Joined: Fri Jul 01, 2016 11:51 am
Location: Warszawa

Post

Ja czekan znowu na czasy gdy jednym przyciskiem wyłączę wszystkie światła w domu :)

Return to “Pomysły i koncepcje”