FHEM Tutorial-Reihe - Part 53: Fahrzeit berechnen mit Google Maps

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

FHEM Tutorial-Reihe - Part 53: Fahrzeit berechnen mit Google Maps
FHEM Tutorial-Reihe - Part 53: Fahrzeit berechnen mit Google Maps
  • Matthias Kleine
  • 04.02.2018
  • Webservice
  • Integration

In diesem Tutorial möchten wir einmal die Fahrtzeit von A nach B mit Hilfe der Google Maps API herausbekommen. Das heißt, dass wir anhand von Adressdaten Google fragen, wie lange man von A nach B braucht. Das geht natürlich einerseits für Daten mit dem Auto, als auch zu Fuß oder mit den öffentlichen Verkehrsmitteln. Ich zeige hier die Variante mit dem Auto - für die anderen muss einfach nur ein Parameter in der URL abgeändert werden. Diese Funktion ist sehr praktisch um einmal kurz zu prüfen wie die Verkehrslage aktuell ist. So könnte man sich die Infos am Morgen aufs Smartphone liefern lassen, oder den Wecker automatisch weiter nach vorne stellen, wenn die Fahrtzeit sehr lang ist und man pünktlich auf der Arbeit sein muss. All dies ist möglich!

Achtung: Dieser Inhalt wurde vor mehreren Jahren aufgenommen und ist nicht mehr aktuell! Es ist nicht empfohlen nach dieser Anleitung vorzugehen.

Was wird benötigt?

  • Eine FHEM-Installation
  • Einen Google-Account

Video

Hausbau-Kurs

Befehle

Hier müssen wir die API freischalten und einen API-Key generieren: Google Cloud Console

Nachdem die Schritte im Video befolgt wurden, kann man den Aufruf ganz einfach testen.

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Paderborn,Bahnhofstra%C3%9Fe+1&destinations=Hamburg,Jungfernstieg&mode=driving&language=de-DE&departure_time=now&key=AIzaSyC3i_oRByxPuF-P7Y5p1dBscrdmU_2Mi9Y
define WEB_GoogleMaps HTTPMOD https://maps.googleapis.com/maps/api/distancematrix/json?origins=Paderborn,Bahnhofstra%C3%9Fe+1&destinations=Hamburg,Jungfernstieg&mode=driving&language=de-DE&departure_time=now&key=AIzaSyC3i_oRByxPuF-P7Y5p1dBscrdmU_2Mi9Y 1800
attr WEB_GoogleMaps userattr reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading04OExpr reading05JSON reading05Name reading05OExpr requestHeader1
attr WEB_GoogleMaps enableControlSet 1
attr WEB_GoogleMaps reading01JSON rows_01_elements_01_duration_text
attr WEB_GoogleMaps reading01Name fahrzeit
attr WEB_GoogleMaps reading02JSON rows_01_elements_01_duration_in_traffic_text
attr WEB_GoogleMaps reading02Name fahrzeit-verkehr
attr WEB_GoogleMaps reading03JSON rows_01_elements_01_distance_text
attr WEB_GoogleMaps reading03Name distanz
attr WEB_GoogleMaps reading04JSON rows_01_elements_01_duration_value
attr WEB_GoogleMaps reading04Name fahrzeit-hhmmss
attr WEB_GoogleMaps reading04OExpr strftime("%T", gmtime($val))
attr WEB_GoogleMaps reading05JSON rows_01_elements_01_duration_in_traffic_value
attr WEB_GoogleMaps reading05Name fahrzeit-verkehr-hhmmss
attr WEB_GoogleMaps reading05OExpr strftime("%T", gmtime($val))
attr WEB_GoogleMaps requestHeader1 Content-Type: application/json

Die komplette Dokumentation für die Maps-API ist hier zu finden. Mit der API kann man außerdem

  • Mehrere Routen mit einer Abfrage auf einmal berechnen lassen
  • Die Fahrtzeit mit der Bahn zu einer bestimmten Uhrzeit berechnen lassen (mode: transit / transit_mode: train)
Du willst mehr?

Smart-Home-Trainings von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte! Über 13.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
Node-RED-Master-Kurs

Node-RED-Master-Kurs

Mehr Infos