Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Zurücksetzen einzelner Datenpunkte im SQL-Adapter

NEWS

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

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

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

Zurücksetzen einzelner Datenpunkte im SQL-Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
87 Beiträge 16 Kommentatoren 13.0k Aufrufe 14 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.
  • A Offline
    A Offline
    andi2055
    schrieb am zuletzt editiert von andi2055
    #68

    https://github.com/ioBroker/ioBroker.sql/issues/247

    Ihr könnt ja nochmal genau beschreiben was wir möchten (nicht einzeln löschen) und "voten"...
    Danke für die Updates!

    PS: auch mal prüfen ob das hilft/mittlerweile funktioniert (bei mir zeitlich aktuell schwierig)
    https://github.com/ioBroker/ioBroker.sql/issues/207

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      PrinzEisenherz1
      schrieb am zuletzt editiert von
      #69

      Hi zusammen, mal ne Frage.
      Gibt es diese Möglichkeit auch für influxdb?

      Gruß Johnny

      Intel-NUC mit ProxMox: ioBroker,SQL, logging Strom- Gas- u. Wasserzähler;10Zoll Tab im Flur für VIS; weiteres: Homematic CCU2, Homeduino, Kameras, selbstgebaute Wetterstation;

      1 Antwort Letzte Antwort
      0
      • GaspodeG Gaspode

        Hallo,

        noch zwei Ergänzungen:

        • Wenn ein Alias für einen Datenpunkt vergeben ist, wird das berücksichtigt
        • Am Ende eines Trockenlaufs werden SQL Delete Statements zum manuellen Löschen ausgegeben

        Dabei habe ich noch einen kleinen Fehler am Anfang korrigiert: sendTo kann nicht mit await verwendet werden, dafür gibt es inzwischen die Funktion sendToAsync. Da diese leider im Moment noch einen Fehler hat, hab ich dafür eine Ersatzfunktion eingefügt. Ein GitHub Issue dafür gibt es schon und der Fehler wird in der nächsten Version des Javascript Adapters korrigiert sein.
        In der Praxis hat das Verwenden von sentTo wohl keine Probleme gemacht, da der erste SQL Befehl lange genug dauerte, sodass die Liste rechtzeitig gefüllt werden konnte.

        // SQL_Delete_Dead_Objects
        // V0.5
        //
        // Changelog:
        // ----------
        // 10.08.2019 V0.1   Scrounger   erste Version welche nicht mehr existierende Datenpunkte anzeigt           https://forum.iobroker.net/post/289821
        // 03.05.2022 V0.2   andi2055    erweitert das die Daten auch aus der Datenbank gelöscht werden             https://forum.iobroker.net/post/798291
        // 01.02.2023 V0.3   BananaJoe   umgestellt das nun Datenpunkte ohne SQL-Protokollierung gefunden werden    https://forum.iobroker.net/post/939101
        // 02.02.2023 V0.4   BananaJoe   SQL-Instanz Konfigurierbar / Datenbankname konfigurierbar
        // 03.02.2023 V0.5   Gaspode     Speicherverbrauch beim Zählen optimiert durch Verwendung von count(*)
        // 03.02.2023 V0.5   Gaspode     Wenn für einen Datenpunkt ein Alias vergeben ist, wird das
        //                               anstelle des Datenpunktnamens verwendet.
        // 03.02.2023 V0.5   Gaspode     Am Ende eines Trockenlaufs werden SQL Befehle zum manuellen Löschen 
        //                               ausgegeben.
        
        // Einstellungen:
        // Hier das löschen einschalten! false = nur anzeigen / true = anzeigen und wirklich löschen
        const activate_delete = false;
        
        // Name der SQL-Instanz, normalerweiser sql.0
        const sql_instance = 'sql.0';
        // Name der SQL-Datenbank - Groß und Kleinschreibung beachten!
        const sql_dbname = 'iobroker';
        
        // Ersatzfunktion, weil sendToAsync im Scripting-Adapter derzeit (6.1.4) buggy ist:
        async function mySendToAsync(_adapter, cmd, msg) {
            return new Promise((resolve, reject) => {
                sendTo(_adapter, cmd, msg, res => {
                    if (!res || res.error) {
                        reject(res ? res.error : new Error('Unknown error'));
                    } else {
                        resolve(res);
                    }
                });
            });
        }
        
        
        // Funktion zum Suchen und Löschen
        async function wartung() {
            try {
                let sqlDeleteStatements = new Array();
        
                // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist:
                let datapointsActiveArray = new Array();
                const result = await mySendToAsync(sql_instance, 'getEnabledDPs', {});
        
                for (const i in result) {
                    datapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId);
                }
        
                // alle Datenpunkte aus Db holen
                let datapoints = await getQueryResult(`SELECT name, id, type FROM ${sql_dbname}.datapoints`);
                if (datapoints) {
                    let count = 0;
                    let sum = 0;
        
                    // Datenpunkte durchlaufen
                    for (const datapoint of datapoints) {
                        // prüfen ob kein Objekt in ioBroker existiert
                        // if (!getObject(datapoint.name)) {
        
                        // prüfen ob SQL-Protokollierung nicht aktiv ist
                        if (!datapointsActiveArray.includes(datapoint.name)) {
                            count++;
        
                            // Daten des Datenpunktes in Tabelle 'ts_bool' zählen
                            let countBool = 0;
                            let booleanTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`);
                            if (booleanTableItems && booleanTableItems[0].cnt > 0) {
                                countBool = booleanTableItems[0].cnt;
                                if (activate_delete) {
                                    sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`, function (result) {
                                        if (result.error) {
                                            console.error(result.error);
                                        } else {
                                            // show result
                                            console.log('Rows: ' + JSON.stringify(result.result));
                                        }
                                    });
                                }
                                else {
                                    sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id};`);
                                }
                            }
        
                            // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                            let countNumber = 0;
                            let numberTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`);
                            if (numberTableItems && numberTableItems[0].cnt > 0) {
                                countNumber = numberTableItems[0].cnt;
                                if (activate_delete) {
                                    sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`, function (result) {
                                        if (result.error) {
                                            console.error(result.error);
                                        } else {
                                            // show result
                                            console.log('Rows: ' + JSON.stringify(result.result));
                                        }
                                    });
                                }
                                else {
                                    sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id};`);
                                }
                            }
        
                            // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                            let countString = 0;
        
                            let stringTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`);
        
                            if (stringTableItems && stringTableItems[0].cnt > 0) {
        
                                countString = stringTableItems[0].cnt;
        
                                if (activate_delete) {
                                    sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`, function (result) {
                                        if (result.error) {
                                            console.error(result.error);
                                        } else {
                                            // show result
                                            console.log('Rows: ' + JSON.stringify(result.result));
                                        }
                                    });
                                }
                                else {
                                    sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id};`);
                                }
                            }
        
                            if (activate_delete) {
                                sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id}`, function (result) {
                                    if (result.error) {
                                        console.error(result.error);
                                    } else {
                                        // show result
                                        console.log('Rows: ' + JSON.stringify(result.result));
                                    }
                                });
                            }
                            else {
                                sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id};`);
                            }
        
                            console.warn(`DB id: ${datapoint.id} (type: ${datapoint.type}) -> number: ${countNumber}, string: ${countString}, bool: ${countBool} | ioBroker id: '${datapoint.name}'`);
                            sum = sum + countBool + countNumber + countString;
                        }
                    }
                    console.warn(`${count} Objects found, that not exist anymore in ioBroker, sum of items in tables: ${sum.toLocaleString().replace(/,/g, ".")}`);
        
                    if (!activate_delete) {
                        console.log('Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:');
                        sqlDeleteStatements.forEach(element => console.log(element));
                    }
                }
            } catch (err) {
                console.error(`[wartung] error: ${err.message}`);
                console.error(`[wartung] stack: ${err.stack}`);
            }
        }
        
        async function getQueryResult(query) {
            return new Promise((resolve, reject) => {
                sendTo(sql_instance, 'query', query, function (result) {
                    if (!result.error) {
                        resolve(result.result);
                    } else {
                        resolve(null);
                    }
                });
            });
        }
        
        wartung();
        
        BananaJoeB Online
        BananaJoeB Online
        BananaJoe
        Most Active
        schrieb am zuletzt editiert von
        #70

        @gaspode Ich habe gerade bei mir 28 Shelly 1PM umorganisiert und dadurch jede Menge alter, verwaister SQL-Aufzeichnungen gehabt.

        Und das Skript hat prima funktioniert - einfach noch mal Danke an dieser Stelle!

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

        1 Antwort Letzte Antwort
        1
        • T Offline
          T Offline
          thof69
          schrieb am zuletzt editiert von
          #71

          Hallo zusammen,

          erstmal danke für das Skript, so etwas habe ich gesucht! 👍

          Leider erhalte ich aber beim ausführen des Skripts die Fehler

          javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5)

          javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')

          Hat jemand eine Idee, woran das liegen könnte?

          GaspodeG BananaJoeB 2 Antworten Letzte Antwort
          0
          • T thof69

            Hallo zusammen,

            erstmal danke für das Skript, so etwas habe ich gesucht! 👍

            Leider erhalte ich aber beim ausführen des Skripts die Fehler

            javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5)

            javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')

            Hat jemand eine Idee, woran das liegen könnte?

            GaspodeG Offline
            GaspodeG Offline
            Gaspode
            schrieb am zuletzt editiert von
            #72

            @thof69
            Hast du auch die neueste Version des Scriptes genommen, also die hier:
            https://forum.iobroker.net/post/940051

            Poste mal dein verwendetes Script in Code Tags, insbesondere den Anfang, wo ggfs. die Variablen angepasst werden müssen.

            T 1 Antwort Letzte Antwort
            0
            • GaspodeG Gaspode

              @thof69
              Hast du auch die neueste Version des Scriptes genommen, also die hier:
              https://forum.iobroker.net/post/940051

              Poste mal dein verwendetes Script in Code Tags, insbesondere den Anfang, wo ggfs. die Variablen angepasst werden müssen.

              T Offline
              T Offline
              thof69
              schrieb am zuletzt editiert von thof69
              #73

              Hallo @Gaspode,

              Hast du auch die neueste Version des Scriptes genommen, also die hier:
              https://forum.iobroker.net/post/940051

              Ja, das ist die Version, die ich genommen habe.

              Poste mal dein verwendetes Script in Code Tags, insbesondere den Anfang, wo ggfs. die Variablen angepasst werden müssen.

              // SQL_Delete_Dead_Objects
              // V0.5
              //
              // Changelog:
              // ----------
              // 10.08.2019 V0.1   Scrounger   erste Version welche nicht mehr existierende Datenpunkte anzeigt           https://forum.iobroker.net/post/289821
              // 03.05.2022 V0.2   andi2055    erweitert das die Daten auch aus der Datenbank gelöscht werden             https://forum.iobroker.net/post/798291
              // 01.02.2023 V0.3   BananaJoe   umgestellt das nun Datenpunkte ohne SQL-Protokollierung gefunden werden    https://forum.iobroker.net/post/939101
              // 02.02.2023 V0.4   BananaJoe   SQL-Instanz Konfigurierbar / Datenbankname konfigurierbar
              // 03.02.2023 V0.5   Gaspode     Speicherverbrauch beim Zählen optimiert durch Verwendung von count(*)
              // 03.02.2023 V0.5   Gaspode     Wenn für einen Datenpunkt ein Alias vergeben ist, wird das
              //                               anstelle des Datenpunktnamens verwendet.
              // 03.02.2023 V0.5   Gaspode     Am Ende eines Trockenlaufs werden SQL Befehle zum manuellen Löschen 
              //                               ausgegeben.
               
              // Einstellungen:
              // Hier das löschen einschalten! false = nur anzeigen / true = anzeigen und wirklich löschen
              const activate_delete = false;
               
              // Name der SQL-Instanz, normalerweiser sql.0
              const sql_instance = 'sql.0';
              // Name der SQL-Datenbank - Groß und Kleinschreibung beachten!
              const sql_dbname = 'iobroker';
               
              // Ersatzfunktion, weil sendToAsync im Scripting-Adapter derzeit (6.1.4) buggy ist:
              async function mySendToAsync(_adapter, cmd, msg) {
                  return new Promise((resolve, reject) => {
                      sendTo(_adapter, cmd, msg, res => {
                          if (!res || res.error) {
                              reject(res ? res.error : new Error('Unknown error'));
                          } else {
                              resolve(res);
                          }
                      });
                  });
              }
               
               
              // Funktion zum Suchen und Löschen
              async function wartung() {
                  try {
                      let sqlDeleteStatements = new Array();
               
                      // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist:
                      let datapointsActiveArray = new Array();
                      const result = await mySendToAsync(sql_instance, 'getEnabledDPs', {});
               
                      for (const i in result) {
                          datapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId);
                      }
               
                      // alle Datenpunkte aus Db holen
                      let datapoints = await getQueryResult(`SELECT name, id, type FROM ${sql_dbname}.datapoints`);
                      if (datapoints) {
                          let count = 0;
                          let sum = 0;
               
                          // Datenpunkte durchlaufen
                          for (const datapoint of datapoints) {
                              // prüfen ob kein Objekt in ioBroker existiert
                              // if (!getObject(datapoint.name)) {
               
                              // prüfen ob SQL-Protokollierung nicht aktiv ist
                              if (!datapointsActiveArray.includes(datapoint.name)) {
                                  count++;
               
                                  // Daten des Datenpunktes in Tabelle 'ts_bool' zählen
                                  let countBool = 0;
                                  let booleanTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`);
                                  if (booleanTableItems && booleanTableItems[0].cnt > 0) {
                                      countBool = booleanTableItems[0].cnt;
                                      if (activate_delete) {
                                          sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`, function (result) {
                                              if (result.error) {
                                                  console.error(result.error);
                                              } else {
                                                  // show result
                                                  console.log('Rows: ' + JSON.stringify(result.result));
                                              }
                                          });
                                      }
                                      else {
                                          sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id};`);
                                      }
                                  }
               
                                  // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                                  let countNumber = 0;
                                  let numberTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`);
                                  if (numberTableItems && numberTableItems[0].cnt > 0) {
                                      countNumber = numberTableItems[0].cnt;
                                      if (activate_delete) {
                                          sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`, function (result) {
                                              if (result.error) {
                                                  console.error(result.error);
                                              } else {
                                                  // show result
                                                  console.log('Rows: ' + JSON.stringify(result.result));
                                              }
                                          });
                                      }
                                      else {
                                          sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id};`);
                                      }
                                  }
               
                                  // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                                  let countString = 0;
               
                                  let stringTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`);
               
                                  if (stringTableItems && stringTableItems[0].cnt > 0) {
               
                                      countString = stringTableItems[0].cnt;
               
                                      if (activate_delete) {
                                          sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`, function (result) {
                                              if (result.error) {
                                                  console.error(result.error);
                                              } else {
                                                  // show result
                                                  console.log('Rows: ' + JSON.stringify(result.result));
                                              }
                                          });
                                      }
                                      else {
                                          sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id};`);
                                      }
                                  }
               
                                  if (activate_delete) {
                                      sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id}`, function (result) {
                                          if (result.error) {
                                              console.error(result.error);
                                          } else {
                                              // show result
                                              console.log('Rows: ' + JSON.stringify(result.result));
                                          }
                                      });
                                  }
                                  else {
                                      sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id};`);
                                  }
               
                                  console.warn(`DB id: ${datapoint.id} (type: ${datapoint.type}) -> number: ${countNumber}, string: ${countString}, bool: ${countBool} | ioBroker id: '${datapoint.name}'`);
                                  sum = sum + countBool + countNumber + countString;
                              }
                          }
                          console.warn(`${count} Objects found, that not exist anymore in ioBroker, sum of items in tables: ${sum.toLocaleString().replace(/,/g, ".")}`);
               
                          if (!activate_delete) {
                              console.log('Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:');
                              sqlDeleteStatements.forEach(element => console.log(element));
                          }
                      }
                  } catch (err) {
                      console.error(`[wartung] error: ${err.message}`);
                      console.error(`[wartung] stack: ${err.stack}`);
                  }
              }
               
              async function getQueryResult(query) {
                  return new Promise((resolve, reject) => {
                      sendTo(sql_instance, 'query', query, function (result) {
                          if (!result.error) {
                              resolve(result.result);
                          } else {
                              resolve(null);
                          }
                      });
                  });
              }
               
              wartung();
              
              

              Edit: sql_instance und sql_dbname passen zu meiner Installation.

              GaspodeG 1 Antwort Letzte Antwort
              0
              • T thof69

                Hallo zusammen,

                erstmal danke für das Skript, so etwas habe ich gesucht! 👍

                Leider erhalte ich aber beim ausführen des Skripts die Fehler

                javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5)

                javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')

                Hat jemand eine Idee, woran das liegen könnte?

                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von BananaJoe
                #74

                @thof69 sagte in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:

                javascript.0 2023-06-24 09:00:47.962	error	script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5)
                javascript.0 2023-06-24 09:00:47.962	error	script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
                

                Zeile 50 wäre nur eine } und Zeichen 58 finde ich da nicht
                also muss dein echtes Skript doch irgendwie anders sein.

                Sicher das Datenbankname etc. stimmt? Groß und Kleinschreibung beachtet?
                Das Log ist von der Weboberfläche? bzw. von unten da raus kopiert?
                Schau bitte mal in das richtige Log bzw. per SSH das Log an, da stehen dann noch mehr Details.

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                T 1 Antwort Letzte Antwort
                1
                • T thof69

                  Hallo @Gaspode,

                  Hast du auch die neueste Version des Scriptes genommen, also die hier:
                  https://forum.iobroker.net/post/940051

                  Ja, das ist die Version, die ich genommen habe.

                  Poste mal dein verwendetes Script in Code Tags, insbesondere den Anfang, wo ggfs. die Variablen angepasst werden müssen.

                  // SQL_Delete_Dead_Objects
                  // V0.5
                  //
                  // Changelog:
                  // ----------
                  // 10.08.2019 V0.1   Scrounger   erste Version welche nicht mehr existierende Datenpunkte anzeigt           https://forum.iobroker.net/post/289821
                  // 03.05.2022 V0.2   andi2055    erweitert das die Daten auch aus der Datenbank gelöscht werden             https://forum.iobroker.net/post/798291
                  // 01.02.2023 V0.3   BananaJoe   umgestellt das nun Datenpunkte ohne SQL-Protokollierung gefunden werden    https://forum.iobroker.net/post/939101
                  // 02.02.2023 V0.4   BananaJoe   SQL-Instanz Konfigurierbar / Datenbankname konfigurierbar
                  // 03.02.2023 V0.5   Gaspode     Speicherverbrauch beim Zählen optimiert durch Verwendung von count(*)
                  // 03.02.2023 V0.5   Gaspode     Wenn für einen Datenpunkt ein Alias vergeben ist, wird das
                  //                               anstelle des Datenpunktnamens verwendet.
                  // 03.02.2023 V0.5   Gaspode     Am Ende eines Trockenlaufs werden SQL Befehle zum manuellen Löschen 
                  //                               ausgegeben.
                   
                  // Einstellungen:
                  // Hier das löschen einschalten! false = nur anzeigen / true = anzeigen und wirklich löschen
                  const activate_delete = false;
                   
                  // Name der SQL-Instanz, normalerweiser sql.0
                  const sql_instance = 'sql.0';
                  // Name der SQL-Datenbank - Groß und Kleinschreibung beachten!
                  const sql_dbname = 'iobroker';
                   
                  // Ersatzfunktion, weil sendToAsync im Scripting-Adapter derzeit (6.1.4) buggy ist:
                  async function mySendToAsync(_adapter, cmd, msg) {
                      return new Promise((resolve, reject) => {
                          sendTo(_adapter, cmd, msg, res => {
                              if (!res || res.error) {
                                  reject(res ? res.error : new Error('Unknown error'));
                              } else {
                                  resolve(res);
                              }
                          });
                      });
                  }
                   
                   
                  // Funktion zum Suchen und Löschen
                  async function wartung() {
                      try {
                          let sqlDeleteStatements = new Array();
                   
                          // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist:
                          let datapointsActiveArray = new Array();
                          const result = await mySendToAsync(sql_instance, 'getEnabledDPs', {});
                   
                          for (const i in result) {
                              datapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId);
                          }
                   
                          // alle Datenpunkte aus Db holen
                          let datapoints = await getQueryResult(`SELECT name, id, type FROM ${sql_dbname}.datapoints`);
                          if (datapoints) {
                              let count = 0;
                              let sum = 0;
                   
                              // Datenpunkte durchlaufen
                              for (const datapoint of datapoints) {
                                  // prüfen ob kein Objekt in ioBroker existiert
                                  // if (!getObject(datapoint.name)) {
                   
                                  // prüfen ob SQL-Protokollierung nicht aktiv ist
                                  if (!datapointsActiveArray.includes(datapoint.name)) {
                                      count++;
                   
                                      // Daten des Datenpunktes in Tabelle 'ts_bool' zählen
                                      let countBool = 0;
                                      let booleanTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`);
                                      if (booleanTableItems && booleanTableItems[0].cnt > 0) {
                                          countBool = booleanTableItems[0].cnt;
                                          if (activate_delete) {
                                              sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`, function (result) {
                                                  if (result.error) {
                                                      console.error(result.error);
                                                  } else {
                                                      // show result
                                                      console.log('Rows: ' + JSON.stringify(result.result));
                                                  }
                                              });
                                          }
                                          else {
                                              sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id};`);
                                          }
                                      }
                   
                                      // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                                      let countNumber = 0;
                                      let numberTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`);
                                      if (numberTableItems && numberTableItems[0].cnt > 0) {
                                          countNumber = numberTableItems[0].cnt;
                                          if (activate_delete) {
                                              sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`, function (result) {
                                                  if (result.error) {
                                                      console.error(result.error);
                                                  } else {
                                                      // show result
                                                      console.log('Rows: ' + JSON.stringify(result.result));
                                                  }
                                              });
                                          }
                                          else {
                                              sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id};`);
                                          }
                                      }
                   
                                      // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                                      let countString = 0;
                   
                                      let stringTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`);
                   
                                      if (stringTableItems && stringTableItems[0].cnt > 0) {
                   
                                          countString = stringTableItems[0].cnt;
                   
                                          if (activate_delete) {
                                              sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`, function (result) {
                                                  if (result.error) {
                                                      console.error(result.error);
                                                  } else {
                                                      // show result
                                                      console.log('Rows: ' + JSON.stringify(result.result));
                                                  }
                                              });
                                          }
                                          else {
                                              sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id};`);
                                          }
                                      }
                   
                                      if (activate_delete) {
                                          sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id}`, function (result) {
                                              if (result.error) {
                                                  console.error(result.error);
                                              } else {
                                                  // show result
                                                  console.log('Rows: ' + JSON.stringify(result.result));
                                              }
                                          });
                                      }
                                      else {
                                          sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id};`);
                                      }
                   
                                      console.warn(`DB id: ${datapoint.id} (type: ${datapoint.type}) -> number: ${countNumber}, string: ${countString}, bool: ${countBool} | ioBroker id: '${datapoint.name}'`);
                                      sum = sum + countBool + countNumber + countString;
                                  }
                              }
                              console.warn(`${count} Objects found, that not exist anymore in ioBroker, sum of items in tables: ${sum.toLocaleString().replace(/,/g, ".")}`);
                   
                              if (!activate_delete) {
                                  console.log('Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:');
                                  sqlDeleteStatements.forEach(element => console.log(element));
                              }
                          }
                      } catch (err) {
                          console.error(`[wartung] error: ${err.message}`);
                          console.error(`[wartung] stack: ${err.stack}`);
                      }
                  }
                   
                  async function getQueryResult(query) {
                      return new Promise((resolve, reject) => {
                          sendTo(sql_instance, 'query', query, function (result) {
                              if (!result.error) {
                                  resolve(result.result);
                              } else {
                                  resolve(null);
                              }
                          });
                      });
                  }
                   
                  wartung();
                  
                  

                  Edit: sql_instance und sql_dbname passen zu meiner Installation.

                  GaspodeG Offline
                  GaspodeG Offline
                  Gaspode
                  schrieb am zuletzt editiert von Gaspode
                  #75

                  @thof69
                  Also ich werde aus der Fehlermeldung auch nicht so recht schlau. Kann es sein, dass du noch eine ziemlich alte JS-Controller bzw. des SQL Adapters Version verwendest?
                  Ändere mal Zeile 49 von

                  datapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId);
                  

                  in

                  datapointsActiveArray.push(i);
                  
                  T 1 Antwort Letzte Antwort
                  0
                  • BananaJoeB BananaJoe

                    @thof69 sagte in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:

                    javascript.0 2023-06-24 09:00:47.962	error	script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5)
                    javascript.0 2023-06-24 09:00:47.962	error	script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
                    

                    Zeile 50 wäre nur eine } und Zeichen 58 finde ich da nicht
                    also muss dein echtes Skript doch irgendwie anders sein.

                    Sicher das Datenbankname etc. stimmt? Groß und Kleinschreibung beachtet?
                    Das Log ist von der Weboberfläche? bzw. von unten da raus kopiert?
                    Schau bitte mal in das richtige Log bzw. per SSH das Log an, da stehen dann noch mehr Details.

                    T Offline
                    T Offline
                    thof69
                    schrieb am zuletzt editiert von
                    #76

                    Zeile 50 wäre nur eine } und Zeichen 58 finde ich da nicht
                    also muss dein echtes Skript doch irgendwie anders sein.

                    Nein, hier als Screenshot aus dem Editor:
                    1.png

                    Sicher das Datenbankname etc. stimmt? Groß und Kleinschreibung beachtet?

                    Ja:
                    2.png

                    Schau bitte mal in das richtige Log bzw. per SSH das Log an, da stehen dann noch mehr Details.

                    Leider nicht:

                    2023-06-24 15:32:16.899 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                    2023-06-24 15:32:16.908 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                    2023-06-24 15:32:16.917 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
                    2023-06-24 15:32:16.918 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length')
                    at wartung (script.js.th.DB_bereinigen:50:58)
                    at processTicksAndRejections (node:internal/process/task_queues:95:5)
                    2023-06-24 15:32:20.966 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                    
                    1 Antwort Letzte Antwort
                    0
                    • GaspodeG Gaspode

                      @thof69
                      Also ich werde aus der Fehlermeldung auch nicht so recht schlau. Kann es sein, dass du noch eine ziemlich alte JS-Controller bzw. des SQL Adapters Version verwendest?
                      Ändere mal Zeile 49 von

                      datapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId);
                      

                      in

                      datapointsActiveArray.push(i);
                      
                      T Offline
                      T Offline
                      thof69
                      schrieb am zuletzt editiert von
                      #77

                      @gaspode
                      js-controller ist 5.04

                      Mit der Änderung läuft er, gibt allerdings vieles als Warnung, keine Ahnung, ob das normal ist:

                      2023-06-24 15:35:11.602 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                      2023-06-24 15:35:11.612 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      2023-06-24 15:35:11.677 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 6 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1338281.1.LEVEL'
                      2023-06-24 15:35:11.686 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 12 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0864598.4.VALVE_STATE'
                      2023-06-24 15:35:11.695 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 32 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0864261.4.VALVE_STATE'
                      2023-06-24 15:35:11.704 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 47 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018841.1.STATE'
                      2023-06-24 15:35:11.715 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 52 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018759.1.STATE'
                      2023-06-24 15:35:11.725 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 54 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018756.1.STATE'
                      2023-06-24 15:35:11.735 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 61 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.FEQ0081691.1.STATE'
                      2023-06-24 15:35:11.745 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 75 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0755679.1.STATE'
                      2023-06-24 15:35:11.754 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 116 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1029117.1.LEVEL'
                      2023-06-24 15:35:11.764 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 117 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026596.1.LEVEL'
                      2023-06-24 15:35:11.777 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 118 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026577.1.LEVEL'
                      2023-06-24 15:35:11.788 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 119 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026575.1.LEVEL'
                      2023-06-24 15:35:11.797 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 120 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026451.1.LEVEL'
                      2023-06-24 15:35:11.811 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 121 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026376.1.LEVEL'
                      2023-06-24 15:35:11.820 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 122 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026074.1.LEVEL'
                      2023-06-24 15:35:11.829 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 123 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1025539.1.LEVEL'
                      2023-06-24 15:35:11.837 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 131 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1338142.1.LEVEL'
                      2023-06-24 15:35:11.847 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 132 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1337186.1.LEVEL'
                      2023-06-24 15:35:11.855 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 137 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0221301.1.STATE'
                      2023-06-24 15:35:11.864 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 138 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0629029.1.STATE'
                      2023-06-24 15:35:11.873 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 142 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0628988.1.STATE'
                      2023-06-24 15:35:11.882 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 149 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1098038.1.STATE'
                      2023-06-24 15:35:11.891 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 164 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1248256.1.STATE'
                      2023-06-24 15:35:11.900 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 175 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.LEQ1010661.0.DUTY_CYCLE'
                      2023-06-24 15:35:11.909 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 178 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'th.0.Sonstiges.EingangLetzteBewegung'
                      2023-06-24 15:35:11.918 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 181 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.2.deviceCounter.on_lights.list'
                      2023-06-24 15:35:11.928 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 183 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ1857754.1.LEVEL'
                      2023-06-24 15:35:12.440 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 194 (type: 0) -> number: 456659, string: 0, bool: 0 | ioBroker id: 'javascript.2.co2sensor.co2'
                      2023-06-24 15:35:12.448 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 201 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'ping.0.ioBroker-RasPi1.192_168_100_175'
                      2023-06-24 15:35:12.461 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 202 (type: 2) -> number: 0, string: 0, bool: 4379 | ioBroker id: 'ping.0.192_168_100_170'
                      2023-06-24 15:35:12.472 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 203 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.PEQ1947166.0.DUTY_CYCLE'
                      2023-06-24 15:35:12.480 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 209 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'roomba.0.states.status'
                      2023-06-24 15:35:12.488 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 210 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.QEQ0337755.1.ENERGY_COUNTER'
                      2023-06-24 15:35:12.496 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 211 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.QEQ0337755.1.POWER'
                      2023-06-24 15:35:12.504 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 248 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'roomba.0.states.battery'
                      2023-06-24 15:35:12.512 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 263 (type: 0) -> number: 1891, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Passau.cases7_per_100k'
                      2023-06-24 15:35:12.521 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 264 (type: 0) -> number: 1936, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern.cases7_per_100k'
                      2023-06-24 15:35:12.528 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 265 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Stadt.München.cases7_per_100k'
                      2023-06-24 15:35:12.538 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 266 (type: 0) -> number: 1818, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Stadt.Passau.cases7_per_100k'
                      2023-06-24 15:35:12.547 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 267 (type: 0) -> number: 1876, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Deggendorf.cases7_per_100k'
                      2023-06-24 15:35:12.557 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 268 (type: 0) -> number: 1752, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Freyung-Grafenau.cases7_per_100k'
                      2023-06-24 15:35:12.565 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 269 (type: 0) -> number: 1704, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Regen.cases7_per_100k'
                      2023-06-24 15:35:12.575 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 270 (type: 0) -> number: 1723, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Rottal-Inn.cases7_per_100k'
                      2023-06-24 15:35:12.584 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 271 (type: 0) -> number: 1838, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Dingolfing-Landau.cases7_per_100k'
                      2023-06-24 15:35:12.594 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 272 (type: 0) -> number: 9025, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.0.e5.feed'
                      2023-06-24 15:35:12.610 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 273 (type: 0) -> number: 17085, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.1.e5.feed'
                      2023-06-24 15:35:12.624 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 274 (type: 0) -> number: 18012, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.2.e5.feed'
                      2023-06-24 15:35:12.633 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 275 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hue.0.Anna.on'
                      2023-06-24 15:35:12.642 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 276 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hue.0.Anna.level'
                      2023-06-24 15:35:12.651 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 278 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern._Impfungen.rkiErstimpfungenImpfquote'
                      2023-06-24 15:35:12.660 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 279 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern._Impfungen.rkiZweitimpfungenImpfquote'
                      2023-06-24 15:35:12.673 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 280 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany._Impfungen.rkiErstimpfungenImpfquote'
                      2023-06-24 15:35:12.683 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 281 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany._Impfungen.rkiZweitimpfungenImpfquote'
                      2023-06-24 15:35:12.693 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 287 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.1.00085BE9A3AC8F.7.POWER'
                      2023-06-24 15:35:12.702 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 289 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.Rain'
                      2023-06-24 15:35:12.711 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 290 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.SumRain24'
                      2023-06-24 15:35:12.721 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 291 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Anna.CO2.CO2'
                      2023-06-24 15:35:12.730 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 292 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Pergola.Temperature.Temperature'
                      2023-06-24 15:35:12.740 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 293 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Anna.Noise.Noise'
                      2023-06-24 15:35:12.748 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 294 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.SumRain1'
                      2023-06-24 15:35:12.756 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 295 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Wohnzimmer.CO2.CO2'
                      2023-06-24 15:35:12.763 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 296 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Paul.CO2.CO2'
                      2023-06-24 15:35:12.774 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 297 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Schlafzimmer.CO2.CO2'
                      2023-06-24 15:35:12.803 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 302 (type: 0) -> number: 11046, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.3.e5.feed'
                      2023-06-24 15:35:12.825 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 303 (type: 0) -> number: 8900, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.4.e5.feed'
                      2023-06-24 15:35:12.843 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 305 (type: 0) -> number: 7169, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern.Hospital.faelleCovidAktuell'
                      2023-06-24 15:35:12.853 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 313 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.1.00111D899501D6.4.LEVEL'
                      2023-06-24 15:35:12.866 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 344 (type: 0) -> number: 2071, string: 0, bool: 0 | ioBroker id: 'pvforecast.0.plants.pv.power.now'
                      2023-06-24 15:35:12.876 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 68 Objects found, that not exist anymore in ioBroker, sum of items in tables: 548.884
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 6;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 12;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 32;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 47;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 52;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 54;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 61;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 75;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 116;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 117;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 118;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 119;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 120;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 121;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 122;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 123;
                      2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 131;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 132;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 137;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 138;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 142;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 149;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 164;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 175;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 178;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 181;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 183;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 194;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 194;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 201;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_bool WHERE id = 202;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 202;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 203;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 209;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 210;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 211;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 248;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 263;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 263;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 264;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 264;
                      2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 265;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 266;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 266;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 267;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 267;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 268;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 268;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 269;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 269;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 270;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 270;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 271;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 271;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 272;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 272;
                      2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 273;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 273;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 274;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 274;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 275;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 276;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 278;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 279;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 280;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 281;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 287;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 289;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 290;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 291;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 292;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 293;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 294;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 295;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 296;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 297;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 302;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 302;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 303;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 303;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 305;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 305;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 313;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 344;
                      2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 344;
                      2023-06-24 15:35:21.357 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                      
                      GaspodeG 1 Antwort Letzte Antwort
                      0
                      • T thof69

                        @gaspode
                        js-controller ist 5.04

                        Mit der Änderung läuft er, gibt allerdings vieles als Warnung, keine Ahnung, ob das normal ist:

                        2023-06-24 15:35:11.602 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                        2023-06-24 15:35:11.612 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                        2023-06-24 15:35:11.677 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 6 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1338281.1.LEVEL'
                        2023-06-24 15:35:11.686 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 12 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0864598.4.VALVE_STATE'
                        2023-06-24 15:35:11.695 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 32 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0864261.4.VALVE_STATE'
                        2023-06-24 15:35:11.704 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 47 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018841.1.STATE'
                        2023-06-24 15:35:11.715 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 52 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018759.1.STATE'
                        2023-06-24 15:35:11.725 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 54 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018756.1.STATE'
                        2023-06-24 15:35:11.735 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 61 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.FEQ0081691.1.STATE'
                        2023-06-24 15:35:11.745 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 75 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0755679.1.STATE'
                        2023-06-24 15:35:11.754 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 116 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1029117.1.LEVEL'
                        2023-06-24 15:35:11.764 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 117 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026596.1.LEVEL'
                        2023-06-24 15:35:11.777 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 118 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026577.1.LEVEL'
                        2023-06-24 15:35:11.788 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 119 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026575.1.LEVEL'
                        2023-06-24 15:35:11.797 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 120 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026451.1.LEVEL'
                        2023-06-24 15:35:11.811 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 121 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026376.1.LEVEL'
                        2023-06-24 15:35:11.820 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 122 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026074.1.LEVEL'
                        2023-06-24 15:35:11.829 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 123 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1025539.1.LEVEL'
                        2023-06-24 15:35:11.837 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 131 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1338142.1.LEVEL'
                        2023-06-24 15:35:11.847 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 132 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1337186.1.LEVEL'
                        2023-06-24 15:35:11.855 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 137 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0221301.1.STATE'
                        2023-06-24 15:35:11.864 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 138 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0629029.1.STATE'
                        2023-06-24 15:35:11.873 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 142 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0628988.1.STATE'
                        2023-06-24 15:35:11.882 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 149 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1098038.1.STATE'
                        2023-06-24 15:35:11.891 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 164 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1248256.1.STATE'
                        2023-06-24 15:35:11.900 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 175 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.LEQ1010661.0.DUTY_CYCLE'
                        2023-06-24 15:35:11.909 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 178 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'th.0.Sonstiges.EingangLetzteBewegung'
                        2023-06-24 15:35:11.918 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 181 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.2.deviceCounter.on_lights.list'
                        2023-06-24 15:35:11.928 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 183 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ1857754.1.LEVEL'
                        2023-06-24 15:35:12.440 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 194 (type: 0) -> number: 456659, string: 0, bool: 0 | ioBroker id: 'javascript.2.co2sensor.co2'
                        2023-06-24 15:35:12.448 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 201 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'ping.0.ioBroker-RasPi1.192_168_100_175'
                        2023-06-24 15:35:12.461 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 202 (type: 2) -> number: 0, string: 0, bool: 4379 | ioBroker id: 'ping.0.192_168_100_170'
                        2023-06-24 15:35:12.472 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 203 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.PEQ1947166.0.DUTY_CYCLE'
                        2023-06-24 15:35:12.480 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 209 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'roomba.0.states.status'
                        2023-06-24 15:35:12.488 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 210 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.QEQ0337755.1.ENERGY_COUNTER'
                        2023-06-24 15:35:12.496 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 211 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.QEQ0337755.1.POWER'
                        2023-06-24 15:35:12.504 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 248 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'roomba.0.states.battery'
                        2023-06-24 15:35:12.512 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 263 (type: 0) -> number: 1891, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Passau.cases7_per_100k'
                        2023-06-24 15:35:12.521 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 264 (type: 0) -> number: 1936, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern.cases7_per_100k'
                        2023-06-24 15:35:12.528 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 265 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Stadt.München.cases7_per_100k'
                        2023-06-24 15:35:12.538 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 266 (type: 0) -> number: 1818, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Stadt.Passau.cases7_per_100k'
                        2023-06-24 15:35:12.547 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 267 (type: 0) -> number: 1876, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Deggendorf.cases7_per_100k'
                        2023-06-24 15:35:12.557 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 268 (type: 0) -> number: 1752, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Freyung-Grafenau.cases7_per_100k'
                        2023-06-24 15:35:12.565 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 269 (type: 0) -> number: 1704, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Regen.cases7_per_100k'
                        2023-06-24 15:35:12.575 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 270 (type: 0) -> number: 1723, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Rottal-Inn.cases7_per_100k'
                        2023-06-24 15:35:12.584 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 271 (type: 0) -> number: 1838, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Dingolfing-Landau.cases7_per_100k'
                        2023-06-24 15:35:12.594 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 272 (type: 0) -> number: 9025, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.0.e5.feed'
                        2023-06-24 15:35:12.610 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 273 (type: 0) -> number: 17085, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.1.e5.feed'
                        2023-06-24 15:35:12.624 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 274 (type: 0) -> number: 18012, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.2.e5.feed'
                        2023-06-24 15:35:12.633 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 275 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hue.0.Anna.on'
                        2023-06-24 15:35:12.642 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 276 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hue.0.Anna.level'
                        2023-06-24 15:35:12.651 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 278 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern._Impfungen.rkiErstimpfungenImpfquote'
                        2023-06-24 15:35:12.660 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 279 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern._Impfungen.rkiZweitimpfungenImpfquote'
                        2023-06-24 15:35:12.673 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 280 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany._Impfungen.rkiErstimpfungenImpfquote'
                        2023-06-24 15:35:12.683 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 281 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany._Impfungen.rkiZweitimpfungenImpfquote'
                        2023-06-24 15:35:12.693 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 287 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.1.00085BE9A3AC8F.7.POWER'
                        2023-06-24 15:35:12.702 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 289 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.Rain'
                        2023-06-24 15:35:12.711 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 290 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.SumRain24'
                        2023-06-24 15:35:12.721 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 291 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Anna.CO2.CO2'
                        2023-06-24 15:35:12.730 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 292 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Pergola.Temperature.Temperature'
                        2023-06-24 15:35:12.740 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 293 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Anna.Noise.Noise'
                        2023-06-24 15:35:12.748 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 294 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.SumRain1'
                        2023-06-24 15:35:12.756 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 295 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Wohnzimmer.CO2.CO2'
                        2023-06-24 15:35:12.763 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 296 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Paul.CO2.CO2'
                        2023-06-24 15:35:12.774 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 297 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Schlafzimmer.CO2.CO2'
                        2023-06-24 15:35:12.803 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 302 (type: 0) -> number: 11046, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.3.e5.feed'
                        2023-06-24 15:35:12.825 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 303 (type: 0) -> number: 8900, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.4.e5.feed'
                        2023-06-24 15:35:12.843 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 305 (type: 0) -> number: 7169, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern.Hospital.faelleCovidAktuell'
                        2023-06-24 15:35:12.853 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 313 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.1.00111D899501D6.4.LEVEL'
                        2023-06-24 15:35:12.866 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 344 (type: 0) -> number: 2071, string: 0, bool: 0 | ioBroker id: 'pvforecast.0.plants.pv.power.now'
                        2023-06-24 15:35:12.876 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 68 Objects found, that not exist anymore in ioBroker, sum of items in tables: 548.884
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 6;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 12;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 32;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 47;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 52;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 54;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 61;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 75;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 116;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 117;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 118;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 119;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 120;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 121;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 122;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 123;
                        2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 131;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 132;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 137;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 138;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 142;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 149;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 164;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 175;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 178;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 181;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 183;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 194;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 194;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 201;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_bool WHERE id = 202;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 202;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 203;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 209;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 210;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 211;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 248;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 263;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 263;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 264;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 264;
                        2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 265;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 266;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 266;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 267;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 267;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 268;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 268;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 269;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 269;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 270;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 270;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 271;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 271;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 272;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 272;
                        2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 273;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 273;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 274;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 274;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 275;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 276;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 278;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 279;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 280;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 281;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 287;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 289;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 290;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 291;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 292;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 293;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 294;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 295;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 296;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 297;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 302;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 302;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 303;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 303;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 305;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 305;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 313;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 344;
                        2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 344;
                        2023-06-24 15:35:21.357 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                        
                        GaspodeG Offline
                        GaspodeG Offline
                        Gaspode
                        schrieb am zuletzt editiert von
                        #78

                        @thof69
                        Naja, die Warnungen sind der eigentliche Output. 😉

                        Kontrolliere mal ein paar, ob das plausibel erscheint.

                        Warum bei dir die Alias-Prüfung nicht klappt (das ist der Teil, den wir gerade geändert haben), verstehe ich allerdings nicht so richtig.

                        T 1 Antwort Letzte Antwort
                        0
                        • GaspodeG Gaspode

                          @thof69
                          Naja, die Warnungen sind der eigentliche Output. 😉

                          Kontrolliere mal ein paar, ob das plausibel erscheint.

                          Warum bei dir die Alias-Prüfung nicht klappt (das ist der Teil, den wir gerade geändert haben), verstehe ich allerdings nicht so richtig.

                          T Offline
                          T Offline
                          thof69
                          schrieb am zuletzt editiert von thof69
                          #79

                          @gaspode

                          Super, vielen Dank! 🍻

                          Kann das mit der Aliasprüfung vielleicht daran liegen, dass ich keinen einzigen definiert habe?

                          Edit: Die Treffer sind allesamt korrekt.

                          GaspodeG 1 Antwort Letzte Antwort
                          0
                          • T thof69

                            @gaspode

                            Super, vielen Dank! 🍻

                            Kann das mit der Aliasprüfung vielleicht daran liegen, dass ich keinen einzigen definiert habe?

                            Edit: Die Treffer sind allesamt korrekt.

                            GaspodeG Offline
                            GaspodeG Offline
                            Gaspode
                            schrieb am zuletzt editiert von
                            #80

                            @thof69 said in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:

                            Kann das mit der Aliasprüfung vielleicht daran liegen, dass ich keinen einzigen definiert habe?

                            Gute Frage. Ich habe soweit ich weiß allerdings auch keinen einzigen Alias definiert, aber evtl. hatte ich das mal früher. Ich kann mich aber nicht mehr erinnern, ja ja, das Alter 😄

                            1 Antwort Letzte Antwort
                            0
                            • BananaJoeB Online
                              BananaJoeB Online
                              BananaJoe
                              Most Active
                              schrieb am zuletzt editiert von
                              #81

                              Bei mir gibt es auch keine Aliase und es funktioniert.
                              Gibt es denn alias.0 bei dir?

                              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                              T 1 Antwort Letzte Antwort
                              0
                              • BananaJoeB BananaJoe

                                Bei mir gibt es auch keine Aliase und es funktioniert.
                                Gibt es denn alias.0 bei dir?

                                T Offline
                                T Offline
                                thof69
                                schrieb am zuletzt editiert von
                                #82

                                @bananajoe

                                Bei mir gibt es auch keine Aliase und es funktioniert.
                                Gibt es denn alias.0 bei dir?

                                Ja, den gibt es, mit nix drunter:
                                3.png

                                1 Antwort Letzte Antwort
                                0
                                • GaspodeG Offline
                                  GaspodeG Offline
                                  Gaspode
                                  schrieb am zuletzt editiert von Gaspode
                                  #83

                                  Nee, mit alias.0 hat das meines Wissens nix zu tun. Ich vermute eher, dass es daran liegt, dass es bei dir einige Datenpunkte überhaupt nicht mehr gibt, die aber noch DB Einträge haben.

                                  In dem Fall würde wahrscheinlich folgende Zeile 49 Abhilfe schaffen:

                                  datapointsActiveArray.push(!result[i] || result[i].aliasId.length == 0 ? i : result[i].aliasId);
                                  

                                  (Ich kann es gerade nicht selbst testen)

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • GaspodeG Gaspode

                                    Nee, mit alias.0 hat das meines Wissens nix zu tun. Ich vermute eher, dass es daran liegt, dass es bei dir einige Datenpunkte überhaupt nicht mehr gibt, die aber noch DB Einträge haben.

                                    In dem Fall würde wahrscheinlich folgende Zeile 49 Abhilfe schaffen:

                                    datapointsActiveArray.push(!result[i] || result[i].aliasId.length == 0 ? i : result[i].aliasId);
                                    

                                    (Ich kann es gerade nicht selbst testen)

                                    T Offline
                                    T Offline
                                    thof69
                                    schrieb am zuletzt editiert von thof69
                                    #84

                                    @gaspode

                                    Nee, mit alias.0 hat das meines Wissens nix zu tun. Ich vermute eher, dass es daran liegt, dass es bei dir einige Datenpunkte überhaupt nicht mehr gibt, die aber noch DB Einträge haben.

                                    Ja, das ist definitiv der Fall.

                                    In dem Fall würde wahrscheinlich folgende Zeile 49 Abhilfe schaffen:

                                    datapointsActiveArray.push(!result[i] || result[i].aliasId.length == 0 ? i : result[i].aliasId);
                                    

                                    Nein, leider nicht:

                                    2023-06-24 16:33:21.322 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
                                    2023-06-24 16:33:21.323 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:72)
                                    at processTicksAndRejections (node:internal/process/task_queues:95:5)
                                    

                                    Allerdings habe ich in der Zwischenzeit auch die delete-Statements laufen lassen und die Datenbank ist sauber.

                                    GaspodeG 1 Antwort Letzte Antwort
                                    0
                                    • T thof69

                                      @gaspode

                                      Nee, mit alias.0 hat das meines Wissens nix zu tun. Ich vermute eher, dass es daran liegt, dass es bei dir einige Datenpunkte überhaupt nicht mehr gibt, die aber noch DB Einträge haben.

                                      Ja, das ist definitiv der Fall.

                                      In dem Fall würde wahrscheinlich folgende Zeile 49 Abhilfe schaffen:

                                      datapointsActiveArray.push(!result[i] || result[i].aliasId.length == 0 ? i : result[i].aliasId);
                                      

                                      Nein, leider nicht:

                                      2023-06-24 16:33:21.322 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
                                      2023-06-24 16:33:21.323 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:72)
                                      at processTicksAndRejections (node:internal/process/task_queues:95:5)
                                      

                                      Allerdings habe ich in der Zwischenzeit auch die delete-Statements laufen lassen und die Datenbank ist sauber.

                                      GaspodeG Offline
                                      GaspodeG Offline
                                      Gaspode
                                      schrieb am zuletzt editiert von
                                      #85

                                      @thof69

                                      Dann wohl

                                      datapointsActiveArray.push(!result[i] || !result[i].aliasId || result[i].aliasId.length == 0 ? i : result[i].aliasId);
                                      

                                      Schade, dass du es jetzt nicht mehr testen kannst.

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • GaspodeG Gaspode

                                        @thof69

                                        Dann wohl

                                        datapointsActiveArray.push(!result[i] || !result[i].aliasId || result[i].aliasId.length == 0 ? i : result[i].aliasId);
                                        

                                        Schade, dass du es jetzt nicht mehr testen kannst.

                                        T Offline
                                        T Offline
                                        thof69
                                        schrieb am zuletzt editiert von
                                        #86

                                        @gaspode

                                        Die Variante sieht gut aus, sie gibt das gleiche Ergebnis wie "datapointsActiveArray.push(i);"

                                        Hier der Log, erster Lauf mit "datapointsActiveArray.push(i);", zweiter mit dieser Variante:

                                        2023-06-24 16:43:34.068 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                                        2023-06-24 16:43:34.076 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        2023-06-24 16:43:34.118 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 0 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0
                                        2023-06-24 16:43:34.118 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:
                                        2023-06-24 16:43:38.260 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                                        2023-06-24 16:43:48.196 - info: javascript.1 (75023) Stop script script.js.th.DB_bereinigen
                                        2023-06-24 16:43:48.196 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                                        2023-06-24 16:43:50.886 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                                        2023-06-24 16:43:50.895 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        2023-06-24 16:43:50.937 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 0 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0
                                        2023-06-24 16:43:50.937 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:
                                        2023-06-24 16:43:56.750 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                                        

                                        Sorry, hätte ich gewusst, dass ich noch testen soll, hätte ich die deletes noch nicht laufen lassen. :man-shrugging:

                                        GaspodeG 1 Antwort Letzte Antwort
                                        0
                                        • T thof69

                                          @gaspode

                                          Die Variante sieht gut aus, sie gibt das gleiche Ergebnis wie "datapointsActiveArray.push(i);"

                                          Hier der Log, erster Lauf mit "datapointsActiveArray.push(i);", zweiter mit dieser Variante:

                                          2023-06-24 16:43:34.068 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                                          2023-06-24 16:43:34.076 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                          2023-06-24 16:43:34.118 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 0 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0
                                          2023-06-24 16:43:34.118 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:
                                          2023-06-24 16:43:38.260 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                                          2023-06-24 16:43:48.196 - info: javascript.1 (75023) Stop script script.js.th.DB_bereinigen
                                          2023-06-24 16:43:48.196 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                                          2023-06-24 16:43:50.886 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen
                                          2023-06-24 16:43:50.895 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                          2023-06-24 16:43:50.937 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 0 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0
                                          2023-06-24 16:43:50.937 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:
                                          2023-06-24 16:43:56.750 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
                                          

                                          Sorry, hätte ich gewusst, dass ich noch testen soll, hätte ich die deletes noch nicht laufen lassen. :man-shrugging:

                                          GaspodeG Offline
                                          GaspodeG Offline
                                          Gaspode
                                          schrieb am zuletzt editiert von
                                          #87

                                          @thof69 said in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:

                                          Sorry, hätte ich gewusst, dass ich noch testen soll, hätte ich die deletes noch nicht laufen lassen

                                          Kein Problem. 👍

                                          Ich bau mir das Problem bei Gelegenheit mal nach.

                                          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

                                          660

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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