neues Modul: TRAFFIC - google maps directions

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

Vorheriges Thema - Nächstes Thema

Brause

schau mal ein paar Beiträge weiter oben.
schätze mal du hast Version 1.3.1 noch am laufen.

Ascos

Zitat von: Brause am 29 April 2017, 14:16:26
schau mal ein paar Beiträge weiter oben.
schätze mal du hast Version 1.3.1 noch am laufen.

Habe nochmal ein Update gemacht und nun sind die Fehlermeldungen weg. Danke :)
1x RaspberryPi 3, HMUART, HMLAN
4x HM-CC-RT-DN, 4x HM-Sec-SCo, 4x HM-TC-IT-WM-W-EU, 1 Jeelink, 4 Lacrosse Fühler, 2 LD382A
1x ZBox mit Kodibuntu, mehrere schaltbare Steckdosen

d.schoen

Hallo Ascos,

zunächst vielen Dank für das tolle Modul! Ich hätte einen Wunsch nach einer kleinen Erweiterung:
Wäre es möglich, die Readings delay, distance, duration und duration_in_traffic zusätzlich jeweils ohne Einheit (also als rein numerischen Wert) ausgeben zu lassen? Die entsprechenden Werte für "return_" dann natürlich auch.

Das wäre super, wenn du das bei Gelegenheit vielleicht ergänzen könntest.

Viele Grüße und Danke im Voraus!
Dominik
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

jmike

Hi Dominik.

Hast du dir das Attribut outputReadings angeschaut?

Neben text, min, sec und average kannst du ja mal "raw" probieren, ob das deinen Anforderungen entspricht.

d.schoen

Leider ist das nicht das, was ich gerne hätte.

Ich hätte gern die Werte nach outputReadings "text". Nur eben ohne Einheit. Allerdings zusätzlich zu den bisherigen Readings.

Beste Grüße
Dominik
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

gent

Hi,

kann ich mir die Map auch per telegram schicken lassen?

Die Karte kann ich ja per http://fhem-ip:port/fhem/TRAFFIC?name=<TRAFFIC-DEVICE> erreichen. Kann ich mir den Inhalt der URL auch per Telegram schicken?

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

jmike

@Dominik: wären user-readings eine Möglichkeit für dich? Da könntest du ja text einfach per Regex search-replace rauswerfen.

@gent: Ich denke (derzeit) nicht. Dazu bräuchten wir static-maps, die ein Bild zurückgeben.
Eventuell kommst du damit ja auch ohne TRAFFIC Modul aus, ansonsten kann ich für ein zukünftiges Release mal static-Maps einplanen.

d.schoen

Ich geh dann mal runter von der langen Leitung. Danke! Gelöst :)
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

justme1968

#233
ich habe eben etwas mit dem TRAFFIC modul gespielt. im prinzip ist es genau das was ich gerade brauche.

leider gibt es bei meiner strecke zwei oder drei alternative routen die im normalfall fast die gleiche zeit brauchen, sich in der strecke aber deutlich unterscheiden. mitten durch die stadt oder fast doppelt so weit über die autobahn und gerade mal 1 minute kürzer.

google liefert bei der beschränkung auf eine route (wie es das modul aktuell hat) leider fast immer die lange.

wie wäre es im modul auch die alternativen routen abzufragen, jeweils die zeiten für alle routen in readings zu stecken und also vorschlag noch die schnellste route zu liefern?

es müsste reichen ein &alternatives=true an die url anzuhängen und dann im route array nicht nur das erste element sondern alle auszuwerten. der 'name' der route ist im summary element zu finden.

wenn dann auf der karte alle routen zu sehen sind wäre das klasse

man könnte attribut gesteuert auch noch eine auswahl treffen wenn es wirklich viele alternativen sind oder man bestimmte direkt ausschliessen will.
lternativen zu sehen sind wäre das klasse.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

jmike

Hi Andre.

Du hast recht, aktuell geht das "Design" von 1 Route pro Device aus (mehr ode weniger statisch durch Waypoints).

