Czas dojazdu do pracy w Domoticz z użyciem Google Maps

//Czas dojazdu do pracy w Domoticz z użyciem Google Maps

Czas dojazdu do pracy w Domoticz z użyciem Google Maps

2019-02-05T15:05:22+01:00 5 lutego, 2019|Categories: Automatyka Domowa|

W Domoticz:

Wchodzimy w sprzęt –> dummy –> dodaj nowy czujnik typu dummy sensor, typ „custom sensor”

Nowy czujnik pojawi nam się w zakładce użytkowe. Musimy pozyskać jego IDX ze strony USTAWIENIA –> URZĄDZENIA


Pozyskanie klucza API do Google maps:

Musimy uzyskać klucz API do naszych zapytań. Wchodzimy tutaj i przechodzimy przez kreator. Nie mam pewności które moduły są potrzebne ; jak zaznaczysz wszystkie (MAPS, ROUTES, PLACES) to też dobrze.
Logujemy się kontem Google tutaj:
https://developers.google.com/maps/documentation/javascript/get-api-key

Logujemy się do Raspberry


Przechodzimy do katalogu z domoticzem, a następnie do katalogu ze skryptami. U mnie /home/domoticz/scripts

tworzymy nowy plik:

touch droga.sh

chmod 777 droga.sh

edytujemy zawartość:

nano droga.sh

i przeklejamy stąd :

#!/bin/bash
##### Marcin Przybysz 2019 #########
##### use + instead of space in FROM and TO address! ######

KEY=TWOJ_KLUCZ_API
FROM=Warszawa+Krucza+64 #adres domowy rozdzielony znakami PLUS
TO=Warszawa+Chelmzynska+1 #adres docelowy rozdzielony znakami plus +

CZAS=`curl -s „https://maps.googleapis.com/maps/api/directions/json?origin=$FROM&destination=$TO&transit_mode=driving&departure_time=now&key=$KEY” | jq ’.routes[0].legs[0].duration_in_traffic.value’`
WYNIK=$(($CZAS/60))

DOMO=192.168.1.200:8080 #Twoj adres domoticza
IDX=56 # numer ID urzadzenia custom sensor, ktore zalozyles przed chwila w domoticzu

wget -O – „$DOMO/json.htm?type=command&param=udevice&idx=$IDX&nvalue=0&svalue=$WYNIK” > /dev/null 2>&1\

lub ze źródła:
https://github.com/marcinprzybysz86/domoticz/blob/master/droga.sh

Instalujemy paczkę JQ:

apt-get -y install jq

OK. Jeśli uzupełniliśmy poprawnie parametry:
KEY, FROM, TO, DOMO, IDX – czyli te 5 składowych powinniśmy po wywołaniu skryptu na raspberry

./droga.sh

otrzymać wynik w minutach – czyli nasz czas dojazdu z domu do pracy
np.

./droga.sh

43

Co oznacza 43 minuty z uwzględnieniem warunków ruchu najszybszą drogą.

Po wywołaniu nasz custom sensor powinien również pokazać taką wartość.

Teraz pozostało nam tylko dodać to wywołanie do crontaba.
Edytujemy plik /etc/crontab
i dopisujemy:

*/5 5,6,7,8,9 * * * bash /home/domoticz/scrips/droga.sh

co oznacza, że w godzinach 5:00 – 9:55 skrypt będzie odpytyał google api o czas dojazdu co 5 minut. Prawda, że łatwe? 🙂

Facebook - komentarze