FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ares am 16 Juni 2015, 08:55:40

Titel: HTTPMOD-Syntax
Beitrag von: ares am 16 Juni 2015, 08:55:40
Ich möchte über mögliche Staus auf einer Wegstrecke informiert werden. Beim Anlegen mit HTTPMOD erhalte ich jedoch einen Fehler, da fhem das Semikolon in der url anders als geplant interpretiert. Wie muss ich folgendes Beispiel anpassen, damit fhem es akzeptiert?

define Traffic.Home.Work HTTPMOD http://route.cit.api.here.com/routing/7.2/calculateroute.json?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&waypoint0=geo!48.0,11.0&waypoint1=geo!49.3085,12.166&mode=fastest;car;traffic:disabled&departure=now&instructionformat=text&language=de-de&routeattributes=none,sm 180
Titel: Antw:HTTPMOD-Syntax
Beitrag von: justme1968 am 16 Juni 2015, 09:34:53
das url encoding für ; ist %3B. schau mal ob es damit geht.

gruss
  andre
Titel: Antw:HTTPMOD-Syntax
Beitrag von: ares am 16 Juni 2015, 09:47:18
Manche Lösungen sind einfacher als erwartet, vielen Dank für die schnelle Hilfe!
Titel: Antw:HTTPMOD-Syntax
Beitrag von: JoWiemann am 16 Juni 2015, 10:44:20
Hallo Ares,

interessanter Ansatz. Wie komme ich an die app_id und an die Geo-Koordinaten.


Grüße Jörg

Gesendet von iPhone mit Tapatalk
Titel: Antw:HTTPMOD-Syntax
Beitrag von: ares am 16 Juni 2015, 15:40:45
Die app_id und den app_code habe ich hier gratis erstellt: https://developer.here.com/get-started#/

Die Route kann mehrere Wegpunkte haben. Die Geo-Koordinaten bekommst Du auf Google Maps oder kannst sie auch mit diversen Webseiten wie dieser hier ermitteln:
http://gpso.de/maps/

Die Ausgabe kann als XML oder etwas kürzer als JSON erfolgen. Zum Test empfiehlt es sich, die Wegbeschreibung mit ausgeben zu lassen und notfalls über weitere Wegpunkte anzupassen. Für fhem habe ich die Wegstrecke und andere unnötige Informationen ausgeblendet und bei der Ermittlung der Route den Verkehr ignoriert. Mehr Informationen zu den Parametern und Möglichkeiten gibt es hier:
https://developer.here.com/rest-apis/documentation/routing/topics/resource-calculate-route.html

Die Minuten lassen wie folgt einfach ermitteln:
attr Traffic.Home.Work readingsName_trafficTime trafficTime
attr Traffic.Home.Work readingsName_baseTime baseTime
attr Traffic.Home.Work readingsRegex_trafficTime trafficTime[^0-9]+([0-9]+)
attr Traffic.Home.Work readingsRegex_baseTime baseTime[^0-9]+([0-9]+)

Ob der Ansatz aber funktioniert und wie und wann ich den Stau dann melde muss ich noch testen, mir hat das von justme1968 erklärte url encoding gefehlt und ich war ehrlich gesagt zu faul zu suchen. Prinzipiell stelle ich mir ein Zeitfenster mit Anwesenheitserkennung (PRESENCE Modul) vor und wollte dann über Push-Nachrichten bei Änderung von z.B. fünf Minuten nach oben/unten eine weitere Push-Nachricht senden, um eine Staubildung/-auflösung zu erkennen.
Titel: Antw:HTTPMOD-Syntax
Beitrag von: JoWiemann am 16 Juni 2015, 19:53:26
Hallo,

danke für die Infos. Habe mir jetzt mal Here angesehen. Nach 90 Tagen ist Schluss mit free und 59 $ für den Basic Zugriff ohne real time traffic finde ich ziemlich teuer.

Grüße Jörg
Titel: Antw:HTTPMOD-Syntax
Beitrag von: ares am 16 Juni 2015, 21:11:28
Das mit den 90 Tagen habe ich übersehen, sorry. Bleibt die Frage nach Alternativen. Eventuell funktioniert ja auch die Demo, müsste man mal länger testen. Der Link von mir klappt ja immerhin, nur halt wie lange?