Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    377

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

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

[gelöst] Funktion des influxdb-Befehl deleteAll

Scheduled Pinned Locked Moved JavaScript
6 Posts 2 Posters 438 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • XxJooOX Offline
    XxJooOX Offline
    XxJooO
    wrote on last edited by 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 Reply Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Reply Last reply
        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
          wrote on last edited by
          #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 Replies Last reply
          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
            wrote on last edited by 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 Reply Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              413

              Online

              32.7k

              Users

              82.5k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Home
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe