Quantcast
Channel: FHEM – wolf-u.li
Viewing all articles
Browse latest Browse all 46

FHEM: Fahrzeiten mit Verkehr mittels Google Maps API anzeigen

$
0
0

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“:
5535-FHEM-MAPS-API-01
Dann ein neues Projekt erstellen und einen Projektnamen vergeben (z.B. fhem-maps-api):
5535-FHEM-MAPS-API-02
Dann suche in der nächsten Übersicht nach „Google Maps Distance“ und nimm die „Google Maps Distance Matrix API“:
5535-FHEM-MAPS-API-03
Aktiviere diese:
5535-FHEM-MAPS-API-04
Klicke dann links auf „Zugangsdaten“:
5535-FHEM-MAPS-API-05
Wähle „Browser-Schlüssel“:
5535-FHEM-MAPS-API-06
Nimm einen beliebigen Namen, welcher für dich Aussagekraft hat.
5535-FHEM-MAPS-API-07
Nun ist dein API-Schlüssel erstellt. Diesen musst du kopieren.
5535-FHEM-MAPS-API-08

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:


© 2005-2014 by Uli Wolf - This Content is distributed under the Creative Commons License
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)

Viewing all articles
Browse latest Browse all 46