Zitat von: justme1968 am 23 Mai 2017, 13:06:54
... es müsste reichen ein &alternatives=true an die url anzuhängen und dann im route array nicht nur das erste element sondern alle auszuwerten...

Das werde ich mir mal ansehen und überlegen, wie man es sauber darstellen/konfigurieren könnte. Am liebsten wäre mir dann eine variable Reading Konfiguration z.b. wie "attr readingFormat %r %t %d" wobei %r = route, %t = time und %d = delay oder so, wobei das natürlich eine Auswirkung auf alle Readings hat - und auch auf die return_* Readings.


justme1968

ich würde den routen namen in den jeweiligen readings mit unterbringen.  eine tabellarische darstellung könnte man dann mit einer readingsGroup machen. sogar sortiert. nach dauer.

die bisherigen readings könnte man dann für die schnellste route beibehalten. das müsste kompatibel bzw. zumindest sinnvoll sein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

noch eine ideee zur 'optimalen' route:
die auswahl könnte attribut gesteuert nach schnellster oder kürzester erfolgen.

man könnte auch beide angaben mit einem zusätzlichen schwellwert erlauben. damit könnte man abbilden nimm die kürzere so lange die schnellere nicht mehr als x minuten oder x prozent schneller ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

#237
noch etwas ist mir eben aufgefallen: kann es sein das in der eingezeichneten strecke die jeweiligen staus und behinderungen nicht mit gezeichnet werden sondern nur eine einzige farbe verwendet wird?

wenn man google maps direkt verwendet werden staus und ähnliches ja in orange und rot eingezeichnet.

kommt diese information in der json antwort mit?


hat eigentlich schon jemand die karte im tablet ui integriert? bei mir funktioniert das laden nicht. die url direkt im browser geht aber ...


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

fabi29891

Hallo ich nutze das Traffic Modul um mir die Google Maps Karte anzuzeigen. Im Heimnetz funktioniert das auch super. Sobald ich von ausserhalb drauf zugreife (über Portfreigabe) bekomme ich einen Java Script Error. Zuvor wird die Karte jedoch sehr kurz angezeigt.

Die Konsolenausgabe ist:
22:38:12.255 FW_queryValue:{AttrVal("Karte","room","")} fhemweb.js:390:5
22:38:12.346 Inform-channel opened (HTTP) with filter Karte fhemweb.js:390:5
22:38:12.373 Rcvd: fhemweb.js:390:5
"Google Maps API error: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error" js:35:315
"Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys" util.js:220:12
"Google Maps API warning: SensorNotRequired https://developers.google.com/maps/documentation/javascript/error-messages#sensor-not-required" util.js:220:1


und meine Definition von der Karte ist:
DEF            iframe /fhem/TRAFFIC?name=HeusweilertoSaarbruecken
LINK         /fhem/TRAFFIC?name=HeusweilertoSaarbruecken
NAME       Karte
NR           151
STATE      initialized
TYPE        weblink
WLTYPE   iframe

Jemand eine Idee?

Amenophis86

Hatte heute folgenden Fehler im Log:

