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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Grafana Heatmap für Autofahrten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    906

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Grafana Heatmap für Autofahrten

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
6 Beiträge 2 Kommentatoren 617 Aufrufe 2 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.
  • M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von Marty56
    #1

    Hallo

    Ich möchte mit einer Heatmap von Grafana meine Autofahrten darstellen.
    Die Koordinaten der Fahren bekomme ich bereits über Homekit.
    Dazu muss ich eine Influxdb Datenbank erstellen, die von den Feldern abweicht von dem, was iobroker über den Adapter erzeugt. Derzeit habe ich Influxdb 1.x installiert.
    Im Prinzip möchte die Befehl von Influx mit Javascript absetzen.

    USE geolocation
    INSERT location,lat=48.2990 lon=11.284317 
    

    mit dem "Exec" Befehl funktioniert es leider nicht, weil ich die influxdb in einem anderen Docker laufen lasse als iobroker. Irgendwie kann man das sicherlich über http POST machen.

    Ein andere Idee wäre in einem Datenpunkt ein JSON zu persistieren und dann in der Abfrage in Grafana die lat und lon zu extrahieren.

    Hat jemand einen Tip für mich?

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    M 1 Antwort Letzte Antwort
    0
    • M Marty56

      Hallo

      Ich möchte mit einer Heatmap von Grafana meine Autofahrten darstellen.
      Die Koordinaten der Fahren bekomme ich bereits über Homekit.
      Dazu muss ich eine Influxdb Datenbank erstellen, die von den Feldern abweicht von dem, was iobroker über den Adapter erzeugt. Derzeit habe ich Influxdb 1.x installiert.
      Im Prinzip möchte die Befehl von Influx mit Javascript absetzen.

      USE geolocation
      INSERT location,lat=48.2990 lon=11.284317 
      

      mit dem "Exec" Befehl funktioniert es leider nicht, weil ich die influxdb in einem anderen Docker laufen lasse als iobroker. Irgendwie kann man das sicherlich über http POST machen.

      Ein andere Idee wäre in einem Datenpunkt ein JSON zu persistieren und dann in der Abfrage in Grafana die lat und lon zu extrahieren.

      Hat jemand einen Tip für mich?

      M Offline
      M Offline
      Marty56
      schrieb am zuletzt editiert von
      #2

      Damit konnte ich in dem gewünschten Format schreiben.

      function persist_geo(lon,lat) {
          var url = 'curl -i -XPOST "http://localhost:8086/write?db=geolocation" --data-binary "location,lat=' + lat + " lon=" + lon + '"'
          log(url)
          
          exec(url, function (error, stdout, stderr) {
              log(stdout)
          }); 
      }
      

      Bildschirmfoto 2024-04-04 um 11.56.10.jpg

      Meine Test Heatmap mit 3 Fahrten in München und 2 Fahrten in Hamburg.

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • M Marty56

        Damit konnte ich in dem gewünschten Format schreiben.

        function persist_geo(lon,lat) {
            var url = 'curl -i -XPOST "http://localhost:8086/write?db=geolocation" --data-binary "location,lat=' + lat + " lon=" + lon + '"'
            log(url)
            
            exec(url, function (error, stdout, stderr) {
                log(stdout)
            }); 
        }
        

        Bildschirmfoto 2024-04-04 um 11.56.10.jpg

        Meine Test Heatmap mit 3 Fahrten in München und 2 Fahrten in Hamburg.

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von haus-automatisierung
        #3

        @marty56 In den aktuellen Versionen vom JavaScript-Adapter kannst Du auch ein httpPost direkt ausführen (ohne Umweg über exec/curl):

        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost

        Gern mal testen

        httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => {
            if (error) {
                console.error(error);
            }
        });
        

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        M 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @marty56 In den aktuellen Versionen vom JavaScript-Adapter kannst Du auch ein httpPost direkt ausführen (ohne Umweg über exec/curl):

          https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost

          Gern mal testen

          httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => {
              if (error) {
                  console.error(error);
              }
          });
          
          M Offline
          M Offline
          Marty56
          schrieb am zuletzt editiert von Marty56
          #4

          @haus-automatisierung sagte in Grafana Heatmap für Autofahrten:

                                                                                                                                      httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => {                                                                                                                                                                                if (error) {                                                                                                                                                                                    console.error(error);                                                                                                                                                                                }                                                                                                                                                                            });                                            
          

          Danke für die Rückmeldung.
          bekomme

          ReferenceError: httpPost is not defined
          

          Benötige ich da noch irgendein ein require("")?

          Update: ich habe noch die stable Version 7.8.0 installiert. Vermutlich geht das erst mit 7.9.0

          HW:NUC (16 GB Ram)
          OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • M Marty56

            @haus-automatisierung sagte in Grafana Heatmap für Autofahrten:

                                                                                                                                        httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => {                                                                                                                                                                                if (error) {                                                                                                                                                                                    console.error(error);                                                                                                                                                                                }                                                                                                                                                                            });                                            
            

            Danke für die Rückmeldung.
            bekomme

            ReferenceError: httpPost is not defined
            

            Benötige ich da noch irgendein ein require("")?

            Update: ich habe noch die stable Version 7.8.0 installiert. Vermutlich geht das erst mit 7.9.0

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @marty56 Genau, ab 7.9.0

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            M 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @marty56 Genau, ab 7.9.0

              M Offline
              M Offline
              Marty56
              schrieb am zuletzt editiert von Marty56
              #6

              @haus-automatisierung

              Ich hab es mal versucht.
              mit der neusten Version gibt es keine Fehlermeldung mehr, aber es wird nichts in die Influxdb geschrieben.
              Ich vermute, dass der Parameter "--data-binary" von dem curl Kommando nicht richtig "übersetzt" wurde.

              HW:NUC (16 GB Ram)
              OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

              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

              679

              Online

              32.6k

              Benutzer

              82.2k

              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