Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IoBroker und Stau- / Verkehrsinformationen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

IoBroker und Stau- / Verkehrsinformationen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
119 Beiträge 48 Kommentatoren 32.0k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 0 0018

    Habe den Adapter mal runtergeschmissen und neu installiert. Jetzt ist der Fehler weg und die Abfrage passt wenn ich Straße mit Hausnummer, PLZ Ort eingebe.
    Leider berechnet "here" mir den falschen Weg. Hierzu hätte ich gerne die Möglichkeit Zwischenpunkte einzugeben, am besten wäre es im Koordinatenformat wie zB. 48.21843, 11.62579.

    Wäre das machbar?

    N Offline
    N Offline
    nousefor82
    schrieb am zuletzt editiert von
    #107

    @0018

    Ich würde mich anschließen!

    1 Antwort Letzte Antwort
    0
    • 0 0018

      Habe den Adapter mal runtergeschmissen und neu installiert. Jetzt ist der Fehler weg und die Abfrage passt wenn ich Straße mit Hausnummer, PLZ Ort eingebe.
      Leider berechnet "here" mir den falschen Weg. Hierzu hätte ich gerne die Möglichkeit Zwischenpunkte einzugeben, am besten wäre es im Koordinatenformat wie zB. 48.21843, 11.62579.

      Wäre das machbar?

      G Offline
      G Offline
      gutgut30
      schrieb am zuletzt editiert von
      #108

      @0018
      Wie hast du die Strecke einsehen können? Ich rätsel hier auch gerade welche Strecke here wohl genommen hat bei meiner Start / Ziel Eingabe. Es gibt diverse Möglichkeiten, aber ich weiß nicht für welche here sich entschieden hat.

      nik82N 1 Antwort Letzte Antwort
      0
      • G gutgut30

        @0018
        Wie hast du die Strecke einsehen können? Ich rätsel hier auch gerade welche Strecke here wohl genommen hat bei meiner Start / Ziel Eingabe. Es gibt diverse Möglichkeiten, aber ich weiß nicht für welche here sich entschieden hat.

        nik82N Offline
        nik82N Offline
        nik82
        Most Active
        schrieb am zuletzt editiert von nik82
        #109

        Hallo,
        habe auch den Roadtraffic Adapter installiert und funktioniert echt super,
        ABER bei mir läuft jeden Tag der API Key von here.com aus.

        Ich lege einen an, alles funktioniert und am nächsten Tag funktioniert der Adapter nicht mehr, weil der API Key bei Here.com auf "Expired" steht:

        507bc914-bf70-4911-9154-19a90b8e14c9-image.png

        Hat jemand eine Idee, warum der Api Key bei mir nur immer einen Tag gültig ist?

        So kann ich immer nur 24 Stunden den Roadtraffic Adapter nutzen und danach holt er keine Routen mehr:

        a3d20769-5d78-4e0c-8896-a65da03a1137-image.png

        _--------------------------------------------------------------------------------------------------------

        EDIT

        Falls den Fehler noch wer hat, es war meine Schuld.
        Ich habe vergessen meine Email zu verifizieren, dadurch läuft der API Key nach 60 Minuten ab.

        1 Antwort Letzte Antwort
        0
        • BuZZyB BuZZy

          @nousefor82 die Sache mit Google und deren "Preismodell" hat mich auch genervt..

          Habe daher den roadtraffic Adapter auf Here.com umgeschrieben.
          https://github.com/BuZZy1337/ioBroker.roadtraffic
          Arbeitet über here.com und fragt aktuellen Fahrzeiten ab.

          T Offline
          T Offline
          Tirador
          schrieb am zuletzt editiert von
          #110

          @BuZZy said in IoBroker und Stau- / Verkehrsinformationen:

          @nousefor82 die Sache mit Google und deren "Preismodell" hat mich auch genervt..

          Habe daher den roadtraffic Adapter auf Here.com umgeschrieben.
          https://github.com/BuZZy1337/ioBroker.roadtraffic
          Arbeitet über here.com und fragt aktuellen Fahrzeiten ab.

          :+1: Wow. Vielen Dank für deine tolle Arbeit. Der Adapter funktioniert auf Anhieb! :)

          K 1 Antwort Letzte Antwort
          0
          • T Tirador

            @BuZZy said in IoBroker und Stau- / Verkehrsinformationen:

            @nousefor82 die Sache mit Google und deren "Preismodell" hat mich auch genervt..

            Habe daher den roadtraffic Adapter auf Here.com umgeschrieben.
            https://github.com/BuZZy1337/ioBroker.roadtraffic
            Arbeitet über here.com und fragt aktuellen Fahrzeiten ab.

            :+1: Wow. Vielen Dank für deine tolle Arbeit. Der Adapter funktioniert auf Anhieb! :)

            K Online
            K Online
            Kuddel
            schrieb am zuletzt editiert von
            #111

            Hallo zusammen,

            ich habe den Adapter auch gerade installiert.

            Kann man bei der Eingabe von Start und Ziel die Strecke irgendwie beeinflussen ?

            1 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              gutgut30
              schrieb am zuletzt editiert von
              #112

              Hat es eigentlich irgendwer geschafft sich einfach nur die Karte einzubinden wie auf Jeepers Screenshot? Ich bekomme es einfach nicht hin eine valide URL zu generieren für das iFrame Widget.

              Stephan SchleichS 1 Antwort Letzte Antwort
              0
              • G gutgut30

                Hat es eigentlich irgendwer geschafft sich einfach nur die Karte einzubinden wie auf Jeepers Screenshot? Ich bekomme es einfach nicht hin eine valide URL zu generieren für das iFrame Widget.

                Stephan SchleichS Offline
                Stephan SchleichS Offline
                Stephan Schleich
                schrieb am zuletzt editiert von
                #113

                Nutzt das Script oder den Adapter noch wer?
                Der Adapter funktioniert bei mir nämlich nicht, vllt kann kurz jemand Rückmeldung geben

                H 1 Antwort Letzte Antwort
                0
                • Stephan SchleichS Stephan Schleich

                  Nutzt das Script oder den Adapter noch wer?
                  Der Adapter funktioniert bei mir nämlich nicht, vllt kann kurz jemand Rückmeldung geben

                  H Offline
                  H Offline
                  hohmannc
                  schrieb am zuletzt editiert von
                  #114

                  @stephan-schleich also bei mir ist der adapter Gelb und läuft nicht.

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    marsmännchen
                    schrieb am zuletzt editiert von
                    #115

                    Ja, schaut schlecht aus:

                    Error from Here: undefined undefined
                    

                    Ich versuch es mal mit Git-Issue
                    MfG

                    Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
                    Wago PFC200 mit Dali Lichtsteuerung.

                    1 Antwort Letzte Antwort
                    0
                    • G Offline
                      G Offline
                      gutgut30
                      schrieb am zuletzt editiert von gutgut30
                      #116

                      Mir hat das Script hier sehr geholfen. Daher man den request inzwischen anders ausführen soll (Deprecrated Meldung) habe ich es auf Axios abgepasst.

                      Zudem noch 2x VIA Wegepunkt und das Script zieht die Daten nur wenn ich anwesend bin. Das spart Aufrufe. Zudem erzeuge ich noch einen extra Datenpunkt mit dem aktuellen Zeitstempel um zu sehen wie alt der aktuelle Wert ist.

                      Falls jemand auch auf Axios umstellen will, hier das Script:

                      // Beschreibung der API: https://developers.google.com/maps/documentation/directions/intro?hl=de#traffic-model
                      // API-Key: https://console.developers.google.com/apis/dashboard?project=iobroker-privat&duration=PT1H
                      // Infos : http://forum.iobroker.net/viewtopic.php?f=8&t=4019&p=38235#p38226
                      
                      const axios = require('axios');
                      
                      var ldebug = true; // lokale Debugausgabe des Skripts true/false
                      
                      var pfad = "0_userdata.0.xxxxx."; // der Pfad zu den Datenpunkten. Letzten Punkt nicht löschen
                      
                      var stauStufe1AbMinuten = 5;
                      var stauStufe2AbMinuten = 8;
                      var stauStufe3AbMinuten = 12;
                      
                      // Standardzeit in Minuten je Route
                      var standardMinuten0 = 33;
                      
                      var origin = "11.1111111,2.2222222"; // Start
                      var via1 = "11.1111111,2.2222222"; // Zwischenpunt1
                      var via2 = "11.1111111,2.2222222"; // Zwischenpunt2
                      var destination = "11.1111111,2.2222222"; //  Ziel
                      
                      var apikey = "DEINAPIKEY";
                      
                      var myJson = {};
                      
                      var idUrl = pfad + "skript.url";
                      var idJson = pfad + "skript.ergebnis_json";
                      var idStatus = pfad + "skript.status";
                      var idTimestamp = pfad + "skript.timestamp";
                      var idMinuten_0 = pfad + "Minuten_0";
                      var idMinuten_0_durchschnitt = pfad + "Minuten_0_Durchschnitt";
                      var idMinuten_0_delta = pfad + "Minuten_0_Deltazeit";
                      var idRoute_0 = pfad + "Route_0"; // Routenbezeichnung von Google Maps
                      var idStau_0 = pfad + "Stau_0"; // boolean
                      var idStaustufe_0 = pfad + "Staustufe_0"; // Wert von (0-3)
                      var idAnzahlWaypoints = pfad + "Anzahl_Wegpunkte_0"; // Anzahl der Wegpunkte der aktuellen Route
                      
                      function createAllStates() {
                      
                          createState(idMinuten_0, 0, {
                              name: 'Route 0 Minuten aktuell zum Ziel',
                              desc: 'Route 0 Minuten aktuell zum Ziel',
                              type: 'number',
                              role: 'value',
                              unit: 'min'
                          });
                      
                          createState(idMinuten_0_durchschnitt, 0, {
                              name: 'Route 0 Minuten im Durchschnitt zum Ziel',
                              desc: 'Route 0 Minuten im Durchschnitt zum Ziel',
                              type: 'number',
                              role: 'value',
                              unit: 'min'
                          });
                      
                          createState(idMinuten_0_delta, 0, {
                              name: 'Route 0 Minuten Delta gegenüber dem Durchschnitt',
                              desc: 'Route 0 Minuten Delta gegenüber dem Durchschnitt',
                              type: 'number',
                              role: 'value',
                              unit: 'min'
                          });
                      
                          createState(idRoute_0, "init", {
                              name: 'Bezeichnung der Route 0',
                              desc: 'Bezeichnung der Route 0 von Google Maps',
                              type: 'string',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idStau_0, false, {
                              name: 'Stau auf Route 0 (boolean)',
                              desc: 'Stau auf Route 0 (boolean)',
                              type: 'boolean',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idStaustufe_0, 0, {
                              name: 'Staustufe auf Route 0 (0-3)',
                              desc: 'Staustufe (0 kein Stau bis 3 starker Stau) auf Route 0',
                              type: 'number',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idAnzahlWaypoints, 0, {
                              name: 'Aktuelle Anzahl der Wegpunkte für die Route',
                              desc: 'Aktuelle Anzahl der Wegpunkte für die Route',
                              type: 'number',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idUrl, "", {
                              name: 'url der Abfrage zur Google',
                              desc: 'url der Abfrage zur Google',
                              type: 'string',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idJson, "", {
                              name: 'Ergebnis der Abfrage von Google',
                              desc: 'Ergebnis der Abfrage von Google (json)',
                              type: 'string',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idStatus, "", {
                              name: 'Status der Abfrage zur Google',
                              desc: 'Status der Abfrage zur Google',
                              type: 'string',
                              role: 'value',
                              unit: ''
                          });
                      
                          createState(idTimestamp, "", {
                              name: 'Letze Aktualisierung',
                              desc: 'Letze Aktualisierung',
                              type: 'string',
                              role: 'value',
                              unit: ''
                          });
                      }
                      
                      function readJson(url, callback) {
                          axios.get(url)
                              .then(response => {
                                  if (response.status === 200) {
                                      var json = response.data;
                                      callback(null, json);
                                  } else {
                                      var error = "Fehler beim Auslesen des JSON. Statuscode: " + response.status;
                                      callback(error, null);
                                  }
                              })
                              .catch(error => {
                                  var error = "Fehler bei der Abfrage von: " + url + ". Fehler: " + error.message;
                                  callback(error, null);
                              });
                      }
                      
                      var url = 'https://maps.googleapis.com/maps/api/directions/json'
                          + '?origin=' + origin
                          + '&waypoints=via:' + via1
                          + '&waypoints=via:' + via2
                          + '&destination=' + destination
                          + '&departure_time=now'
                          // + '&sensor=false'
                          // + '&alternatives=true'
                          + '&mode=driving' // driving = default
                          + '&language=de-DE'
                          + '&key=' + apikey;
                      
                      function main() {
                          if (ldebug) log("url: " + url);
                          setState(idUrl, url);
                      
                          readJson(url, function (err, json) {
                              if (!err) {
                                  myJson = json;
                                  if (ldebug) log("json:" + JSON.stringify(myJson));
                                  setState(idJson, JSON.stringify(myJson));
                      
                                  if (myJson.status == "OK") {
                                      log("Anzahl Wegepunkte: " + myJson.routes[0].legs[0].steps.length);
                      
                                      var minuten0 = Math.ceil(myJson.routes[0].legs[0].duration_in_traffic.value / 60);
                                      var minuten0_durchschnitt = Math.ceil(myJson.routes[0].legs[0].duration.value / 60);
                                      var stau0 = false;
                                      var staustufe0 = 0;
                                      var delta = minuten0 - minuten0_durchschnitt;
                      
                                      if (delta >= stauStufe1AbMinuten) { stau0 = true; staustufe0 = 1 }
                                      if (delta >= stauStufe2AbMinuten) { staustufe0 = 2 }
                                      if (delta >= stauStufe3AbMinuten) { staustufe0 = 3 }
                      
                                      setState(idMinuten_0, minuten0); // aktuelle Dauer der Route
                                      setState(idMinuten_0_durchschnitt, minuten0_durchschnitt); // durchschnittliche Dauer der Route
                                      setState(idMinuten_0_delta, delta); // Delta Aktuell im Vergleich zum Durchschnitt
                                      setState(idRoute_0, myJson.routes[0].summary); // Bezeichnung Route als Text
                                      setState(idStau_0, stau0); // Boolean
                                      setState(idStaustufe_0, staustufe0);
                                      setState(idAnzahlWaypoints, myJson.routes[0].legs[0].steps.length);
                                  } else {
                                      log("Kein gültiger Status Google Maps: " + myJson.status);
                                      setState(idStatus, myJson.status);
                                  }
                              } else {
                                  log("Fehler beim Auslesen des JSON. Keine Daten erhalten.", "warn");
                                  myJson = {};
                              }
                          });
                      
                          var timestampnow =  Date.now()
                              // Setze den aktuellen Zeitstempel
                              setState(idTimestamp, timestampnow);
                          
                      }
                      
                      // ACHTUNG !!!! Individuelle Anpassung ruhr70
                      // verkleinert den Abfrageintervall an einem Arbeitstag im Zeitraum vor dem Losfahren
                      // globale Funktionen notwendig:
                      // arbeitstag()
                      // urlaubstag()
                      // isTimeInRange()
                      //if (isTimeInRange('05:00:00', '06:00:00')) {
                      // if (arbeitstag() && !urlaubstag()) {
                      // setTimeout(main,90*1000); // alle 90 Sekunden, 1.5 Minuten abfragen
                      // }
                      //}
                      
                      // Abfrage nur aktualisieren wenn jemand anwesend ist
                      if (anwesend()) {
                          schedule("*/10 * * * *", function () { // alle 10 Minuten die Werte abfragen
                              main();
                          });
                      }
                      
                      createAllStates();
                      
                      // Beim Skriptstart die Werte abfragen
                      setTimeout(main, 1000);
                      
                      
                      N 1 Antwort Letzte Antwort
                      0
                      • G gutgut30

                        Mir hat das Script hier sehr geholfen. Daher man den request inzwischen anders ausführen soll (Deprecrated Meldung) habe ich es auf Axios abgepasst.

                        Zudem noch 2x VIA Wegepunkt und das Script zieht die Daten nur wenn ich anwesend bin. Das spart Aufrufe. Zudem erzeuge ich noch einen extra Datenpunkt mit dem aktuellen Zeitstempel um zu sehen wie alt der aktuelle Wert ist.

                        Falls jemand auch auf Axios umstellen will, hier das Script:

                        // Beschreibung der API: https://developers.google.com/maps/documentation/directions/intro?hl=de#traffic-model
                        // API-Key: https://console.developers.google.com/apis/dashboard?project=iobroker-privat&duration=PT1H
                        // Infos : http://forum.iobroker.net/viewtopic.php?f=8&t=4019&p=38235#p38226
                        
                        const axios = require('axios');
                        
                        var ldebug = true; // lokale Debugausgabe des Skripts true/false
                        
                        var pfad = "0_userdata.0.xxxxx."; // der Pfad zu den Datenpunkten. Letzten Punkt nicht löschen
                        
                        var stauStufe1AbMinuten = 5;
                        var stauStufe2AbMinuten = 8;
                        var stauStufe3AbMinuten = 12;
                        
                        // Standardzeit in Minuten je Route
                        var standardMinuten0 = 33;
                        
                        var origin = "11.1111111,2.2222222"; // Start
                        var via1 = "11.1111111,2.2222222"; // Zwischenpunt1
                        var via2 = "11.1111111,2.2222222"; // Zwischenpunt2
                        var destination = "11.1111111,2.2222222"; //  Ziel
                        
                        var apikey = "DEINAPIKEY";
                        
                        var myJson = {};
                        
                        var idUrl = pfad + "skript.url";
                        var idJson = pfad + "skript.ergebnis_json";
                        var idStatus = pfad + "skript.status";
                        var idTimestamp = pfad + "skript.timestamp";
                        var idMinuten_0 = pfad + "Minuten_0";
                        var idMinuten_0_durchschnitt = pfad + "Minuten_0_Durchschnitt";
                        var idMinuten_0_delta = pfad + "Minuten_0_Deltazeit";
                        var idRoute_0 = pfad + "Route_0"; // Routenbezeichnung von Google Maps
                        var idStau_0 = pfad + "Stau_0"; // boolean
                        var idStaustufe_0 = pfad + "Staustufe_0"; // Wert von (0-3)
                        var idAnzahlWaypoints = pfad + "Anzahl_Wegpunkte_0"; // Anzahl der Wegpunkte der aktuellen Route
                        
                        function createAllStates() {
                        
                            createState(idMinuten_0, 0, {
                                name: 'Route 0 Minuten aktuell zum Ziel',
                                desc: 'Route 0 Minuten aktuell zum Ziel',
                                type: 'number',
                                role: 'value',
                                unit: 'min'
                            });
                        
                            createState(idMinuten_0_durchschnitt, 0, {
                                name: 'Route 0 Minuten im Durchschnitt zum Ziel',
                                desc: 'Route 0 Minuten im Durchschnitt zum Ziel',
                                type: 'number',
                                role: 'value',
                                unit: 'min'
                            });
                        
                            createState(idMinuten_0_delta, 0, {
                                name: 'Route 0 Minuten Delta gegenüber dem Durchschnitt',
                                desc: 'Route 0 Minuten Delta gegenüber dem Durchschnitt',
                                type: 'number',
                                role: 'value',
                                unit: 'min'
                            });
                        
                            createState(idRoute_0, "init", {
                                name: 'Bezeichnung der Route 0',
                                desc: 'Bezeichnung der Route 0 von Google Maps',
                                type: 'string',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idStau_0, false, {
                                name: 'Stau auf Route 0 (boolean)',
                                desc: 'Stau auf Route 0 (boolean)',
                                type: 'boolean',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idStaustufe_0, 0, {
                                name: 'Staustufe auf Route 0 (0-3)',
                                desc: 'Staustufe (0 kein Stau bis 3 starker Stau) auf Route 0',
                                type: 'number',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idAnzahlWaypoints, 0, {
                                name: 'Aktuelle Anzahl der Wegpunkte für die Route',
                                desc: 'Aktuelle Anzahl der Wegpunkte für die Route',
                                type: 'number',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idUrl, "", {
                                name: 'url der Abfrage zur Google',
                                desc: 'url der Abfrage zur Google',
                                type: 'string',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idJson, "", {
                                name: 'Ergebnis der Abfrage von Google',
                                desc: 'Ergebnis der Abfrage von Google (json)',
                                type: 'string',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idStatus, "", {
                                name: 'Status der Abfrage zur Google',
                                desc: 'Status der Abfrage zur Google',
                                type: 'string',
                                role: 'value',
                                unit: ''
                            });
                        
                            createState(idTimestamp, "", {
                                name: 'Letze Aktualisierung',
                                desc: 'Letze Aktualisierung',
                                type: 'string',
                                role: 'value',
                                unit: ''
                            });
                        }
                        
                        function readJson(url, callback) {
                            axios.get(url)
                                .then(response => {
                                    if (response.status === 200) {
                                        var json = response.data;
                                        callback(null, json);
                                    } else {
                                        var error = "Fehler beim Auslesen des JSON. Statuscode: " + response.status;
                                        callback(error, null);
                                    }
                                })
                                .catch(error => {
                                    var error = "Fehler bei der Abfrage von: " + url + ". Fehler: " + error.message;
                                    callback(error, null);
                                });
                        }
                        
                        var url = 'https://maps.googleapis.com/maps/api/directions/json'
                            + '?origin=' + origin
                            + '&waypoints=via:' + via1
                            + '&waypoints=via:' + via2
                            + '&destination=' + destination
                            + '&departure_time=now'
                            // + '&sensor=false'
                            // + '&alternatives=true'
                            + '&mode=driving' // driving = default
                            + '&language=de-DE'
                            + '&key=' + apikey;
                        
                        function main() {
                            if (ldebug) log("url: " + url);
                            setState(idUrl, url);
                        
                            readJson(url, function (err, json) {
                                if (!err) {
                                    myJson = json;
                                    if (ldebug) log("json:" + JSON.stringify(myJson));
                                    setState(idJson, JSON.stringify(myJson));
                        
                                    if (myJson.status == "OK") {
                                        log("Anzahl Wegepunkte: " + myJson.routes[0].legs[0].steps.length);
                        
                                        var minuten0 = Math.ceil(myJson.routes[0].legs[0].duration_in_traffic.value / 60);
                                        var minuten0_durchschnitt = Math.ceil(myJson.routes[0].legs[0].duration.value / 60);
                                        var stau0 = false;
                                        var staustufe0 = 0;
                                        var delta = minuten0 - minuten0_durchschnitt;
                        
                                        if (delta >= stauStufe1AbMinuten) { stau0 = true; staustufe0 = 1 }
                                        if (delta >= stauStufe2AbMinuten) { staustufe0 = 2 }
                                        if (delta >= stauStufe3AbMinuten) { staustufe0 = 3 }
                        
                                        setState(idMinuten_0, minuten0); // aktuelle Dauer der Route
                                        setState(idMinuten_0_durchschnitt, minuten0_durchschnitt); // durchschnittliche Dauer der Route
                                        setState(idMinuten_0_delta, delta); // Delta Aktuell im Vergleich zum Durchschnitt
                                        setState(idRoute_0, myJson.routes[0].summary); // Bezeichnung Route als Text
                                        setState(idStau_0, stau0); // Boolean
                                        setState(idStaustufe_0, staustufe0);
                                        setState(idAnzahlWaypoints, myJson.routes[0].legs[0].steps.length);
                                    } else {
                                        log("Kein gültiger Status Google Maps: " + myJson.status);
                                        setState(idStatus, myJson.status);
                                    }
                                } else {
                                    log("Fehler beim Auslesen des JSON. Keine Daten erhalten.", "warn");
                                    myJson = {};
                                }
                            });
                        
                            var timestampnow =  Date.now()
                                // Setze den aktuellen Zeitstempel
                                setState(idTimestamp, timestampnow);
                            
                        }
                        
                        // ACHTUNG !!!! Individuelle Anpassung ruhr70
                        // verkleinert den Abfrageintervall an einem Arbeitstag im Zeitraum vor dem Losfahren
                        // globale Funktionen notwendig:
                        // arbeitstag()
                        // urlaubstag()
                        // isTimeInRange()
                        //if (isTimeInRange('05:00:00', '06:00:00')) {
                        // if (arbeitstag() && !urlaubstag()) {
                        // setTimeout(main,90*1000); // alle 90 Sekunden, 1.5 Minuten abfragen
                        // }
                        //}
                        
                        // Abfrage nur aktualisieren wenn jemand anwesend ist
                        if (anwesend()) {
                            schedule("*/10 * * * *", function () { // alle 10 Minuten die Werte abfragen
                                main();
                            });
                        }
                        
                        createAllStates();
                        
                        // Beim Skriptstart die Werte abfragen
                        setTimeout(main, 1000);
                        
                        
                        N Offline
                        N Offline
                        newbie0815
                        schrieb am zuletzt editiert von
                        #117

                        @gutgut30 Hallo, vielen Dank für das Script. Der Adapter läuft bei mir nicht mehr - man muss wohl eine neue APi erzeugen, aber man muss auch für einen Free Account Zahlungsdaten usw. angeben. Ich würde gerne Dein Script benutzen, bin mir aber nicht sicher was ich genau machen muss. Kannst Du mir etwas auf die Sprünge helfen ? Danke.

                        N 1 Antwort Letzte Antwort
                        0
                        • N newbie0815

                          @gutgut30 Hallo, vielen Dank für das Script. Der Adapter läuft bei mir nicht mehr - man muss wohl eine neue APi erzeugen, aber man muss auch für einen Free Account Zahlungsdaten usw. angeben. Ich würde gerne Dein Script benutzen, bin mir aber nicht sicher was ich genau machen muss. Kannst Du mir etwas auf die Sprünge helfen ? Danke.

                          N Offline
                          N Offline
                          newbie0815
                          schrieb am zuletzt editiert von
                          #118

                          @newbie0815 Hi, ich habe Chatgpt bemüht und es läuft. Danke

                          G 1 Antwort Letzte Antwort
                          0
                          • N newbie0815

                            @newbie0815 Hi, ich habe Chatgpt bemüht und es läuft. Danke

                            G Offline
                            G Offline
                            gutgut30
                            schrieb am zuletzt editiert von
                            #119

                            @newbie0815 ich kann dir morgen mal das aktuelle Script posten. Der Trigger funktioniert im hier geposteten so nämlich nicht wirklich sinnvoll und kann dir flott die kostenlosen API Aufrufe verbrauchen.

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            506

                            Online

                            32.4k

                            Benutzer

                            81.4k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe