neues Modul: TRAFFIC - google maps directions

Begonnen von jmike, 27 Juli 2016, 10:51:23

Vorheriges Thema - Nächstes Thema

jmike

Das Feature - und ein noch viel cooleres <weihnachts-geschenk-smiley-hier> - ist fertig und wird in den nächsten Stunden eingecheckt

davedeluxe

*wildimkreisrenn*
Dann schonmal vorab ein dickes DANKE!

jmike

Das Update ist eingecheckt.

Ganz wichtig, das Modul hat nun eine neue Abhängigkeit zum Perl Modul MIME::Base64
Ist aber zumindest im Raspbian per default dabei.

Neben dem optionalen Attribut returnWaypoints gibt es eine integrierte Karte, die euch den konfigurierten Weg für Hin- und Rückweg anzeigt.
Wenn die returnWaypoints nicht angegeben sind, werden die "normalen" waypoints in umgekehrter Reihenfolge abgearbeitet.

Details zur Karte findet ihr im Wiki Artikel (https://wiki.fhem.de/wiki/TRAFFIC), alternativ einfach mal das Device verbose auf 5 stellen, update durchführen und in den neuen Raum TRAFFIC_debug schauen bzw. dem Weblink darin. Wenn alles passt wieder verbose auf 1 oder 0 - je nachdem was ihr habt.

cheers

gent

Hi,

das mit der Map ist sehr cool, leider kommt bei mir beim Aufruf der Map im Browser "Google Maps wurde auf dieser Seite nicht richtig geladen. Technische Details dazu entnimmst du der JavaScript-Konsole." Die maps javascript api habe ich aber im google api manager aktiv. In der JavaScript Konsole bekomme ich "MissingKeyMapError"

https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error

Irgendeine Idee?

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

jmike

Hi.

Kann nicht ganz nachvollziehen wo dein Problem auftritt, auf der debug-Karte?
Da brauchst du eigentlich keinen extra API Key.

Vielleicht kannst du bisschen mehr "zeigen".


gent

Hi,

ja, auf der debug Karte, wenn ich auf den Link klicke open Map for TRAFFIC <devicename>

Es kommt dann - je nach browser (Safari, Chrome) - kurz die Karte und dann die Fehlermeldung und wenn ich dann in die Browser-Konsole (in meinem Fall Safari) gehe kommt die im Anhang
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

gent

fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

moskito

Hi gent,

bei mir funktioniert es mit lediglich zwei aktivierten API´s: Google Maps Directions API & Google Maps Distance Matrix API

Allerdings hab ich das Problem, daß der Aufruf über den Link:
http://fhem-ip:port/fhem/TRAFFIC_debug?name=<TRAFFIC-DEVICE>
nur funktioniert wenn verbose auf 5 gesetzt ist. Kleiner 5 bleibt´s nur ein graues Fenster ohne Karte.

Gruß
moskito
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

jmike

Hi.

Das ist works-as-designed.

Wenn du dir die Readings anschaust siehst du einen dicken Textblock. Das ist exakt die Polyline, also die Route, die das Modul zuletzt von Google erhalten hat. Und das Reading wird nur angelegt und befüllt bei verbose 5.

Ohne das Reading kann die Karte keinen Weg zeichnen.


gent

Nee, das isses noch alles nicht:

Beide api's sind aktiviert und verbose=5 ist auch gesetzt. Trotzdem kommt keine Karte. Allerdings kommt der "dicke Textblock"

Da ist noch was nicht OK

Egal: Ist ja nicht so dramatisch.

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

Tobias

ICh  bekomme auch das dicke reading, aber wenn ich auf den Link klicke passiert garnix.
Wenn ich mal MIME:Base64 suche, kommt nur das hier: https://packages.debian.org/wheezy/libmime-base64-perl
Es explizites Paket gibt es wohl nicht..?? Zumindest habe ich aber keine Fehlermeldungen im log die auf ein Fehlen des Paketes hinweisen...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

jmike

Hi Tobias.

Das debugPoly Reading (dicker Block) ist bereits Base64 encoded, also ist das Perl Packet nicht dein Problem.

Was sagt denn die Javascript Konsole auf der Seite wo die Karte sein sollte?


Tobias

#147
ahhh... und nun?
Strict-Transport-Security: Die Verbindung zur Website ist nicht vertrauenswürdig, daher wurde die angegebene Kopfzeile ignoriert.[Weitere Informationen]  TRAFFIC_debug
Laden von gemischten aktiven Inhalten "http://maps.google.com/maps/api/js?libraries=geometry&sensor=false" wurde blockiert.[Weitere Informationen] TRAFFIC_debug
ReferenceError: google is not defined[Weitere Informationen]


Ursache gefunden: Mein Fhem läuft über einen Apachen per https. Nutze ich direkt fhem auf port 8083, gehts.
Hmm, also muss noch was gemacht werden damit es auch über https über einen Webserver funktioniert...??
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

jmike

Vermutlich reicht es wenn die google URL auch https ist. Kannst die URL ja in deinem 98_TRAFFIC.pm mal ändern und "reload 98_TRAFFIC" ausführen.

benkler

ich bekomme seit dem letzten update immer folgende meldung beim start:

Undefined subroutine &main::FW_fC called at ./FHEM/98_TRAFFIC.pm line 162, <$fh> line 12.

und Fhem startet nicht.

Wenn ich dann die Devices entferne dann startet fhem wieder.

würde aber Traffic gerne weiter nutzen
FHEM (Docker), Homebridge (Docker), Homematic IP, nanoCUL 433 + 868 a-culfw, jeeLink Clone, Diverse IT Sensoren, ems-esp, Netatmo und noch einiges mehr