Inspiriert von einem Artikel, den ich hier gefunden habe, habe ich mir ebenfalls mal HTTPMOD mit der Google Maps Api angesehen. Die Grundzüge hat der Author schon erläutert – ich mache hier lediglich eine Vereinfachung und Update.
Achtung: Dieser Beitrag benötigt eine noch experimentelle Version von HTTPMOD aus diesem Forumsthread
Los gehts mit der Erstellung des API-Keys via Google Developer Console. Dort auf „APIs aktivieren und verwalten“:
Dann ein neues Projekt erstellen und einen Projektnamen vergeben (z.B. fhem-maps-api
):
Dann suche in der nächsten Übersicht nach „Google Maps Distance
“ und nimm die „Google Maps Distance Matrix API“:
Aktiviere diese:
Klicke dann links auf „Zugangsdaten“:
Wähle „Browser-Schlüssel“:
Nimm einen beliebigen Namen, welcher für dich Aussagekraft hat.
Nun ist dein API-Schlüssel erstellt. Diesen musst du kopieren.
Dann gehts in FHEM. Im untenstehenden Code muss YOURAPIKEY gegen den soeben erstellten API Key getauscht werden, ebenso natürlich dein Abfahrtsort (ORIGIN) und ZIEL (DESTINATION). Um letztere herauszufinden, würde ich eine Google Maps Suche machen und dann das Feld jeweils herauskopieren. Leerzeichen sollten durch %20 ersetzt werden, also beispielsweise wird aus: Robert-Schuman-Straße 8, 68519 Viernheim
dann Robert-Schuman-Straße%208,%2068519%20Viernheim
. Die definition des Devices folgt wie immer meiner Namenskonvention:
define INF_HTM_FAHRZEIT_HOME_WORK HTTPMOD https://maps.googleapis.com/maps/api/distancematrix/json?origins=ORIGIN&destinations=DESTINATION&mode=driving&language=de-DE&departure_time=now&key=YOURAPIKEY 3600 attr INF_HTM_FAHRZEIT_HOME_WORK reading01Name standard attr INF_HTM_FAHRZEIT_HOME_WORK reading01JSON rows_01_elements_01_duration_in_traffic_value attr INF_HTM_FAHRZEIT_HOME_WORK reading01Expr strftime("%T", gmtime $val) attr INF_HTM_FAHRZEIT_HOME_WORK reading02Name traffic attr INF_HTM_FAHRZEIT_HOME_WORK reading02JSON rows_01_elements_01_duration_in_traffic_value attr INF_HTM_FAHRZEIT_HOME_WORK reading02Expr strftime("%T", gmtime $val) attr INF_HTM_FAHRZEIT_HOME_WORK reading03Name distance attr INF_HTM_FAHRZEIT_HOME_WORK reading03JSON rows_01_elements_01_distance_value attr INF_HTM_FAHRZEIT_HOME_WORK reading03Expr sprintf("%.1f", $val/1000) attr INF_HTM_FAHRZEIT_HOME_WORK stateFormat Normal:standard Aktuell:traffic (distance km)
Vielen Dank nochmals an Jürgen für die Idee – sehr cool
Related posts:
- 782km Jetski fahren – Wie kommt man von Japan nach China laut Google Maps?
- Einchecken an eigenen Orten mit Google Places – Leider nicht für Google Apps?
- Nokia Ovi Maps jetzt kostenlos und mit Fußgängernavigation
- tPacketCapture zum Sniffen des Datenverkehrs auf Android
- Google AppEngine bald mit PHP-Support?
This feed is for personal, non-commercial use only.
The use of this feed on other websites without attribution to the author and notification of the author breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint: d2a576b5311479d89eff39b7ca886f6b)