2017.06.01 16:40:02 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 16:40:02 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_TRAFFIC.pm line 650.
2017.06.01 16:40:02 3: eval: {TRAFFIC_FinishUpdate('VK.Etienne.Arbeit.A5;;;return;;;{"READINGS":{"duration_in_traffic":null,"status":"OK","duration":"30 Minuten","state":"OK","distance":"35,3 km"},"HELPER":{"Poly":"eWh0cEhfY2t0QGNKbUd3Q3NCbUVhRHNAbERpQnpIZUJpQWlCaUF3QGNAfU1vSm9KeUdNUWlBX0Fj\nQm9BV1FFVllmQWNGZlJxQWJFe0ByQWFGZkV9QmpDX0JuQ2NAfkBvQXJCdUBgQHtAUG9AUl9AYEBf\nQGRBXXhBZ0B4QGlAVm1EZkBtQEpZXGNEdkB5RXpBe0NkQXtGYEJ5Ql5nRFxlRlJxQ05nQlJ1QVh5\nQnJAc0N4QW9CcEFtT3JLe0NyQnNCakF9QmJBZ1F6Rl9DfkB7QmZBcUF0QF9CfEBfQWxAd0tuSGdN\neEplSGJGeUNoQmlDekFlQnhAe0J4QF9EdEBhRWhAd0A/d0BPYUBRdUBnQHFBe0BdS3FARW9ARHtA\nVHlCdkBjQmpAcUZ6Ql9DakFrQ2BDa0N6RHVAekFhQnJFYUB2QW1AckNxQGJGVWJFVXZMS3ZEZ0By\nSH1Abkd5QGxEZ0FmRGVCekR1QmpEY0JyQmtCYkJ3QWRBdUFgQV9BYkBtSnZEd0hqQ3tDckBhQUZf\nQz99QlV1QmNAX0JpQHlDeUFnSW9FeUNxQXtCa0B9QVNlQUd9Q0R9Qlh9QmxAeUJ+QHFDakJpQ2hD\nX0J4QndBaENzQX5DdUFwRXdAdERrQHpEX0BoRVVwRkFkRVJ6SVZmRXZAfEpkQXBMWmxFYkB6S0hs\nSEVqTFNoR19AaEhpQHpHd0F8S2VBfkZ9QGpFY0JwR3FCaEd3QnJGeUR8SHNDdEVvQnBDeUR0RXNH\nYEphRG5GbUFiQ2FBZENlQXhDc0FqRX1AdER9QHJFY0R2Um9CbEp3QX5FeUB4QnNBbkNjQmRDfUFk\nQndCZEJ1QXhAd0NqQXdDZEBtQkp3QUVxQU17QVtpQm9AfUF3QHFDdUJ9QWVCb0J3Q3tBd0N5RHVK\na0J9RWVDbUZtQl9EY0J1QnlCaUJvQXVAc0FvQGNCZ0B5QVVpQUlxQUFnQUJtQVBtQVZ3QWRAcURy\nQnNFdERxX0BkXntEckRzQFRrQmRCeUVwRntAcEFjQFxjQWZAZUFEY0V1QHlAP2tARGtBRGVATV1T\nZ0F9QW9DX0ZhQF9Ac01jWHNCfURrQ3dFe0JtRHtCd0N5RG9FaUdjR3VBZ0F3RWFEeUNlQnlDd0Fj\nSGlDX0dvQWlHdUBhR1lxSkJpZUFiQG9jQVpldUBWd1FAZ0hGX0lCZ1dIeUk/e0VXd0NdY0RpQHVG\nb0F7S29Db1dpR21JbUJnU2VGc2dAdUxlQVVfQGFAa0BlQF9AdUBhQGlBbUBvQFlLWUVxQ2NBZ0BN\nbUBJbUBEZ0BdZ0JrRmVBZ0NfRXNMb0F3RW1Aa0VNbUFRa0RVdURde0JhQGNCW2VBVWlBbUBrQWFB\nbUF9QXlBZ0JrQXtGdUNvQ3dBZ0FxQHlDYUJtQXdAWUdhQXtAdUB9QH1Ac0FhQWdCY01jWF9AaUFl\nQmlEZ0BzQW1EdUhZZUBdaUBrQndDeUJ7QmVBc0BxQ21BaUJrQFFNa0FZX0NtQG9IX0N3QFVxQGFA\nZUN5QmlGcUZ9T3NQfUFxQnNBe0JzTnVYc01nV29EZ0h9QV9ER1F9QW1FcUB3Q09lQWdCTG9BQXVC\nTW9CS09EYUdhQm9KbUN9RmdBYUxpQVhfUlNIe0JOYUJQY0R7UENhQD9jQGVAbURPa0A=\n","GoogleMapsCenter":"50.0802916,8.7456045"}}')}
2017.06.01 16:45:01 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 16:45:01 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 16:50:04 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:00:04 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:00:04 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:20:05 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:20:05 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:25:05 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:35:05 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay
2017.06.01 17:35:05 1: TRAFFIC: (VK.Etienne.Arbeit.A5) did not receive duration_in_traffic, not able to calculate delay


Kannste damit was anfangen jmike?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...