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. Aus influxDB 2 lesen und schreiben JS oder node.js

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Aus influxDB 2 lesen und schreiben JS oder node.js

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascript
15 Beiträge 5 Kommentatoren 870 Aufrufe 4 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.
  • XxJooOX XxJooO

    @haus-automatisierung ,

    soweit ich gelesen habe, kann man mit der Flux-Sprache von InfluxDB Daten lesen, filtern und transformieren – aber nicht direkt in andere Datenpunkte schreiben.

    Ich kann leider erst am Nachmittag eines meiner Beispiele einstellen.

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

    @xxjooo Klar kannst Du das. Mit > to(). Macht man doch z.B. mit Tasks genauso. Kann man natürlich auch nur einmalig manuell ausführen, um einen bestehenden Datenbestand einzuschränken und das Ergebnis wieder zu speichern.

    https://docs.influxdata.com/flux/v0/stdlib/influxdata/influxdb/to/

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

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

      @xxjooo Klar kannst Du das. Mit > to(). Macht man doch z.B. mit Tasks genauso. Kann man natürlich auch nur einmalig manuell ausführen, um einen bestehenden Datenbestand einzuschränken und das Ergebnis wieder zu speichern.

      https://docs.influxdata.com/flux/v0/stdlib/influxdata/influxdb/to/

      XxJooOX Offline
      XxJooOX Offline
      XxJooO
      schrieb am zuletzt editiert von
      #6

      @haus-automatisierung ,

      also hier ein JavaScript aus ioBroker:

      const rangeStart = '2024-06-19T00:00:00.000Z';
      const rangeStop = '2025-06-19T00:00:00.000Z';
      
      function loeschen() {
          sendTo('influxdb.0', 'deleteAll', [
              { id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean' }
          ], result => console.log('deleted'));
      }
      
      function holen() {
          sendTo('influxdb.0', 'getHistory', {
              id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit',
              options: {
                  start: new Date(rangeStart).getTime(), 
                  end: new Date(rangeStop).getTime(),
                  aggregate: 'onchange',
                  addId: true
              }
          }, function (result) {
              if (!result || !result.result || !Array.isArray(result.result)) {
                  console.error('Fehlerhafte Rückgabe:', JSON.stringify(result));
                  return;
              }
      
              for (let i = 0; i < result.result.length; i++) {
                  const entry = result.result[i];
                  const val = entry.val;
      
                  if (val >= 30 && val <= 60) {
                      setState('0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean', {
                          val: val,
                          ts: entry.ts,
                          ack: true,
                          q: entry.q || 0,
                          from: entry.from || 'system.adapter.javascript.0'
                      }, true);
                  }
              }
          });
      }
      
      //loeschen(); // optional
      holen();      // Daten abrufen
      

      In 0_userdata.0.Wetterstation.Aussenfeuchtigkeit sind für den Zeitraum tausende an Daten. Angekommen ist das:

      aecbf77c-29c6-43e6-ab2f-cf2fdd15b890-image.png

      ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • XxJooOX XxJooO

        @haus-automatisierung ,

        also hier ein JavaScript aus ioBroker:

        const rangeStart = '2024-06-19T00:00:00.000Z';
        const rangeStop = '2025-06-19T00:00:00.000Z';
        
        function loeschen() {
            sendTo('influxdb.0', 'deleteAll', [
                { id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean' }
            ], result => console.log('deleted'));
        }
        
        function holen() {
            sendTo('influxdb.0', 'getHistory', {
                id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit',
                options: {
                    start: new Date(rangeStart).getTime(), 
                    end: new Date(rangeStop).getTime(),
                    aggregate: 'onchange',
                    addId: true
                }
            }, function (result) {
                if (!result || !result.result || !Array.isArray(result.result)) {
                    console.error('Fehlerhafte Rückgabe:', JSON.stringify(result));
                    return;
                }
        
                for (let i = 0; i < result.result.length; i++) {
                    const entry = result.result[i];
                    const val = entry.val;
        
                    if (val >= 30 && val <= 60) {
                        setState('0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean', {
                            val: val,
                            ts: entry.ts,
                            ack: true,
                            q: entry.q || 0,
                            from: entry.from || 'system.adapter.javascript.0'
                        }, true);
                    }
                }
            });
        }
        
        //loeschen(); // optional
        holen();      // Daten abrufen
        

        In 0_userdata.0.Wetterstation.Aussenfeuchtigkeit sind für den Zeitraum tausende an Daten. Angekommen ist das:

        aecbf77c-29c6-43e6-ab2f-cf2fdd15b890-image.png

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

        @xxjooo Oha, Du rufst also extrem oft setState auf, und hoffst auf die Logik dahinter? Wenn Du es schon so extrem umständlich mit einem Script machen möchtest (statt mit Flux-Funktionen direkt in der Datenbank), dann schau wenigstens die sendTo Funktion storeState für die Datenbank an:

        https://github.com/ioBroker/ioBroker.influxdb?tab=readme-ov-file#storestate

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

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

          @xxjooo Oha, Du rufst also extrem oft setState auf, und hoffst auf die Logik dahinter? Wenn Du es schon so extrem umständlich mit einem Script machen möchtest (statt mit Flux-Funktionen direkt in der Datenbank), dann schau wenigstens die sendTo Funktion storeState für die Datenbank an:

          https://github.com/ioBroker/ioBroker.influxdb?tab=readme-ov-file#storestate

          XxJooOX Offline
          XxJooOX Offline
          XxJooO
          schrieb am zuletzt editiert von
          #8

          @haus-automatisierung ,

          also mit dem Script:

          const rangeStart = '2024-06-19T00:00:00.000Z';
          const rangeStop = '2025-06-19T00:00:00.000Z';
          
          function loeschen() {
              sendTo('influxdb.0', 'deleteAll', [
                  { id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean' }
              ], result => console.log('deleted'));
          }
          
          function holen() {
              sendTo('influxdb.0', 'getHistory', {
                  id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit',
                  options: {
                      start: new Date(rangeStart).getTime(),
                      end: new Date(rangeStop).getTime(),
                      aggregate: 'onchange',
                      addId: true
                  }
              }, function (result) {
                  if (!result || !result.result || !Array.isArray(result.result)) {
                      console.error('Fehlerhafte Rückgabe:', JSON.stringify(result));
                      return;
                  }
          
                  for (let i = 0; i < result.result.length; i++) {
                      const entry = result.result[i];
                      const val = entry.val;
          
                      if (val >= 30 && val <= 60) {
                          sendTo('influxdb.0', 'storeState', {
                              id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean',
                              state: {
                                  val: val,
                                  ts: entry.ts,
                                  ack: true,
                                  q: entry.q || 0,
                                  from: entry.from || 'system.adapter.javascript.0'
                              }
                          });
                      }
                  }
              });
          }
          //loeschen(); // optional
          holen();      // Daten abrufen
          

          ergibt sich leider exakt das gleiche Ergebnis, nur zwei Werte...

          Dann muss ich mich doch mit der Flux-Sprache beschäftigen. Interessanterweise hatte ich vor der Umstellung auf influxDB 2.x mit influxDB 1.8x schon mal so ein Problem und konnte aber mit einem JavaScript alle Daten in einen anderen DP schreiben...

          Gut, dann schau ich mal auf Flux...

          ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

          Marc BergM 1 Antwort Letzte Antwort
          0
          • XxJooOX XxJooO

            @haus-automatisierung ,

            also mit dem Script:

            const rangeStart = '2024-06-19T00:00:00.000Z';
            const rangeStop = '2025-06-19T00:00:00.000Z';
            
            function loeschen() {
                sendTo('influxdb.0', 'deleteAll', [
                    { id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean' }
                ], result => console.log('deleted'));
            }
            
            function holen() {
                sendTo('influxdb.0', 'getHistory', {
                    id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit',
                    options: {
                        start: new Date(rangeStart).getTime(),
                        end: new Date(rangeStop).getTime(),
                        aggregate: 'onchange',
                        addId: true
                    }
                }, function (result) {
                    if (!result || !result.result || !Array.isArray(result.result)) {
                        console.error('Fehlerhafte Rückgabe:', JSON.stringify(result));
                        return;
                    }
            
                    for (let i = 0; i < result.result.length; i++) {
                        const entry = result.result[i];
                        const val = entry.val;
            
                        if (val >= 30 && val <= 60) {
                            sendTo('influxdb.0', 'storeState', {
                                id: '0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean',
                                state: {
                                    val: val,
                                    ts: entry.ts,
                                    ack: true,
                                    q: entry.q || 0,
                                    from: entry.from || 'system.adapter.javascript.0'
                                }
                            });
                        }
                    }
                });
            }
            //loeschen(); // optional
            holen();      // Daten abrufen
            

            ergibt sich leider exakt das gleiche Ergebnis, nur zwei Werte...

            Dann muss ich mich doch mit der Flux-Sprache beschäftigen. Interessanterweise hatte ich vor der Umstellung auf influxDB 2.x mit influxDB 1.8x schon mal so ein Problem und konnte aber mit einem JavaScript alle Daten in einen anderen DP schreiben...

            Gut, dann schau ich mal auf Flux...

            Marc BergM Offline
            Marc BergM Offline
            Marc Berg
            Most Active
            schrieb am zuletzt editiert von Marc Berg
            #9

            @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

            Gut, dann schau ich mal auf Flux...

            from(bucket: "dein_bucket")
              |> range(start: -10y)
              |> filter(fn: (r) => 
                  r._measurement == "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" and
                  r._field == "value"
              )
              |> filter(fn: (r) => r._value >= 30.0 and r._value <= 60.0)
              |> set(key: "_measurement", value: "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean")
              |> to(bucket: "dein_bucket")
            
            

            EDIT: indem du die letzte Zeile (mit "to") erstmal weglässt, kannst du sehen, ob das Ergebnis das gewünschte ist.

            NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

            Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

            Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

            XxJooOX 2 Antworten Letzte Antwort
            2
            • Marc BergM Marc Berg

              @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

              Gut, dann schau ich mal auf Flux...

              from(bucket: "dein_bucket")
                |> range(start: -10y)
                |> filter(fn: (r) => 
                    r._measurement == "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" and
                    r._field == "value"
                )
                |> filter(fn: (r) => r._value >= 30.0 and r._value <= 60.0)
                |> set(key: "_measurement", value: "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean")
                |> to(bucket: "dein_bucket")
              
              

              EDIT: indem du die letzte Zeile (mit "to") erstmal weglässt, kannst du sehen, ob das Ergebnis das gewünschte ist.

              XxJooOX Offline
              XxJooOX Offline
              XxJooO
              schrieb am zuletzt editiert von
              #10

              @marc-berg ,

              vielen Dank, sieht sehr einfach aus. Mal sehen.

              ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

              1 Antwort Letzte Antwort
              0
              • Marc BergM Marc Berg

                @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

                Gut, dann schau ich mal auf Flux...

                from(bucket: "dein_bucket")
                  |> range(start: -10y)
                  |> filter(fn: (r) => 
                      r._measurement == "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" and
                      r._field == "value"
                  )
                  |> filter(fn: (r) => r._value >= 30.0 and r._value <= 60.0)
                  |> set(key: "_measurement", value: "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean")
                  |> to(bucket: "dein_bucket")
                
                

                EDIT: indem du die letzte Zeile (mit "to") erstmal weglässt, kannst du sehen, ob das Ergebnis das gewünschte ist.

                XxJooOX Offline
                XxJooOX Offline
                XxJooO
                schrieb am zuletzt editiert von
                #11

                @marc-berg, @arteck und @haus-automatisierung

                Ok, ich bestätige: Der Weg funktioniert auf Anhieb. Sogar so, dass in einen anderen bucket geschrieben werden kann, der den DP noch gar nicht kannte. Vielen Dank dafür!

                Dann möchte ich das jetzt gerne noch etwas weiter spinnen:

                Ich bin ja grundsätzlich skeptisch, dass das nicht noch mal passiert. Jetzt habe ich ja inzwischen unter den Einstellungen der DPs Grenzen gesetzt, damit nur reale Werte durchkommen. Sollte das aber aus irgendeinem Grund noch mal passieren, dann würde ich gerne einfach diese Flux-Abfrage automatisiert ausführen lassen.

                Da muss ich aber mal noch ein wenig drüber nachdenken, denn nach dem Lesen der readme des influx Adapters auf github kommt mir noch eine andere Idee: es müsste doch möglich sein, eine Abfrage mit JavaScript im ioBroker zu programmieren, unter den tausenden Werten die weniger als 10 zu finden, die weg müssen und diese mit dem delete state Befehl des Adapters einfach zu löschen.

                Ich könnte dann den ersten Weg einmalig mit Zurückschreiben der Werte komplett durchgehen und dann, wenn letzteres funktionieren würde, das in das Wetter Skript von @SBorg integrieren oder zeitlich davor starten lassen.

                Haltet Ihr das grundsätzlich für möglich? Ich setze es mal noch nicht auf gelöst, da ich sicher noch Fragen dazu habe.

                Besten Dank Euch!

                Jo

                ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                Marc BergM 1 Antwort Letzte Antwort
                0
                • XxJooOX XxJooO

                  @marc-berg, @arteck und @haus-automatisierung

                  Ok, ich bestätige: Der Weg funktioniert auf Anhieb. Sogar so, dass in einen anderen bucket geschrieben werden kann, der den DP noch gar nicht kannte. Vielen Dank dafür!

                  Dann möchte ich das jetzt gerne noch etwas weiter spinnen:

                  Ich bin ja grundsätzlich skeptisch, dass das nicht noch mal passiert. Jetzt habe ich ja inzwischen unter den Einstellungen der DPs Grenzen gesetzt, damit nur reale Werte durchkommen. Sollte das aber aus irgendeinem Grund noch mal passieren, dann würde ich gerne einfach diese Flux-Abfrage automatisiert ausführen lassen.

                  Da muss ich aber mal noch ein wenig drüber nachdenken, denn nach dem Lesen der readme des influx Adapters auf github kommt mir noch eine andere Idee: es müsste doch möglich sein, eine Abfrage mit JavaScript im ioBroker zu programmieren, unter den tausenden Werten die weniger als 10 zu finden, die weg müssen und diese mit dem delete state Befehl des Adapters einfach zu löschen.

                  Ich könnte dann den ersten Weg einmalig mit Zurückschreiben der Werte komplett durchgehen und dann, wenn letzteres funktionieren würde, das in das Wetter Skript von @SBorg integrieren oder zeitlich davor starten lassen.

                  Haltet Ihr das grundsätzlich für möglich? Ich setze es mal noch nicht auf gelöst, da ich sicher noch Fragen dazu habe.

                  Besten Dank Euch!

                  Jo

                  Marc BergM Offline
                  Marc BergM Offline
                  Marc Berg
                  Most Active
                  schrieb am zuletzt editiert von
                  #12

                  @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

                  Da muss ich aber mal noch ein wenig drüber nachdenken, denn nach dem Lesen der readme des influx Adapters auf github kommt mir noch eine andere Idee: es müsste doch möglich sein, eine Abfrage mit JavaScript im ioBroker zu programmieren, unter den tausenden Werten die weniger als 10 zu finden, die weg müssen und diese mit dem delete state Befehl des Adapters einfach zu löschen.
                  Ich könnte dann den ersten Weg einmalig mit Zurückschreiben der Werte komplett durchgehen und dann, wenn letzteres funktionieren würde, das in das Wetter Skript von @SBorg integrieren oder zeitlich davor starten lassen.
                  Haltet Ihr das grundsätzlich für möglich? Ich setze es mal noch nicht auf gelöst, da ich sicher noch Fragen dazu habe.

                  Möglich, aber warum nicht an der Wurzel packen und die Werte vor dem Schreiben plausibilisieren und filtern?

                  NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                  Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                  Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                  XxJooOX 1 Antwort Letzte Antwort
                  0
                  • Marc BergM Marc Berg

                    @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

                    Da muss ich aber mal noch ein wenig drüber nachdenken, denn nach dem Lesen der readme des influx Adapters auf github kommt mir noch eine andere Idee: es müsste doch möglich sein, eine Abfrage mit JavaScript im ioBroker zu programmieren, unter den tausenden Werten die weniger als 10 zu finden, die weg müssen und diese mit dem delete state Befehl des Adapters einfach zu löschen.
                    Ich könnte dann den ersten Weg einmalig mit Zurückschreiben der Werte komplett durchgehen und dann, wenn letzteres funktionieren würde, das in das Wetter Skript von @SBorg integrieren oder zeitlich davor starten lassen.
                    Haltet Ihr das grundsätzlich für möglich? Ich setze es mal noch nicht auf gelöst, da ich sicher noch Fragen dazu habe.

                    Möglich, aber warum nicht an der Wurzel packen und die Werte vor dem Schreiben plausibilisieren und filtern?

                    XxJooOX Offline
                    XxJooOX Offline
                    XxJooO
                    schrieb am zuletzt editiert von
                    #13

                    @marc-berg,

                    ja, sehr gut, das habe ich beim ersten Mal auch gedacht, als mir das Problem unplausibler Werte aufgefallen ist. Das Problem, mit dem ich nicht umgehen konnte, war, dass die Werte von der Wetterstation über das Skript und den Adapter Simple RESTful API Adapter von der Station geholt und direkt in die DPs geschrieben und damit auch geloggt werden. Das bedeutete für mich, dass eine Überprüfung auf Plausibilität für mich nicht möglich war, denn ich konnte nicht herausfinden, wie ich mit dem Simple RESTful API Adapter einen Wert filtern kann, bevor er einem DP zugeordnet und geloggt wird.

                    Siehst Du da eine Möglichkeit?

                    ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                    Marc BergM 1 Antwort Letzte Antwort
                    0
                    • XxJooOX XxJooO

                      @marc-berg,

                      ja, sehr gut, das habe ich beim ersten Mal auch gedacht, als mir das Problem unplausibler Werte aufgefallen ist. Das Problem, mit dem ich nicht umgehen konnte, war, dass die Werte von der Wetterstation über das Skript und den Adapter Simple RESTful API Adapter von der Station geholt und direkt in die DPs geschrieben und damit auch geloggt werden. Das bedeutete für mich, dass eine Überprüfung auf Plausibilität für mich nicht möglich war, denn ich konnte nicht herausfinden, wie ich mit dem Simple RESTful API Adapter einen Wert filtern kann, bevor er einem DP zugeordnet und geloggt wird.

                      Siehst Du da eine Möglichkeit?

                      Marc BergM Offline
                      Marc BergM Offline
                      Marc Berg
                      Most Active
                      schrieb am zuletzt editiert von
                      #14

                      @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

                      Das bedeutete für mich, dass eine Überprüfung auf Plausibilität für mich nicht möglich war, denn ich konnte nicht herausfinden, wie ich mit dem Simple RESTful API Adapter einen Wert filtern kann, bevor er einem DP zugeordnet und geloggt wird.
                      Siehst Du da eine Möglichkeit?

                      Eine einfäche Möglichkeit wäre, dies über einen Alias zu lösen, aber leider kann man mit einem Write Converter nicht "nichts" schreiben.

                      Also bleibt wohl nur die Variante, die Daten in einen weiteren DP zu schreiben und auf diesen DP ein Script/Blockly/Node RED zu triggern, um zu filtern und in den eigentlichen DP zu schreiben.

                      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

                      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                      1 Antwort Letzte Antwort
                      0
                      • SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @xxjooo sagte in Aus influxDB 2 lesen und schreiben JS oder node.js:

                        Beispielsweise steht im vom Skript erzeugten Wert Tiefsttemperatur_Spitzenwert -5572,xx°C. Und leider betrifft das noch drei andere DPs, in denen unplausible Werte sind

                        [OT]: du kannst auch einfach den Fix per wetterstation.conf aktivieren ;)

                        #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false
                        #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt
                        FIX_AUSSENTEMP=false

                        Einige Stationen senden gelegentlich einen "NULL"-Wert. Durch die Umrechnung von Fahrenheit in Celsius kommt dann die -5572°C zu stande. Durch setzen auf "true" werden diese unplausiblen Datenpakete schon direkt nach dem Empfang verworfen.
                        Die alten Daten in der InfluxDB musst du dann aber doch noch säubern.

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        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

                        759

                        Online

                        32.5k

                        Benutzer

                        81.7k

                        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