<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Stau-Erkennung mit node-red]]></title><description><![CDATA[<p dir="auto">Man kann einfach mit node-red Stau-Erkennung implementieren. Dafür gibt es von google API:</p>
<p dir="auto"><a href="https://developers.google.com/maps/documentation/directions/" rel="nofollow ugc">https://developers.google.com/maps/docu … irections/</a></p>
<p dir="auto">Mit URL:</p>
<p dir="auto"><a href="http://maps.googleapis.com/maps/api/directions/json?origin=Strasse+Hausnummer,PLZ+Stadt&amp;destination=Strasse+Hausnummer,PLZ+Stadt&amp;sensor=false" rel="nofollow ugc">http://maps.googleapis.com/maps/api/dir ... nsor=false</a></p>
<p dir="auto">Kann man die Navigation-Info bekommen, wo auch Dauer drin steht.</p>
<p dir="auto">Einfach alle Lehrzeichen mit "+" ersetzen und keine Umlaute verwenden, z.B. :</p>
<p dir="auto"><a href="http://maps.googleapis.com/maps/api/directions/json?origin=Raiffeisenstrasse+10,+34121+Kassel&amp;destination=Rainer-Dierichs+Platz+1,+34117+Kassel&amp;sensor=false" rel="nofollow ugc">http://maps.googleapis.com/maps/api/dir ... nsor=false</a></p>
<p dir="auto">Das ergibt:</p>
<pre><code>{
   "routes" : [
      {
         "bounds" : {
            "northeast" : {
               "lat" : 51.3185661,
               "lng" : 9.493659299999999
            },
            "southwest" : {
               "lat" : 51.2938967,
               "lng" : 9.478441199999999
            }
         },
         "copyrights" : "© 2015 GeoBasis-DE/BKG (©2009), Google",
         "legs" : [
            {
               "distance" : {
                  "text" : "3,5 km",
                  "value" : 3491
               },
               "duration" : {
                  "text" : "11 min.",
                  "value" : 645
               },
....
</code></pre>
<p dir="auto">Uns interessiert nur "duration".</p>
<p dir="auto">Folgendes FLOW macht es:</p>
<pre><code>[{"id":"27a1244e.d85edc","type":"http request","name":"Google Direction API LaStrada =&gt; Hbf","method":"GET","ret":"obj","url":"http://maps.googleapis.com/maps/api/directions/json?origin=Raiffeisenstrasse+10,+34121+Kassel&amp;destination=Rainer-Dierichs+Platz+1,+34117+Kassel&amp;sensor=false","x":341.7142791748047,"y":31.000003814697266,"z":"d7ecc7ab.281338","wires":[["47fd5be6.b802a4"]]},{"id":"47fd5be6.b802a4","type":"function","name":"Fahrzeit in Minuten","func":"msg.payload = Math.ceil(msg.payload.routes[0].legs[0].duration.value / 60);\n\nreturn msg;","outputs":1,"x":319.857177734375,"y":113.14285278320312,"z":"d7ecc7ab.281338","wires":[["61e25a56.9e1da4","3015c229.cfea3e"]]},{"id":"61e25a56.9e1da4","type":"ioBroker out","name":"","topic":"HeimwegMinutes","ack":"true","autoCreate":"true","x":579,"y":103,"z":"d7ecc7ab.281338","wires":[]},{"id":"e6bd80d2.19428","type":"inject","name":"Trigger","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":93,"y":31,"z":"d7ecc7ab.281338","wires":[["27a1244e.d85edc"]]},{"id":"f6469f31.09b96","type":"ioBroker out","name":"","topic":"HeimwegStau","ack":"true","autoCreate":"true","x":565,"y":275,"z":"d7ecc7ab.281338","wires":[]},{"id":"3015c229.cfea3e","type":"function","name":"Stau?","func":"msg.payload = (msg.payload &gt; 10);\n\nreturn msg;","outputs":1,"x":483,"y":198,"z":"d7ecc7ab.281338","wires":[["f6469f31.09b96"]]}]

</code></pre>
<p dir="auto"><img src="/assets/uploads/files/48_google-direction.png" alt="48_google-direction.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Jetzt muss man nur "Google-Direction"- node mit passende URL versehen, und bei Stau-Funktion die Anzahl von Minuten reinschreiben, die als Stau erkannt werden können.</p>
]]></description><link>https://forum.iobroker.net/topic/368/stau-erkennung-mit-node-red</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 07:47:30 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/368.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Apr 2015 15:54:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Mon, 04 May 2015 20:47:31 GMT]]></title><description><![CDATA[<p dir="auto">Hi Bluefox,</p>
<p dir="auto">erst einmal vielen, vielen Dank für die schnelle Antwort!</p>
<p dir="auto">Ich konnte es direkt in meinem Geofency Flow verarbeiten :-)</p>
<p dir="auto">Ich bekomme noch jedes Mal eine Warnmeldung, wenn die Funktion und der http request durchläuft:</p>
<p dir="auto">****[http request]</p>
<p dir="auto">[msg] : (string)</p>
<p dir="auto">Deprecated: msg properties should not override fixed node properties. Use explicit override option. See <a href="http://bit.ly/nr-override-msg-props" rel="nofollow ugc">http://bit.ly/nr-override-msg-props</a>****</p>
<p dir="auto">Mit dem Link in der Meldung bin ich nicht schlauer geworden.</p>
<p dir="auto">Derzeit verbuche ich es als "Schönheitsfehler" ;-)</p>
<p dir="auto">VG</p>
<p dir="auto">Michael</p>
]]></description><link>https://forum.iobroker.net/post/23781</link><guid isPermaLink="true">https://forum.iobroker.net/post/23781</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Mon, 04 May 2015 20:47:31 GMT</pubDate></item><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Mon, 04 May 2015 07:42:11 GMT]]></title><description><![CDATA[<pre><code>[{"id":"ed13881b.12ec78","type":"inject","name":"","topic":"","payload":"http://iobroker.com","payloadType":"string","repeat":"","crontab":"","once":false,"x":149,"y":58,"z":"d8cc32bf.2733d","wires":[["6e3ec92f.91c138"]]},{"id":"16432cfe.e9bcd3","type":"debug","name":"","active":true,"console":"false","complete":"false","x":720,"y":125,"z":"d8cc32bf.2733d","wires":[]},{"id":"6e3ec92f.91c138","type":"function","name":"Create request","func":"var newMsg = {\n    method: 'GET',\n    url: msg.payload\n}\nreturn newMsg;","outputs":1,"valid":true,"x":337,"y":124,"z":"d8cc32bf.2733d","wires":[["88a0d151.775f3"]]},{"id":"88a0d151.775f3","type":"http request","name":"","method":"GET","ret":"txt","url":"","x":491,"y":126,"z":"d8cc32bf.2733d","wires":[["16432cfe.e9bcd3"]]},{"id":"8b98a428.746758","type":"inject","name":"","topic":"","payload":"http://wikipedia.com","payloadType":"string","repeat":"","crontab":"","once":false,"x":130,"y":123,"z":"d8cc32bf.2733d","wires":[["6e3ec92f.91c138"]]},{"id":"b0e64a7b.4f19b8","type":"ioBroker in","name":"","topic":"myUrl","payloadType":"value","x":147,"y":229,"z":"d8cc32bf.2733d","wires":[["6e3ec92f.91c138"]]}]
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/48_node.png" alt="48_node.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/23728</link><guid isPermaLink="true">https://forum.iobroker.net/post/23728</guid><dc:creator><![CDATA[Bluefox]]></dc:creator><pubDate>Mon, 04 May 2015 07:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Sun, 03 May 2015 20:47:08 GMT]]></title><description><![CDATA[<p dir="auto">Ich würde gerne die Routenberechnung auch dynamisch nutzen.</p>
<p dir="auto">D.h. das Ziel verändert sich.</p>
<p dir="auto">Dazu müsste ich die URL in der http request node tlw. mit Variablen schreiben (so, wie von Bluefox in Vis in Arbeit).</p>
<p dir="auto">Weiss jemand, ob dies möglich ist und wenn ja, wie der Syntax ist?</p>
<p dir="auto"><img src="/assets/uploads/files/327_2015-05-03_http_request_dynamisch.png" alt="327_2015-05-03_http_request_dynamisch.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/23718</link><guid isPermaLink="true">https://forum.iobroker.net/post/23718</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Sun, 03 May 2015 20:47:08 GMT</pubDate></item><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Tue, 21 Apr 2015 15:29:04 GMT]]></title><description><![CDATA[<p dir="auto"><s><a class="plugin-mentions-user plugin-mentions-a" href="/user/ruhr70" aria-label="Profile: ruhr70">@<bdi>ruhr70</bdi></a>:</s></p>
<blockquote>
<p dir="auto"><s><a class="plugin-mentions-user plugin-mentions-a" href="/user/ruhr70" aria-label="Profile: ruhr70">@<bdi>ruhr70</bdi></a>:</s></p>
<blockquote>
<p dir="auto">Kann es sein, dass die Google API die Werte ohne Berücksichtigung der Verkehrssituation zurückgibt?</p>
<p dir="auto">Ich erhalte je Route immer die identische Zeit. `</p>
</blockquote>
<p dir="auto">Kann das jemand bestätigen?</p>
<p dir="auto">D.h. die Verkehrslage wird nicht brücksichtgt.</p>
<p dir="auto">Die Zeit bei einer Route ändert sich nicht.</p>
<p dir="auto">Oder muss ich bei mir noch einen Fehler bei mir suchen? `<br />
Ja ist leider so. :(</p>
</blockquote>
<p dir="auto">Es geht nur mit API Key.</p>
<pre><code>&amp;key=API_KEY
</code></pre>
]]></description><link>https://forum.iobroker.net/post/23291</link><guid isPermaLink="true">https://forum.iobroker.net/post/23291</guid><dc:creator><![CDATA[Bluefox]]></dc:creator><pubDate>Tue, 21 Apr 2015 15:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Tue, 21 Apr 2015 15:02:56 GMT]]></title><description><![CDATA[<p dir="auto"><s><a class="plugin-mentions-user plugin-mentions-a" href="/user/ruhr70" aria-label="Profile: ruhr70">@<bdi>ruhr70</bdi></a>:</s></p>
<blockquote>
<p dir="auto">Kann es sein, dass die Google API die Werte ohne Berücksichtigung der Verkehrssituation zurückgibt?</p>
<p dir="auto">Ich erhalte je Route immer die identische Zeit. `</p>
</blockquote>
<p dir="auto">Kann das jemand bestätigen?</p>
<p dir="auto">D.h. die Verkehrslage wird nicht brücksichtgt.</p>
<p dir="auto">Die Zeit bei einer Route ändert sich nicht.</p>
<p dir="auto">Oder muss ich bei mir noch einen Fehler bei mir suchen?</p>
]]></description><link>https://forum.iobroker.net/post/23290</link><guid isPermaLink="true">https://forum.iobroker.net/post/23290</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Tue, 21 Apr 2015 15:02:56 GMT</pubDate></item><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Mon, 20 Apr 2015 05:18:04 GMT]]></title><description><![CDATA[<p dir="auto">Kann es sein, dass die Google API die Werte ohne Berücksichtigung der Verkehrssituation zurückgibt?</p>
<p dir="auto">Ich erhalte je Route immer die identische Zeit.</p>
<p dir="auto">In Google Maps selbst werden mittlerweile höhere Zeiten angezeigt.</p>
<p dir="auto"><em>grummel</em></p>
<p dir="auto">Wen dem so ist, bringt die Funktion leider gar nichts :(</p>
]]></description><link>https://forum.iobroker.net/post/23213</link><guid isPermaLink="true">https://forum.iobroker.net/post/23213</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Mon, 20 Apr 2015 05:18:04 GMT</pubDate></item><item><title><![CDATA[Reply to Stau-Erkennung mit node-red on Sun, 19 Apr 2015 21:03:40 GMT]]></title><description><![CDATA[<p dir="auto">Das hat mich direkt begeistert. Ich habe das Beispiel für mich wie folgt angepasst:</p>
<p dir="auto"><strong><strong>1.) Die URL um die Alternativerouten ergänzt (am Ende der URL &amp;alternatives=true)</strong></strong></p>
<p dir="auto"><a href="http://maps.googleapis.com/maps/api/directions/json?origin=Raiffeisenstrasse+10,+34121+Kassel&amp;destination=Rainer-Dierichs+Platz+1,+34117+Kassel&amp;sensor=false&amp;alternatives=true" rel="nofollow ugc">http://maps.googleapis.com/maps/api/dir … tives=true</a></p>
<p dir="auto"><strong><strong>2.) Im Node-Red Flow alle drei Routen ausgewertet</strong></strong></p>
<p dir="auto"><img src="/assets/uploads/files/327_2015-04_node-red_anfahrt_zur_arbeit.jpg" alt="327_2015-04_node-red_anfahrt_zur_arbeit.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Für alle drei Routen wird die Anfahrtzeit erfasst und ermittelt und ob es auf der Route Stau gibt.</p>
<p dir="auto">Zum Ermitteln der Fahrzeit der zweiten Route muss die entsprechende Funktion z.B. wie folgt angepasst werden:</p>
<pre><code>msg.payload = Math.ceil(msg.payload.routes[1].legs[0].duration.value / 60);

return msg;
</code></pre>
<p dir="auto">.routes[0].legs[0] -&gt; erste Route</p>
<p dir="auto">.routes[1].legs[0] -&gt; zweite Route</p>
<p dir="auto">.routes[2].legs[0] -&gt; dritte Route</p>
<p dir="auto"><strong><strong>3.) den Namen der drei Routen ausgelesen und in den Variablen gespeichert.</strong></strong></p>
<p dir="auto">Beispiel für die dritte Route:</p>
<pre><code>msg.payload = (msg.payload.routes[2].summary);

return msg;
</code></pre>
<p dir="auto"><strong><strong>4.) Die Abfrage über eine Javascript Variable von ioBroker getriggert</strong></strong></p>
<p dir="auto">Um die regelmässige Abfrage über ioBroker zu triggern (bei mir derzeit alle zwei Minuten) und über ioBroker/Vis die aktuelle Fahrzeit auf Knopfdruck zu übermitteln, triggere ich nicht über das Inject in Node-Red, sondern über eine JavaScript Variable, die alle zwei Minuten auf true gesetzt wird.</p>
<p dir="auto"><strong><strong>Was habe ich damit auf die Schnelle realisiert:</strong></strong></p>
<p dir="auto">a) Dynamisch Anzeige in einem Status/Alarmfeld in VIS, wenn es auf einer oder mehreren Routen aktuell Stau gibt</p>
<p dir="auto">b) ein 7-Tage Rickshaw-Chart, um die Entwicklung der Fahrzeiten zu vergleichen</p>
<p dir="auto">c) in VIS eine Tabelle, in der alle drei Routen mit Namen und Fahrzeit dargestellt werden.</p>
<p dir="auto">Einen morgendlichen Eintrag in meiner Ereignisliste an einem Arbeitstag und zur Frühstückszeit werde ich noch ergänzen.</p>
<p dir="auto">Danke Bluefox! Von so Beispielen lebe ich ;-)</p>
]]></description><link>https://forum.iobroker.net/post/23211</link><guid isPermaLink="true">https://forum.iobroker.net/post/23211</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Sun, 19 Apr 2015 21:03:40 GMT</pubDate></item></channel></rss>