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. [gelöst] Funktion des influxdb-Befehl deleteAll

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    276

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

[gelöst] Funktion des influxdb-Befehl deleteAll

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 2 Kommentatoren 399 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.
  • XxJooOX Offline
    XxJooOX Offline
    XxJooO
    schrieb am zuletzt editiert von XxJooO
    #1

    Hallo,

    ich habe eine Frage zum Verständnis des deleteAll-Befehls für influxdb. In der Readme für delete state steht:

    To delete ALL history data for some data point execute:

    sendTo('influxdb.0', 'deleteAll', [
        {id: 'mbus.0.counter.xxx'}, 
        {id: 'mbus.0.counter.yyy'}
    ], result => console.log('deleted'));
    

    Ziel soll sein, dass der Inhalt, also alle Messdaten des measurements "0_userdata.0.Strom.Netzbezug_clean" gelöscht werden.

    Mein Code:

    sendTo('influxdb.0', 'deleteAll', [
        {id: '0_userdata.0.Strom.Netzbezug_clean'}
    ], result => console.log('deleted'));
    

    Was aber passiert ist, dass anschließend die vaules lediglich mit "0" beschrieben werden. Im Log steht "deleted", aber diese Einträge sind im Log alle rot geschrieben.

    In dem Fall entspricht also delete nicht dem von mir erwarteten Löschen der Daten. Ich möchte gerne den o.g. DP als temporären DP benutzen, eine Reihe über einen Filter da rein schreiben, anschließend was mit dieser Reihe machen und am Ende alle Mesurements in dem DP löschen, damit ich ihn neu beschreiben kann. In influx 1.x gab es die drop-Funktion, und die hat gemacht, was ich möchte. Allerdings kann ich die im influxdb-Adapter für influxDB2 nicht verwenden. Kann ich das anders hinbekommen?

    Vielen Dank!
    Jo

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

    Marc BergM 1 Antwort Letzte Antwort
    0
    • XxJooOX XxJooO

      Hallo,

      ich habe eine Frage zum Verständnis des deleteAll-Befehls für influxdb. In der Readme für delete state steht:

      To delete ALL history data for some data point execute:

      sendTo('influxdb.0', 'deleteAll', [
          {id: 'mbus.0.counter.xxx'}, 
          {id: 'mbus.0.counter.yyy'}
      ], result => console.log('deleted'));
      

      Ziel soll sein, dass der Inhalt, also alle Messdaten des measurements "0_userdata.0.Strom.Netzbezug_clean" gelöscht werden.

      Mein Code:

      sendTo('influxdb.0', 'deleteAll', [
          {id: '0_userdata.0.Strom.Netzbezug_clean'}
      ], result => console.log('deleted'));
      

      Was aber passiert ist, dass anschließend die vaules lediglich mit "0" beschrieben werden. Im Log steht "deleted", aber diese Einträge sind im Log alle rot geschrieben.

      In dem Fall entspricht also delete nicht dem von mir erwarteten Löschen der Daten. Ich möchte gerne den o.g. DP als temporären DP benutzen, eine Reihe über einen Filter da rein schreiben, anschließend was mit dieser Reihe machen und am Ende alle Mesurements in dem DP löschen, damit ich ihn neu beschreiben kann. In influx 1.x gab es die drop-Funktion, und die hat gemacht, was ich möchte. Allerdings kann ich die im influxdb-Adapter für influxDB2 nicht verwenden. Kann ich das anders hinbekommen?

      Vielen Dank!
      Jo

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

      @xxjooo

      Kann ich nicht nachvollziehen. Gib mal noch ein par Details preis:

      • Adapterversion
      • Datentyp
      • Konfiguration der Instanz (Fields oder Tags)
      • wo genau siehst du die "0"?

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+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

        Kann ich nicht nachvollziehen. Gib mal noch ein par Details preis:

        • Adapterversion
        • Datentyp
        • Konfiguration der Instanz (Fields oder Tags)
        • wo genau siehst du die "0"?
        XxJooOX Offline
        XxJooOX Offline
        XxJooO
        schrieb am zuletzt editiert von
        #3

        @marc-berg, oha, viele Fragen...

        influxdb.0 v4.0.2
        javascript.0 v8.0.3
        js-controller 5.0.19
        Node.js v18.20.2
        NPM 10.5.0

        Datentyp des Objektes, das geholt wird

        {
          "common": {
            "name": "Netzbezug",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "number",
            "read": true,
            "write": true,
            "def": 0,
            "custom": {
              "influxdb.0": {
                "enabled": true,
                "storageType": "Number",
                "aliasId": "Netzbezug",
                "debounceTime": 0,
                "blockTime": 0,
                "changesOnly": false,
                "changesRelogInterval": 0,
                "changesMinDelta": "0",
                "ignoreBelowNumber": "",
                "disableSkippedValueLogging": false,
                "enableDebugLogs": false,
                "debounce": "1000"
              }
            },
            "unit": "W"
          },
          "type": "state",
          "native": {},
          "_id": "0_userdata.0.Strom.Netzbezug",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1680665954663
        }
        

        Wird durch die influxdb-Abfrage geschrieben in

        {
          "common": {
            "name": "Netzbezug_clean",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "number",
            "read": true,
            "write": true,
            "def": 0,
            "custom": {
              "influxdb.0": {
                "enabled": true,
                "storageType": "Number",
                "aliasId": "",
                "debounceTime": 0,
                "blockTime": 0,
                "changesOnly": true,
                "changesRelogInterval": "0",
                "changesMinDelta": "0",
                "ignoreBelowNumber": "0",
                "disableSkippedValueLogging": false,
                "enableDebugLogs": false,
                "debounce": "1000",
                "ignoreAboveNumber": "12000"
              }
            }
          },
          "type": "state",
          "native": {},
          "_id": "0_userdata.0.Strom.Netzbezug_clean",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1712441907497
        }
        

        Konfiguration der Instanz (Fields oder Tags) - weiß ich leider nicht, was Du da meinst?

        Die 0 sehe ich, wenn ich nach dem Versuch mit dem o.a. JS die Daten zu deleten, in die Tabelle schaue:

        d7a39346-5000-4439-b2c1-3c15fed21865-image.png

        Gekommen sind sie von hier:

        85f1006b-5267-44b4-aadf-c523e3314a76-image.png

        Dir wird auffallen, dass die timestamps unterschiedlich sind. Der Arbeitsablauf war wie folgt:

        • Hole die Daten der letzten zwei Stunden aus dem DP "0_userdata.0.Strom.Netzbezug"
        • Sind die values kleiner als 10, dann schreibe in den DP "0_userdata.0.Strom.Netzbezug_clean"
          Das hat wohl soweit funktioniert.
        • dann lösche den Inhalt des DP "0_userdata.0.Strom.Netzbezug_clean", um eine andere Abfrage zu generieren mit dem o.a. Script.

        Dabei wurden die Messpunkte in "0_userdata.0.Strom.Netzbezug_clean" mit dem Wert 0 beschrieben.
        Erreichen möchte ich, dass in "0_userdata.0.Strom.Netzbezug_clean" keine Messwerte mehr sind, damit der DP bei der nächsten Abfrage wieder als temp-DP genutzt werden kann.

        Frage also: wie sieht ein JS aus, das alle Messwerte löscht?

        Vielen Dank
        Jo

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

        Marc BergM 1 Antwort Letzte Antwort
        0
        • XxJooOX XxJooO

          @marc-berg, oha, viele Fragen...

          influxdb.0 v4.0.2
          javascript.0 v8.0.3
          js-controller 5.0.19
          Node.js v18.20.2
          NPM 10.5.0

          Datentyp des Objektes, das geholt wird

          {
            "common": {
              "name": "Netzbezug",
              "desc": "Manuell erzeugt",
              "role": "state",
              "type": "number",
              "read": true,
              "write": true,
              "def": 0,
              "custom": {
                "influxdb.0": {
                  "enabled": true,
                  "storageType": "Number",
                  "aliasId": "Netzbezug",
                  "debounceTime": 0,
                  "blockTime": 0,
                  "changesOnly": false,
                  "changesRelogInterval": 0,
                  "changesMinDelta": "0",
                  "ignoreBelowNumber": "",
                  "disableSkippedValueLogging": false,
                  "enableDebugLogs": false,
                  "debounce": "1000"
                }
              },
              "unit": "W"
            },
            "type": "state",
            "native": {},
            "_id": "0_userdata.0.Strom.Netzbezug",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1680665954663
          }
          

          Wird durch die influxdb-Abfrage geschrieben in

          {
            "common": {
              "name": "Netzbezug_clean",
              "desc": "Manuell erzeugt",
              "role": "state",
              "type": "number",
              "read": true,
              "write": true,
              "def": 0,
              "custom": {
                "influxdb.0": {
                  "enabled": true,
                  "storageType": "Number",
                  "aliasId": "",
                  "debounceTime": 0,
                  "blockTime": 0,
                  "changesOnly": true,
                  "changesRelogInterval": "0",
                  "changesMinDelta": "0",
                  "ignoreBelowNumber": "0",
                  "disableSkippedValueLogging": false,
                  "enableDebugLogs": false,
                  "debounce": "1000",
                  "ignoreAboveNumber": "12000"
                }
              }
            },
            "type": "state",
            "native": {},
            "_id": "0_userdata.0.Strom.Netzbezug_clean",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            },
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1712441907497
          }
          

          Konfiguration der Instanz (Fields oder Tags) - weiß ich leider nicht, was Du da meinst?

          Die 0 sehe ich, wenn ich nach dem Versuch mit dem o.a. JS die Daten zu deleten, in die Tabelle schaue:

          d7a39346-5000-4439-b2c1-3c15fed21865-image.png

          Gekommen sind sie von hier:

          85f1006b-5267-44b4-aadf-c523e3314a76-image.png

          Dir wird auffallen, dass die timestamps unterschiedlich sind. Der Arbeitsablauf war wie folgt:

          • Hole die Daten der letzten zwei Stunden aus dem DP "0_userdata.0.Strom.Netzbezug"
          • Sind die values kleiner als 10, dann schreibe in den DP "0_userdata.0.Strom.Netzbezug_clean"
            Das hat wohl soweit funktioniert.
          • dann lösche den Inhalt des DP "0_userdata.0.Strom.Netzbezug_clean", um eine andere Abfrage zu generieren mit dem o.a. Script.

          Dabei wurden die Messpunkte in "0_userdata.0.Strom.Netzbezug_clean" mit dem Wert 0 beschrieben.
          Erreichen möchte ich, dass in "0_userdata.0.Strom.Netzbezug_clean" keine Messwerte mehr sind, damit der DP bei der nächsten Abfrage wieder als temp-DP genutzt werden kann.

          Frage also: wie sieht ein JS aus, das alle Messwerte löscht?

          Vielen Dank
          Jo

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

          @xxjooo sagte in Funktion des influxdb-Befehl deleteAll:

          Die 0 sehe ich, wenn ich nach dem Versuch mit dem o.a. JS die Daten zu deleten, in die Tabelle schaue:

          Gekommen sind sie von hier:

          Dir wird auffallen, dass die timestamps unterschiedlich sind.

          Nein, das fällt mir nicht auf, weil du 2x dasselbe Image eingefügt hast.

          dann lösche den Inhalt des DP "0_userdata.0.Strom.Netzbezug_clean", um eine andere Abfrage zu generieren mit dem o.a. Script.
          Dabei wurden die Messpunkte in "0_userdata.0.Strom.Netzbezug_clean" mit dem Wert 0 beschrieben.

          Sehr mysteriös, denn die Funktion "deleteAll" gibt es gar nicht her, bestehende Werte zu ändern.

          Frage also: wie sieht ein JS aus, das alle Messwerte löscht?

          Das ist schon korrekt so, wie du es gemacht hast (ist ja kein Hexenwerk). Ich habe versucht, deine Konstellation so genau wie möglich nachzustellen. In jedem Fall werden bei mir alle Daten gelöscht.

          Vielleicht es es nur ein Anzeigeproblem. Siehst die Daten direkt in der Datenbank? Kannst du Daten über die Oberfläche löschen?

          19bd8dcd-f472-499c-933d-ce85a0745974-grafik.png

          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+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
          0
          • Marc BergM Marc Berg

            @xxjooo sagte in Funktion des influxdb-Befehl deleteAll:

            Die 0 sehe ich, wenn ich nach dem Versuch mit dem o.a. JS die Daten zu deleten, in die Tabelle schaue:

            Gekommen sind sie von hier:

            Dir wird auffallen, dass die timestamps unterschiedlich sind.

            Nein, das fällt mir nicht auf, weil du 2x dasselbe Image eingefügt hast.

            dann lösche den Inhalt des DP "0_userdata.0.Strom.Netzbezug_clean", um eine andere Abfrage zu generieren mit dem o.a. Script.
            Dabei wurden die Messpunkte in "0_userdata.0.Strom.Netzbezug_clean" mit dem Wert 0 beschrieben.

            Sehr mysteriös, denn die Funktion "deleteAll" gibt es gar nicht her, bestehende Werte zu ändern.

            Frage also: wie sieht ein JS aus, das alle Messwerte löscht?

            Das ist schon korrekt so, wie du es gemacht hast (ist ja kein Hexenwerk). Ich habe versucht, deine Konstellation so genau wie möglich nachzustellen. In jedem Fall werden bei mir alle Daten gelöscht.

            Vielleicht es es nur ein Anzeigeproblem. Siehst die Daten direkt in der Datenbank? Kannst du Daten über die Oberfläche löschen?

            19bd8dcd-f472-499c-933d-ce85a0745974-grafik.png

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

            @marc-berg,

            danke für den letzten Hinweis, das kannte ich noch nicht. Werde versuchen, das in den nächsten Tagen noch einmal nachzustellen.

            Ich habe auch noch einmal versucht, im Log nachzusehen, was eigentlich passiert ist. Im Log stehen dann viel mehr Fehler, als in der Konsole angezeigt wurden. Deshalb probiere ich es nochmal von vorne und muss dann auch das Log genauer beobachten.

            Vielen Dank
            Jo

            PS: Das Löschen der Daten über die Oberfläche hat schon einmal funktioniert.

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

            1 Antwort Letzte Antwort
            0
            • Marc BergM Marc Berg

              @xxjooo sagte in Funktion des influxdb-Befehl deleteAll:

              Die 0 sehe ich, wenn ich nach dem Versuch mit dem o.a. JS die Daten zu deleten, in die Tabelle schaue:

              Gekommen sind sie von hier:

              Dir wird auffallen, dass die timestamps unterschiedlich sind.

              Nein, das fällt mir nicht auf, weil du 2x dasselbe Image eingefügt hast.

              dann lösche den Inhalt des DP "0_userdata.0.Strom.Netzbezug_clean", um eine andere Abfrage zu generieren mit dem o.a. Script.
              Dabei wurden die Messpunkte in "0_userdata.0.Strom.Netzbezug_clean" mit dem Wert 0 beschrieben.

              Sehr mysteriös, denn die Funktion "deleteAll" gibt es gar nicht her, bestehende Werte zu ändern.

              Frage also: wie sieht ein JS aus, das alle Messwerte löscht?

              Das ist schon korrekt so, wie du es gemacht hast (ist ja kein Hexenwerk). Ich habe versucht, deine Konstellation so genau wie möglich nachzustellen. In jedem Fall werden bei mir alle Daten gelöscht.

              Vielleicht es es nur ein Anzeigeproblem. Siehst die Daten direkt in der Datenbank? Kannst du Daten über die Oberfläche löschen?

              19bd8dcd-f472-499c-933d-ce85a0745974-grafik.png

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

              @marc-berg,

              also manche Probleme sind vielleicht mit dem Geist der Elektronen erklärbar...

              Nachdem ich es jetzt noch ein paar Mal mit immer dem gleichen Ergebnis probiert habe, habe ich der gesamten Proxmox-Maschine ihre Updates verpasst und alles neu gestartet - obwohl ich das einmal im Monat mache.

              Und siehe, das Skript löscht jetzt die Daten wie gewünscht, der DP ist leer. Und auch vorher angezeigte Fehler im Log sind nicht mehr da.

              Setze das auf gelöst.
              Vielen Dank und Grüße

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

              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

              666

              Online

              32.5k

              Benutzer

              81.9k

              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