Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  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.3k

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

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

Zurücksetzen einzelner Datenpunkte im SQL-Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
87 Beiträge 16 Kommentatoren 13.1k 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 andi2055

    @scrounger

    ich habe dein Script ums Löschen von nicht mehr existierenden Datenpunkten erweitert.
    So konnte ich bei mir über 1Mio überflüssige Datensätze löschen.

    Vielleicht kann es jemand gebrauchen.

    Verwendung auf eigene Gefahr! Vorher Backup anfertigen

    
    async function wartung() {
        try {
    
            const activate_delete = false;
     
            // alle Datenpunkte aus Db holen
            let datapoints = await getQueryResult(`SELECT * FROM iobroker.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)) {
                        count++;
     
                        // Daten des Datenpunktes in Tabelle 'ts_bool' zählen
                        let countBool = 0;
                        let booleanTableItems = await getQueryResult(`SELECT * FROM iobroker.ts_bool WHERE id = ${datapoint.id}`);
                        if (booleanTableItems && Object.keys(booleanTableItems).length > 0) {
                            countBool = Object.keys(booleanTableItems).length;
                            if (activate_delete) { 
                                sendTo('sql.0', 'query', `DELETE FROM iobroker.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));
                                    }
                                });
                            }
                        }
     
                        // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                        let countNumber = 0;
                        let numberTableItems = await getQueryResult(`SELECT * FROM iobroker.ts_number WHERE id = ${datapoint.id}`);
                        if (numberTableItems && Object.keys(numberTableItems).length > 0) {
                            countNumber = Object.keys(numberTableItems).length;
                            if (activate_delete) { 
                                sendTo('sql.0', 'query', `DELETE FROM iobroker.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));
                                    }
                                });
                            }
                        }
     
                        // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                        let countString = 0;
                        let stringTableItems = await getQueryResult(`SELECT * FROM iobroker.ts_string WHERE id = ${datapoint.id}`);
                        if (stringTableItems && Object.keys(stringTableItems).length > 0) {
                            countString = Object.keys(stringTableItems).length;
                            if (activate_delete) { 
                                sendTo('sql.0', 'query', `DELETE FROM iobroker.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));
                                    }
                                });
                            }
                        }
    
                        if (activate_delete) { 
                            sendTo('sql.0', 'query', `DELETE FROM iobroker.datapoints WHERE id = ${datapoint.id}`, function (result) {
                                if (result.error) {
                                    console.error(result.error);
                                } else {
                                    // show result
                                    console.log('Rows: ' + JSON.stringify(result.result));
                                }
                            });
                        }
     
                        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, ".")}`);
            }
        } 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.0', 'query', query, function (result) {
                if (!result.error) {
                    resolve(result.result);
                } else {
                    resolve(null);
                }
            });
        });
    }
     
    wartung();
    
    
    M Offline
    M Offline
    mike2712
    schrieb am zuletzt editiert von
    #18

    @andi2055 hab da mal eine Frage, wo muss dieses Script den ausgeführt werden?

    ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

    A 1 Antwort Letzte Antwort
    0
    • M mike2712

      @andi2055 hab da mal eine Frage, wo muss dieses Script den ausgeführt werden?

      A Offline
      A Offline
      andi2055
      schrieb am zuletzt editiert von
      #19

      @mike2712
      als Javascript im JS-Adapter anlegen und ausführen

      @Borkenkaefer
      Laufzeit ist abhängig von Anzahl der gefundenen Einträge und Anzahl Datensätze. Wenige Sekunden bis Minuten würde ich sagen. Im Log steht dann genau welche Datenpunkte gefunden wurden und wie viele SQL-Werte dazu noch in der DB stehen

      M 1 Antwort Letzte Antwort
      1
      • A andi2055

        @mike2712
        als Javascript im JS-Adapter anlegen und ausführen

        @Borkenkaefer
        Laufzeit ist abhängig von Anzahl der gefundenen Einträge und Anzahl Datensätze. Wenige Sekunden bis Minuten würde ich sagen. Im Log steht dann genau welche Datenpunkte gefunden wurden und wie viele SQL-Werte dazu noch in der DB stehen

        M Offline
        M Offline
        mike2712
        schrieb am zuletzt editiert von mike2712
        #20

        @andi2055
        Super, danke, wollte da immer schon mal etwas aufräumen, kenne mich im Bereich PHPmyAdmin leider gar nicht aus.
        Hier ist das Ergebnis von dem Script, was müssten den für ein sinnvolles aufräumen die nächsten Schritte sein?

        Würde das erweiterte Script von Dir alles überflüssige aus der Datenbank löschen? Wie mache ich den ein Backup so das ich meine archivierten Daten nicht verlieren würde?

        18:41:55.180	info	javascript.0 (158) Stop script script.js.Allgemein.SQL_TEST
        18:41:55.183	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 195 (type: 0) -> number: 140294, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116570356042.power'
        18:41:55.183	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.present" does not exist
        18:41:55.330	info	javascript.0 (158) Start javascript script.js.Allgemein.SQL_TEST
        18:41:55.354	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
        18:41:55.391	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.0.MEQ0375275.1.LEVEL" does not exist
        18:41:56.238	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 34 (type: 0) -> number: 26646, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0375275.1.LEVEL'
        18:41:56.239	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "sonoff.0.Sonoff-Steckdose-51.POWER" does not exist
        18:41:56.413	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 77 (type: 2) -> number: 0, string: 0, bool: 4789 | ioBroker id: 'fritzdect.0.DECT200_087610475216.present'
        18:41:56.414	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.state" does not exist
        18:41:56.452	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 44 (type: 2) -> number: 0, string: 0, bool: 4953 | ioBroker id: 'sonoff.0.Sonoff-Steckdose-51.POWER'
        18:41:56.455	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116570356042.power" does not exist
        18:42:02.852	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 195 (type: 0) -> number: 140294, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116570356042.power'
        18:42:02.853	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.present" does not exist
        18:42:03.095	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 78 (type: 2) -> number: 0, string: 0, bool: 36314 | ioBroker id: 'fritzdect.0.DECT200_087610475216.state'
        18:42:03.096	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.power" does not exist
        18:42:03.223	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 77 (type: 2) -> number: 0, string: 0, bool: 4789 | ioBroker id: 'fritzdect.0.DECT200_087610475216.present'
        18:42:03.228	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.state" does not exist
        18:42:06.359	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 78 (type: 2) -> number: 0, string: 0, bool: 36314 | ioBroker id: 'fritzdect.0.DECT200_087610475216.state'
        18:42:06.360	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.power" does not exist
        18:42:24.748	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 79 (type: 0) -> number: 270994, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.power'
        18:42:24.749	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.temp" does not exist
        18:42:25.869	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 79 (type: 0) -> number: 270994, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.power'
        18:42:25.870	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.temp" does not exist
        18:42:27.476	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 80 (type: 0) -> number: 30132, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.temp'
        18:42:27.477	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.temp" does not exist
        18:42:27.667	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 80 (type: 0) -> number: 30132, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.temp'
        18:42:27.668	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.temp" does not exist
        18:42:29.786	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 90 (type: 0) -> number: 39412, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.temp'
        18:42:29.788	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65537.lightbulb.state" does not exist
        18:42:29.975	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 90 (type: 0) -> number: 39412, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.temp'
        18:42:29.976	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65537.lightbulb.state" does not exist
        18:42:30.358	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 102 (type: 2) -> number: 0, string: 0, bool: 2178 | ioBroker id: 'tradfri.0.L-65537.lightbulb.state'
        18:42:30.358	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65539.lightbulb.state" does not exist
        18:42:30.369	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 102 (type: 2) -> number: 0, string: 0, bool: 2178 | ioBroker id: 'tradfri.0.L-65537.lightbulb.state'
        18:42:30.370	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65539.lightbulb.state" does not exist
        18:42:30.593	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 103 (type: 2) -> number: 0, string: 0, bool: 2177 | ioBroker id: 'tradfri.0.L-65539.lightbulb.state'
        18:42:30.594	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131073.state" does not exist
        18:42:30.615	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 103 (type: 2) -> number: 0, string: 0, bool: 2177 | ioBroker id: 'tradfri.0.L-65539.lightbulb.state'
        18:42:30.616	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131073.state" does not exist
        18:42:30.741	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 104 (type: 2) -> number: 0, string: 0, bool: 2246 | ioBroker id: 'tradfri.0.G-131073.state'
        18:42:30.742	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65541.lightbulb.state" does not exist
        18:42:30.760	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 104 (type: 2) -> number: 0, string: 0, bool: 2246 | ioBroker id: 'tradfri.0.G-131073.state'
        18:42:30.761	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65541.lightbulb.state" does not exist
        18:42:30.930	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 105 (type: 2) -> number: 0, string: 0, bool: 2176 | ioBroker id: 'tradfri.0.L-65541.lightbulb.state'
        18:42:30.931	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131074.state" does not exist
        18:42:30.934	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 105 (type: 2) -> number: 0, string: 0, bool: 2176 | ioBroker id: 'tradfri.0.L-65541.lightbulb.state'
        18:42:30.935	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131074.state" does not exist
        18:42:31.119	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 106 (type: 2) -> number: 0, string: 0, bool: 2248 | ioBroker id: 'tradfri.0.G-131074.state'
        18:42:31.122	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131075.state" does not exist
        18:42:31.138	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 106 (type: 2) -> number: 0, string: 0, bool: 2248 | ioBroker id: 'tradfri.0.G-131074.state'
        18:42:31.138	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131075.state" does not exist
        18:42:31.402	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 107 (type: 2) -> number: 0, string: 0, bool: 2167 | ioBroker id: 'tradfri.0.G-131075.state'
        18:42:31.403	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Allgemein.Handy_Anwesend" does not exist
        18:42:31.410	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 107 (type: 2) -> number: 0, string: 0, bool: 2167 | ioBroker id: 'tradfri.0.G-131075.state'
        18:42:31.412	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Allgemein.Handy_Anwesend" does not exist
        18:42:31.936	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 110 (type: 2) -> number: 0, string: 0, bool: 4795 | ioBroker id: 'MeineObjekte.0.Allgemein.Handy_Anwesend'
        18:42:31.937	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.state" does not exist
        18:42:31.975	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 110 (type: 2) -> number: 0, string: 0, bool: 4795 | ioBroker id: 'MeineObjekte.0.Allgemein.Handy_Anwesend'
        18:42:31.976	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.state" does not exist
        18:42:34.222	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 112 (type: 2) -> number: 0, string: 0, bool: 33197 | ioBroker id: 'fritzdect.0.DECT200_116300011906.state'
        18:42:34.222	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.power" does not exist
        18:42:34.236	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 112 (type: 2) -> number: 0, string: 0, bool: 33197 | ioBroker id: 'fritzdect.0.DECT200_116300011906.state'
        18:42:34.237	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.power" does not exist
        18:43:04.825	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 113 (type: 0) -> number: 350196, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300011906.power'
        18:43:04.827	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM" does not exist
        18:43:05.480	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 113 (type: 0) -> number: 350196, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300011906.power'
        18:43:05.480	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM" does not exist
        18:43:05.635	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 187 (type: 1) -> number: 4, string: 1, bool: 0 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM'
        18:43:05.636	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.state" does not exist
        18:43:05.789	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 187 (type: 1) -> number: 4, string: 1, bool: 0 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM'
        18:43:05.789	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.state" does not exist
        18:43:08.464	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 116 (type: 2) -> number: 0, string: 0, bool: 33178 | ioBroker id: 'fritzdect.0.DECT200_116300020276.state'
        18:43:08.465	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.power" does not exist
        18:43:08.520	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 116 (type: 2) -> number: 0, string: 0, bool: 33178 | ioBroker id: 'fritzdect.0.DECT200_116300020276.state'
        18:43:08.520	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.power" does not exist
        18:44:05.666	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 117 (type: 0) -> number: 496674, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.power'
        18:44:05.668	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Sonoff-Steckdose-51" does not exist
        18:44:07.549	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 117 (type: 0) -> number: 496674, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.power'
        18:44:07.550	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Sonoff-Steckdose-51" does not exist
        18:44:07.989	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 123 (type: 2) -> number: 0, string: 0, bool: 4765 | ioBroker id: 'tr-064.0.devices.Sonoff-Steckdose-51'
        18:44:07.990	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer" does not exist
        18:44:08.261	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 123 (type: 2) -> number: 0, string: 0, bool: 4765 | ioBroker id: 'tr-064.0.devices.Sonoff-Steckdose-51'
        18:44:08.261	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer" does not exist
        18:44:08.440	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 128 (type: 2) -> number: 0, string: 0, bool: 1685 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer'
        18:44:08.441	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.Count-24h" does not exist
        18:44:08.458	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 128 (type: 2) -> number: 0, string: 0, bool: 1685 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer'
        18:44:08.459	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.Count-24h" does not exist
        18:44:08.495	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 181 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.Count-24h'
        18:44:08.496	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h" does not exist
        18:44:08.508	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 181 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.Count-24h'
        18:44:08.509	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h" does not exist
        18:44:08.573	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 182 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h'
        18:44:08.574	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Nutzung" does not exist
        18:44:08.615	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 182 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h'
        18:44:08.616	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Nutzung" does not exist
        18:44:08.675	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 188 (type: 1) -> number: 0, string: 1, bool: 4 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Nutzung'
        18:44:08.675	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rega.0.2115" does not exist
        18:44:08.696	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 188 (type: 1) -> number: 0, string: 1, bool: 4 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Nutzung'
        18:44:08.696	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rega.0.2115" does not exist
        18:44:10.044	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 189 (type: 2) -> number: 0, string: 0, bool: 20869 | ioBroker id: 'hm-rega.0.2115'
        18:44:10.045	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Kueche" does not exist
        18:44:10.066	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 189 (type: 2) -> number: 0, string: 0, bool: 20869 | ioBroker id: 'hm-rega.0.2115'
        18:44:10.067	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Kueche" does not exist
        18:44:10.671	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 138 (type: 2) -> number: 0, string: 0, bool: 4753 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Kueche'
        18:44:10.672	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Fritz-Repeater-5GHZ" does not exist
        18:44:10.674	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 138 (type: 2) -> number: 0, string: 0, bool: 4753 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Kueche'
        18:44:10.674	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Fritz-Repeater-5GHZ" does not exist
        18:44:11.037	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 140 (type: 2) -> number: 0, string: 0, bool: 4738 | ioBroker id: 'tr-064.0.devices.Home-Fritz-Repeater-5GHZ'
        18:44:11.038	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet" does not exist
        18:44:11.052	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 140 (type: 2) -> number: 0, string: 0, bool: 4738 | ioBroker id: 'tr-064.0.devices.Home-Fritz-Repeater-5GHZ'
        18:44:11.053	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet" does not exist
        18:44:11.287	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 146 (type: 2) -> number: 0, string: 0, bool: 4782 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet'
        18:44:11.289	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet-LAN" does not exist
        18:44:11.308	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 146 (type: 2) -> number: 0, string: 0, bool: 4782 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet'
        18:44:11.310	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet-LAN" does not exist
        18:44:11.599	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 147 (type: 2) -> number: 0, string: 0, bool: 4778 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet-LAN'
        18:44:11.600	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-TV-Schlafzimmer-SAT" does not exist
        18:44:11.605	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 147 (type: 2) -> number: 0, string: 0, bool: 4778 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet-LAN'
        18:44:11.605	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-TV-Schlafzimmer-SAT" does not exist
        18:44:11.771	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 148 (type: 2) -> number: 0, string: 0, bool: 1617 | ioBroker id: 'tr-064.0.devices.Home-TV-Schlafzimmer-SAT'
        18:44:11.778	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1C5B.4.LEVEL" does not exist
        18:44:11.800	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 148 (type: 2) -> number: 0, string: 0, bool: 1617 | ioBroker id: 'tr-064.0.devices.Home-TV-Schlafzimmer-SAT'
        18:44:11.800	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1C5B.4.LEVEL" does not exist
        18:44:11.953	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 149 (type: 0) -> number: 831, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1C5B.4.LEVEL'
        18:44:11.954	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1B2A.4.LEVEL" does not exist
        18:44:11.955	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 149 (type: 0) -> number: 831, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1C5B.4.LEVEL'
        18:44:11.957	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1B2A.4.LEVEL" does not exist
        18:44:12.110	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 150 (type: 0) -> number: 1170, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1B2A.4.LEVEL'
        18:44:12.111	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.000855699C43AF.4.STATE" does not exist
        18:44:12.113	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 150 (type: 0) -> number: 1170, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1B2A.4.LEVEL'
        18:44:12.114	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.000855699C43AF.4.STATE" does not exist
        18:44:12.268	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 151 (type: 2) -> number: 0, string: 0, bool: 775 | ioBroker id: 'hm-rpc.2.000855699C43AF.4.STATE'
        18:44:12.272	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-iPadMini" does not exist
        18:44:12.275	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 151 (type: 2) -> number: 0, string: 0, bool: 775 | ioBroker id: 'hm-rpc.2.000855699C43AF.4.STATE'
        18:44:12.279	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-iPadMini" does not exist
        18:44:12.511	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 153 (type: 2) -> number: 0, string: 0, bool: 1705 | ioBroker id: 'tr-064.0.devices.Home-iPadMini'
        18:44:12.512	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Mike-iPhone-7plus" does not exist
        18:44:12.560	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 153 (type: 2) -> number: 0, string: 0, bool: 1705 | ioBroker id: 'tr-064.0.devices.Home-iPadMini'
        18:44:12.561	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Mike-iPhone-7plus" does not exist
        18:44:14.010	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 155 (type: 2) -> number: 0, string: 0, bool: 27568 | ioBroker id: 'tr-064.0.devices.Mike-iPhone-7plus'
        18:44:14.011	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116570356042.state" does not exist
        18:44:14.028	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 155 (type: 2) -> number: 0, string: 0, bool: 27568 | ioBroker id: 'tr-064.0.devices.Mike-iPhone-7plus'
        18:44:14.029	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116570356042.state" does not exist
        18:44:14.814	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 196 (type: 2) -> number: 0, string: 0, bool: 15562 | ioBroker id: 'fritzdect.0.DECT200_116570356042.state'
        18:44:14.814	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-ioBroker" does not exist
        18:44:14.839	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 196 (type: 2) -> number: 0, string: 0, bool: 15562 | ioBroker id: 'fritzdect.0.DECT200_116570356042.state'
        18:44:14.840	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-ioBroker" does not exist
        18:44:15.405	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 158 (type: 2) -> number: 0, string: 0, bool: 4734 | ioBroker id: 'tr-064.0.devices.Home-ioBroker'
        18:44:15.406	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power" does not exist
        18:44:15.441	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 158 (type: 2) -> number: 0, string: 0, bool: 4734 | ioBroker id: 'tr-064.0.devices.Home-ioBroker'
        18:44:15.449	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power" does not exist
        18:44:15.582	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 197 (type: 0) -> number: 4, string: 0, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power'
        18:44:15.583	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power.state" does not exist
        18:44:15.584	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 197 (type: 0) -> number: 4, string: 0, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power'
        18:44:15.585	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power.state" does not exist
        18:44:15.703	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 198 (type: 1) -> number: 0, string: 1, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power.state'
        18:44:15.704	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.state" does not exist
        18:44:15.740	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 198 (type: 1) -> number: 0, string: 1, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power.state'
        18:44:15.741	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.state" does not exist
        18:44:15.830	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 199 (type: 2) -> number: 0, string: 0, bool: 15 | ioBroker id: 'FRITZ!DECT 200 #2.state'
        18:44:15.849	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150211.POWER" does not exist
        18:44:15.898	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 199 (type: 2) -> number: 0, string: 0, bool: 15 | ioBroker id: 'FRITZ!DECT 200 #2.state'
        18:44:15.912	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150211.POWER" does not exist
        18:44:16.090	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 247 (type: 1) -> number: 0, string: 1039, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150211.POWER'
        18:44:16.091	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150603.POWER" does not exist
        18:44:16.127	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 247 (type: 1) -> number: 0, string: 1039, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150211.POWER'
        18:44:16.128	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150603.POWER" does not exist
        18:44:16.311	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 248 (type: 1) -> number: 0, string: 1045, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150603.POWER'
        18:44:16.312	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "0_userdata.0.kW_Gesamt" does not exist
        18:44:16.349	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 248 (type: 1) -> number: 0, string: 1045, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150603.POWER'
        18:44:16.349	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "0_userdata.0.kW_Gesamt" does not exist
        18:44:18.926	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 250 (type: 0) -> number: 41422, string: 0, bool: 0 | ioBroker id: '0_userdata.0.kW_Gesamt'
        18:44:18.936	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER" does not exist
        18:44:19.066	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 250 (type: 0) -> number: 41422, string: 0, bool: 0 | ioBroker id: '0_userdata.0.kW_Gesamt'
        18:44:19.066	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER" does not exist
        18:44:21.690	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 255 (type: 1) -> number: 0, string: 57947, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER'
        18:44:21.712	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: 45 Objects found, that not exist anymore in ioBroker, sum of items in tables: 1.686.591
        18:44:22.548	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 255 (type: 1) -> number: 0, string: 57947, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER'
        18:44:22.550	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: 45 Objects found, that not exist anymore in ioBroker, sum of items in tables: 1.686.591
        

        ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

        A 1 Antwort Letzte Antwort
        0
        • M mike2712

          @andi2055
          Super, danke, wollte da immer schon mal etwas aufräumen, kenne mich im Bereich PHPmyAdmin leider gar nicht aus.
          Hier ist das Ergebnis von dem Script, was müssten den für ein sinnvolles aufräumen die nächsten Schritte sein?

          Würde das erweiterte Script von Dir alles überflüssige aus der Datenbank löschen? Wie mache ich den ein Backup so das ich meine archivierten Daten nicht verlieren würde?

          18:41:55.180	info	javascript.0 (158) Stop script script.js.Allgemein.SQL_TEST
          18:41:55.183	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 195 (type: 0) -> number: 140294, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116570356042.power'
          18:41:55.183	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.present" does not exist
          18:41:55.330	info	javascript.0 (158) Start javascript script.js.Allgemein.SQL_TEST
          18:41:55.354	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          18:41:55.391	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.0.MEQ0375275.1.LEVEL" does not exist
          18:41:56.238	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 34 (type: 0) -> number: 26646, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0375275.1.LEVEL'
          18:41:56.239	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "sonoff.0.Sonoff-Steckdose-51.POWER" does not exist
          18:41:56.413	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 77 (type: 2) -> number: 0, string: 0, bool: 4789 | ioBroker id: 'fritzdect.0.DECT200_087610475216.present'
          18:41:56.414	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.state" does not exist
          18:41:56.452	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 44 (type: 2) -> number: 0, string: 0, bool: 4953 | ioBroker id: 'sonoff.0.Sonoff-Steckdose-51.POWER'
          18:41:56.455	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116570356042.power" does not exist
          18:42:02.852	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 195 (type: 0) -> number: 140294, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116570356042.power'
          18:42:02.853	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.present" does not exist
          18:42:03.095	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 78 (type: 2) -> number: 0, string: 0, bool: 36314 | ioBroker id: 'fritzdect.0.DECT200_087610475216.state'
          18:42:03.096	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.power" does not exist
          18:42:03.223	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 77 (type: 2) -> number: 0, string: 0, bool: 4789 | ioBroker id: 'fritzdect.0.DECT200_087610475216.present'
          18:42:03.228	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.state" does not exist
          18:42:06.359	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 78 (type: 2) -> number: 0, string: 0, bool: 36314 | ioBroker id: 'fritzdect.0.DECT200_087610475216.state'
          18:42:06.360	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.power" does not exist
          18:42:24.748	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 79 (type: 0) -> number: 270994, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.power'
          18:42:24.749	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.temp" does not exist
          18:42:25.869	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 79 (type: 0) -> number: 270994, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.power'
          18:42:25.870	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_087610475216.temp" does not exist
          18:42:27.476	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 80 (type: 0) -> number: 30132, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.temp'
          18:42:27.477	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.temp" does not exist
          18:42:27.667	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 80 (type: 0) -> number: 30132, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_087610475216.temp'
          18:42:27.668	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.temp" does not exist
          18:42:29.786	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 90 (type: 0) -> number: 39412, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.temp'
          18:42:29.788	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65537.lightbulb.state" does not exist
          18:42:29.975	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 90 (type: 0) -> number: 39412, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.temp'
          18:42:29.976	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65537.lightbulb.state" does not exist
          18:42:30.358	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 102 (type: 2) -> number: 0, string: 0, bool: 2178 | ioBroker id: 'tradfri.0.L-65537.lightbulb.state'
          18:42:30.358	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65539.lightbulb.state" does not exist
          18:42:30.369	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 102 (type: 2) -> number: 0, string: 0, bool: 2178 | ioBroker id: 'tradfri.0.L-65537.lightbulb.state'
          18:42:30.370	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65539.lightbulb.state" does not exist
          18:42:30.593	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 103 (type: 2) -> number: 0, string: 0, bool: 2177 | ioBroker id: 'tradfri.0.L-65539.lightbulb.state'
          18:42:30.594	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131073.state" does not exist
          18:42:30.615	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 103 (type: 2) -> number: 0, string: 0, bool: 2177 | ioBroker id: 'tradfri.0.L-65539.lightbulb.state'
          18:42:30.616	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131073.state" does not exist
          18:42:30.741	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 104 (type: 2) -> number: 0, string: 0, bool: 2246 | ioBroker id: 'tradfri.0.G-131073.state'
          18:42:30.742	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65541.lightbulb.state" does not exist
          18:42:30.760	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 104 (type: 2) -> number: 0, string: 0, bool: 2246 | ioBroker id: 'tradfri.0.G-131073.state'
          18:42:30.761	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.L-65541.lightbulb.state" does not exist
          18:42:30.930	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 105 (type: 2) -> number: 0, string: 0, bool: 2176 | ioBroker id: 'tradfri.0.L-65541.lightbulb.state'
          18:42:30.931	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131074.state" does not exist
          18:42:30.934	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 105 (type: 2) -> number: 0, string: 0, bool: 2176 | ioBroker id: 'tradfri.0.L-65541.lightbulb.state'
          18:42:30.935	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131074.state" does not exist
          18:42:31.119	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 106 (type: 2) -> number: 0, string: 0, bool: 2248 | ioBroker id: 'tradfri.0.G-131074.state'
          18:42:31.122	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131075.state" does not exist
          18:42:31.138	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 106 (type: 2) -> number: 0, string: 0, bool: 2248 | ioBroker id: 'tradfri.0.G-131074.state'
          18:42:31.138	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tradfri.0.G-131075.state" does not exist
          18:42:31.402	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 107 (type: 2) -> number: 0, string: 0, bool: 2167 | ioBroker id: 'tradfri.0.G-131075.state'
          18:42:31.403	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Allgemein.Handy_Anwesend" does not exist
          18:42:31.410	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 107 (type: 2) -> number: 0, string: 0, bool: 2167 | ioBroker id: 'tradfri.0.G-131075.state'
          18:42:31.412	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Allgemein.Handy_Anwesend" does not exist
          18:42:31.936	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 110 (type: 2) -> number: 0, string: 0, bool: 4795 | ioBroker id: 'MeineObjekte.0.Allgemein.Handy_Anwesend'
          18:42:31.937	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.state" does not exist
          18:42:31.975	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 110 (type: 2) -> number: 0, string: 0, bool: 4795 | ioBroker id: 'MeineObjekte.0.Allgemein.Handy_Anwesend'
          18:42:31.976	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.state" does not exist
          18:42:34.222	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 112 (type: 2) -> number: 0, string: 0, bool: 33197 | ioBroker id: 'fritzdect.0.DECT200_116300011906.state'
          18:42:34.222	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.power" does not exist
          18:42:34.236	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 112 (type: 2) -> number: 0, string: 0, bool: 33197 | ioBroker id: 'fritzdect.0.DECT200_116300011906.state'
          18:42:34.237	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300011906.power" does not exist
          18:43:04.825	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 113 (type: 0) -> number: 350196, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300011906.power'
          18:43:04.827	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM" does not exist
          18:43:05.480	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 113 (type: 0) -> number: 350196, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300011906.power'
          18:43:05.480	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM" does not exist
          18:43:05.635	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 187 (type: 1) -> number: 4, string: 1, bool: 0 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM'
          18:43:05.636	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.state" does not exist
          18:43:05.789	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 187 (type: 1) -> number: 4, string: 1, bool: 0 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Berechnung.Zeit_Soll_MM'
          18:43:05.789	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.state" does not exist
          18:43:08.464	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 116 (type: 2) -> number: 0, string: 0, bool: 33178 | ioBroker id: 'fritzdect.0.DECT200_116300020276.state'
          18:43:08.465	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.power" does not exist
          18:43:08.520	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 116 (type: 2) -> number: 0, string: 0, bool: 33178 | ioBroker id: 'fritzdect.0.DECT200_116300020276.state'
          18:43:08.520	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116300020276.power" does not exist
          18:44:05.666	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 117 (type: 0) -> number: 496674, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.power'
          18:44:05.668	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Sonoff-Steckdose-51" does not exist
          18:44:07.549	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 117 (type: 0) -> number: 496674, string: 0, bool: 0 | ioBroker id: 'fritzdect.0.DECT200_116300020276.power'
          18:44:07.550	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Sonoff-Steckdose-51" does not exist
          18:44:07.989	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 123 (type: 2) -> number: 0, string: 0, bool: 4765 | ioBroker id: 'tr-064.0.devices.Sonoff-Steckdose-51'
          18:44:07.990	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer" does not exist
          18:44:08.261	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 123 (type: 2) -> number: 0, string: 0, bool: 4765 | ioBroker id: 'tr-064.0.devices.Sonoff-Steckdose-51'
          18:44:08.261	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer" does not exist
          18:44:08.440	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 128 (type: 2) -> number: 0, string: 0, bool: 1685 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer'
          18:44:08.441	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.Count-24h" does not exist
          18:44:08.458	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 128 (type: 2) -> number: 0, string: 0, bool: 1685 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Arbeitszimmer'
          18:44:08.459	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.Count-24h" does not exist
          18:44:08.495	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 181 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.Count-24h'
          18:44:08.496	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h" does not exist
          18:44:08.508	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 181 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.Count-24h'
          18:44:08.509	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h" does not exist
          18:44:08.573	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 182 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h'
          18:44:08.574	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Nutzung" does not exist
          18:44:08.615	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 182 (type: 1) -> number: 0, string: 5, bool: 0 | ioBroker id: 'MeineObjekte.0.Counter.PC-Tanel.IP-Count-24h'
          18:44:08.616	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "MeineObjekte.0.Tanel.Internet.Nutzung" does not exist
          18:44:08.675	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 188 (type: 1) -> number: 0, string: 1, bool: 4 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Nutzung'
          18:44:08.675	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rega.0.2115" does not exist
          18:44:08.696	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 188 (type: 1) -> number: 0, string: 1, bool: 4 | ioBroker id: 'MeineObjekte.0.Tanel.Internet.Nutzung'
          18:44:08.696	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rega.0.2115" does not exist
          18:44:10.044	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 189 (type: 2) -> number: 0, string: 0, bool: 20869 | ioBroker id: 'hm-rega.0.2115'
          18:44:10.045	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Kueche" does not exist
          18:44:10.066	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 189 (type: 2) -> number: 0, string: 0, bool: 20869 | ioBroker id: 'hm-rega.0.2115'
          18:44:10.067	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Echo-Dot-Kueche" does not exist
          18:44:10.671	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 138 (type: 2) -> number: 0, string: 0, bool: 4753 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Kueche'
          18:44:10.672	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Fritz-Repeater-5GHZ" does not exist
          18:44:10.674	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 138 (type: 2) -> number: 0, string: 0, bool: 4753 | ioBroker id: 'tr-064.0.devices.Home-Echo-Dot-Kueche'
          18:44:10.674	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-Fritz-Repeater-5GHZ" does not exist
          18:44:11.037	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 140 (type: 2) -> number: 0, string: 0, bool: 4738 | ioBroker id: 'tr-064.0.devices.Home-Fritz-Repeater-5GHZ'
          18:44:11.038	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet" does not exist
          18:44:11.052	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 140 (type: 2) -> number: 0, string: 0, bool: 4738 | ioBroker id: 'tr-064.0.devices.Home-Fritz-Repeater-5GHZ'
          18:44:11.053	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet" does not exist
          18:44:11.287	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 146 (type: 2) -> number: 0, string: 0, bool: 4782 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet'
          18:44:11.289	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet-LAN" does not exist
          18:44:11.308	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 146 (type: 2) -> number: 0, string: 0, bool: 4782 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet'
          18:44:11.310	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-HP-LaserJet-LAN" does not exist
          18:44:11.599	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 147 (type: 2) -> number: 0, string: 0, bool: 4778 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet-LAN'
          18:44:11.600	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-TV-Schlafzimmer-SAT" does not exist
          18:44:11.605	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 147 (type: 2) -> number: 0, string: 0, bool: 4778 | ioBroker id: 'tr-064.0.devices.Home-HP-LaserJet-LAN'
          18:44:11.605	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-TV-Schlafzimmer-SAT" does not exist
          18:44:11.771	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 148 (type: 2) -> number: 0, string: 0, bool: 1617 | ioBroker id: 'tr-064.0.devices.Home-TV-Schlafzimmer-SAT'
          18:44:11.778	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1C5B.4.LEVEL" does not exist
          18:44:11.800	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 148 (type: 2) -> number: 0, string: 0, bool: 1617 | ioBroker id: 'tr-064.0.devices.Home-TV-Schlafzimmer-SAT'
          18:44:11.800	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1C5B.4.LEVEL" does not exist
          18:44:11.953	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 149 (type: 0) -> number: 831, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1C5B.4.LEVEL'
          18:44:11.954	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1B2A.4.LEVEL" does not exist
          18:44:11.955	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 149 (type: 0) -> number: 831, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1C5B.4.LEVEL'
          18:44:11.957	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.0008D8A9AC1B2A.4.LEVEL" does not exist
          18:44:12.110	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 150 (type: 0) -> number: 1170, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1B2A.4.LEVEL'
          18:44:12.111	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.000855699C43AF.4.STATE" does not exist
          18:44:12.113	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 150 (type: 0) -> number: 1170, string: 0, bool: 0 | ioBroker id: 'hm-rpc.2.0008D8A9AC1B2A.4.LEVEL'
          18:44:12.114	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "hm-rpc.2.000855699C43AF.4.STATE" does not exist
          18:44:12.268	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 151 (type: 2) -> number: 0, string: 0, bool: 775 | ioBroker id: 'hm-rpc.2.000855699C43AF.4.STATE'
          18:44:12.272	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-iPadMini" does not exist
          18:44:12.275	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 151 (type: 2) -> number: 0, string: 0, bool: 775 | ioBroker id: 'hm-rpc.2.000855699C43AF.4.STATE'
          18:44:12.279	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-iPadMini" does not exist
          18:44:12.511	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 153 (type: 2) -> number: 0, string: 0, bool: 1705 | ioBroker id: 'tr-064.0.devices.Home-iPadMini'
          18:44:12.512	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Mike-iPhone-7plus" does not exist
          18:44:12.560	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 153 (type: 2) -> number: 0, string: 0, bool: 1705 | ioBroker id: 'tr-064.0.devices.Home-iPadMini'
          18:44:12.561	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Mike-iPhone-7plus" does not exist
          18:44:14.010	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 155 (type: 2) -> number: 0, string: 0, bool: 27568 | ioBroker id: 'tr-064.0.devices.Mike-iPhone-7plus'
          18:44:14.011	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116570356042.state" does not exist
          18:44:14.028	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 155 (type: 2) -> number: 0, string: 0, bool: 27568 | ioBroker id: 'tr-064.0.devices.Mike-iPhone-7plus'
          18:44:14.029	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "fritzdect.0.DECT200_116570356042.state" does not exist
          18:44:14.814	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 196 (type: 2) -> number: 0, string: 0, bool: 15562 | ioBroker id: 'fritzdect.0.DECT200_116570356042.state'
          18:44:14.814	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-ioBroker" does not exist
          18:44:14.839	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 196 (type: 2) -> number: 0, string: 0, bool: 15562 | ioBroker id: 'fritzdect.0.DECT200_116570356042.state'
          18:44:14.840	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "tr-064.0.devices.Home-ioBroker" does not exist
          18:44:15.405	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 158 (type: 2) -> number: 0, string: 0, bool: 4734 | ioBroker id: 'tr-064.0.devices.Home-ioBroker'
          18:44:15.406	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power" does not exist
          18:44:15.441	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 158 (type: 2) -> number: 0, string: 0, bool: 4734 | ioBroker id: 'tr-064.0.devices.Home-ioBroker'
          18:44:15.449	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power" does not exist
          18:44:15.582	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 197 (type: 0) -> number: 4, string: 0, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power'
          18:44:15.583	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power.state" does not exist
          18:44:15.584	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 197 (type: 0) -> number: 4, string: 0, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power'
          18:44:15.585	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.power.state" does not exist
          18:44:15.703	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 198 (type: 1) -> number: 0, string: 1, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power.state'
          18:44:15.704	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.state" does not exist
          18:44:15.740	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 198 (type: 1) -> number: 0, string: 1, bool: 0 | ioBroker id: 'FRITZ!DECT 200 #2.power.state'
          18:44:15.741	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "FRITZ!DECT 200 #2.state" does not exist
          18:44:15.830	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 199 (type: 2) -> number: 0, string: 0, bool: 15 | ioBroker id: 'FRITZ!DECT 200 #2.state'
          18:44:15.849	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150211.POWER" does not exist
          18:44:15.898	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 199 (type: 2) -> number: 0, string: 0, bool: 15 | ioBroker id: 'FRITZ!DECT 200 #2.state'
          18:44:15.912	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150211.POWER" does not exist
          18:44:16.090	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 247 (type: 1) -> number: 0, string: 1039, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150211.POWER'
          18:44:16.091	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150603.POWER" does not exist
          18:44:16.127	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 247 (type: 1) -> number: 0, string: 1039, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150211.POWER'
          18:44:16.128	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.11150603.POWER" does not exist
          18:44:16.311	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 248 (type: 1) -> number: 0, string: 1045, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150603.POWER'
          18:44:16.312	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "0_userdata.0.kW_Gesamt" does not exist
          18:44:16.349	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 248 (type: 1) -> number: 0, string: 1045, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.11150603.POWER'
          18:44:16.349	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "0_userdata.0.kW_Gesamt" does not exist
          18:44:18.926	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 250 (type: 0) -> number: 41422, string: 0, bool: 0 | ioBroker id: '0_userdata.0.kW_Gesamt'
          18:44:18.936	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER" does not exist
          18:44:19.066	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 250 (type: 0) -> number: 41422, string: 0, bool: 0 | ioBroker id: '0_userdata.0.kW_Gesamt'
          18:44:19.066	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: Object "envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER" does not exist
          18:44:21.690	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 255 (type: 1) -> number: 0, string: 57947, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER'
          18:44:21.712	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: 45 Objects found, that not exist anymore in ioBroker, sum of items in tables: 1.686.591
          18:44:22.548	info	javascript.0 (158) script.js.Allgemein.SQL_TEST: DB id: 255 (type: 1) -> number: 0, string: 57947, bool: 0 | ioBroker id: 'envertech-pv.0.data.gateway_90013936.260W-Süd-1.POWER'
          18:44:22.550	warn	javascript.0 (158) script.js.Allgemein.SQL_TEST: 45 Objects found, that not exist anymore in ioBroker, sum of items in tables: 1.686.591
          
          A Offline
          A Offline
          andi2055
          schrieb am zuletzt editiert von
          #21

          @mike2712
          wenn du so wenig Kenntnisse hast, dann würde ich ganz ehrlich raten auf das Löschen zu verzichten.
          Besser die paar unnötigen Daten als dass etwas schief läuft...
          Zum Löschen musst du im Skript die Konstante auf true setzen. Alles auf eigene Gefahr!

          Für Backup kannst du auch ioBroker backup Adapter verwenden

          M 1 Antwort Letzte Antwort
          0
          • A andi2055

            @mike2712
            wenn du so wenig Kenntnisse hast, dann würde ich ganz ehrlich raten auf das Löschen zu verzichten.
            Besser die paar unnötigen Daten als dass etwas schief läuft...
            Zum Löschen musst du im Skript die Konstante auf true setzen. Alles auf eigene Gefahr!

            Für Backup kannst du auch ioBroker backup Adapter verwenden

            M Offline
            M Offline
            mike2712
            schrieb am zuletzt editiert von
            #22

            @andi2055 Danke, ja iobroker backup ist selbstverständlich vorhanden, es geht mir um die noch gültigen Einträge in der Datenbank (diese werden mit dem Adapter ja nicht gesichert), da habe ich kein Plan, ich wüsste auch nicht einmal wie ich es richtig händisch löschen müsste in der Datenbank, ich sehe die Datenpunkte, wenn ich einen Datenpunkt lösche, werden dann alle Daten zu diesem Datenpunkt gelöscht, aber händisch ist das sicher wie das aussieht auch sehr mühselig.
            Was kann passieren wenn es mit dem scipt schief geht? Das ich die Daten verliere die in der Datenbank stehen, kann man in der Datenbank selbst ein komplette Update machen, habe versucht die Daten zu exportieren, aber das dauert ewig.

            ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

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

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

              ich habe dein Script ums Löschen von nicht mehr existierenden Datenpunkten erweitert.
              So konnte ich bei mir über 1Mio überflüssige Datensätze löschen.
              Vielleicht kann es jemand gebrauchen.
              Verwendung auf eigene Gefahr! Vorher Backup anfertigen

              Öhm, Sehe ich das richtig das das Skript nur Daten von nicht mehr existierenden Datenpunkten löscht?
              Ich würde auch gerne Datenpunkte löschen bei denen die SQL-Protokollierung deaktiviert wurde.

              Ich fang schon mal an zu suchen wie man das ermitteln kann ...

              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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

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

                Und ich Antworte mir selbst:
                Hier ist die Version die danach geht ob die Protokollierung per SQL aktiv ist.
                Ist diese nicht (mehr) aktiv so taucht diese als zu löschen auf.
                Gelöscht wird wie bisher auch wenn oben
                const activate_delete = false; auf true gesetzt wird

                Benutzen auf eigene Gefahr, Verbesserungsvorschläge Willkommen. Eventuell braucht das Skript langsam mal eine Versionierung Habe mal einen kleinen Header dazu gesetzt mit den Änderungen

                // SQL_Delete_Dead_Objects
                // V0.3
                //
                // 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
                
                
                async function wartung() {
                    try {
                 
                        // Hier das löschen einschalten! Sonst nur Trocken-Test
                        const activate_delete = false;
                
                
                        // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist:
                        let datapointsActiveArray = new Array();
                        let datapointsActiceStrings = "";
                        await sendTo('sql.0', 'getEnabledDPs', {}, function (result) {
                            Object.entries(result).forEach((entry) => {
                                const [key, value] = entry;
                                // console.log(`${key}`);
                                datapointsActiceStrings = datapointsActiceStrings + `${key}` + ";";
                                });
                            //console.log(datapointsActiceStrings);
                            datapointsActiveArray = datapointsActiceStrings.split(';');
                        });
                        
                        // alle Datenpunkte aus Db holen
                        let datapoints = await getQueryResult(`SELECT * FROM iobroker.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 * FROM iobroker.ts_bool WHERE id = ${datapoint.id}`);
                                    if (booleanTableItems && Object.keys(booleanTableItems).length > 0) {
                                        countBool = Object.keys(booleanTableItems).length;
                                        if (activate_delete) { 
                                            sendTo('sql.0', 'query', `DELETE FROM iobroker.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));
                                                }
                                            });
                                        }
                                    }
                 
                                    // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                                    let countNumber = 0;
                                    let numberTableItems = await getQueryResult(`SELECT * FROM iobroker.ts_number WHERE id = ${datapoint.id}`);
                                    if (numberTableItems && Object.keys(numberTableItems).length > 0) {
                                        countNumber = Object.keys(numberTableItems).length;
                                        if (activate_delete) { 
                                            sendTo('sql.0', 'query', `DELETE FROM iobroker.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));
                                                }
                                            });
                                        }
                                    }
                 
                                    // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                                    let countString = 0;
                                    let stringTableItems = await getQueryResult(`SELECT * FROM iobroker.ts_string WHERE id = ${datapoint.id}`);
                                    if (stringTableItems && Object.keys(stringTableItems).length > 0) {
                                        countString = Object.keys(stringTableItems).length;
                                        if (activate_delete) { 
                                            sendTo('sql.0', 'query', `DELETE FROM iobroker.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));
                                                }
                                            });
                                        }
                                    }
                 
                                    if (activate_delete) { 
                                        sendTo('sql.0', 'query', `DELETE FROM iobroker.datapoints WHERE id = ${datapoint.id}`, function (result) {
                                            if (result.error) {
                                                console.error(result.error);
                                            } else {
                                                // show result
                                                console.log('Rows: ' + JSON.stringify(result.result));
                                            }
                                        });
                                    }
                 
                                    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, ".")}`);
                        }
                    } 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.0', 'query', query, function (result) {
                            if (!result.error) {
                                resolve(result.result);
                            } else {
                                resolve(null);
                            }
                        });
                    });
                }
                 
                wartung();
                

                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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                1 Antwort Letzte Antwort
                1
                • bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #25

                  @bananajoe
                  Habe das Script als js eingefügt und gestartet.
                  Es tut sich gar nichts; absolut nichts im log.

                  Muss man da irgendwas beachten ?


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  BananaJoeB 1 Antwort Letzte Antwort
                  0
                  • bahnuhrB bahnuhr

                    @bananajoe
                    Habe das Script als js eingefügt und gestartet.
                    Es tut sich gar nichts; absolut nichts im log.

                    Muss man da irgendwas beachten ?

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

                    @bahnuhr also nicht mal einen Fehler oder so?
                    da sollte unten doch stehen das er das Skript gestartet hat - und dann kommt nichts?
                    Die Zusammenfassung sollte auf jeden Fall kommen (und wenn die 0 ist).

                    Sind Log-Ausgaben als Warnung.

                    8532a54e-9bf6-4657-bb23-067f7c007dcc-image.png

                    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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    bahnuhrB 1 Antwort Letzte Antwort
                    0
                    • bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #27

                      @bananajoe

                      Wenn ich das Script starte kommt unten im log:
                      6c4b21ef-ce37-45f7-89d3-81254e78db29-image.png

                      Sonst nix.

                      manches ist auch rot unterstrichen:
                      a7c74bbe-dc3b-4854-9d25-4446997dfbac-image.png

                      850d2054-ae7f-40ab-b230-a58c92b7d344-image.png

                      komisch


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • BananaJoeB BananaJoe

                        @bahnuhr also nicht mal einen Fehler oder so?
                        da sollte unten doch stehen das er das Skript gestartet hat - und dann kommt nichts?
                        Die Zusammenfassung sollte auf jeden Fall kommen (und wenn die 0 ist).

                        Sind Log-Ausgaben als Warnung.

                        8532a54e-9bf6-4657-bb23-067f7c007dcc-image.png

                        bahnuhrB Online
                        bahnuhrB Online
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #28

                        @bananajoe
                        Und bei sql ist folgendes in der config:
                        d0000acf-1fe9-45e4-acd4-43edc0f3a9bd-image.png


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        BananaJoeB 1 Antwort Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          @bananajoe
                          Und bei sql ist folgendes in der config:
                          d0000acf-1fe9-45e4-acd4-43edc0f3a9bd-image.png

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

                          @bahnuhr wie heisst denn deine Instanz? sql.0 ? Laut deinem Screehshot schon.
                          Das steht nämlich so fest verdrahtet im Skript. (noch)
                          Mit SQLite habe ich das auch nicht getestet, spricht aber eigentlich nichts dagegen das es funktionieren sollte.

                          sonst nimm mal in Zeile 23 die // vorne weg, dann müsste er die im Log unten die ganzen Datenpunkte auflisten

                          Nachtrag: Die letzte Zeile hast du mit kopiert, oder?

                          wartung();
                          

                          Die ruft die Funktion ja erst auf

                          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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                          bahnuhrB 2 Antworten Letzte Antwort
                          0
                          • BananaJoeB BananaJoe

                            @bahnuhr wie heisst denn deine Instanz? sql.0 ? Laut deinem Screehshot schon.
                            Das steht nämlich so fest verdrahtet im Skript. (noch)
                            Mit SQLite habe ich das auch nicht getestet, spricht aber eigentlich nichts dagegen das es funktionieren sollte.

                            sonst nimm mal in Zeile 23 die // vorne weg, dann müsste er die im Log unten die ganzen Datenpunkte auflisten

                            Nachtrag: Die letzte Zeile hast du mit kopiert, oder?

                            wartung();
                            

                            Die ruft die Funktion ja erst auf

                            bahnuhrB Online
                            bahnuhrB Online
                            bahnuhr
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #30

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

                            sql.0 ?

                            c75e9189-c703-4922-b606-b7b2cb5f2102-image.png

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

                            Zeile 23 die //

                            Hatte ich schon; alle DP werden im log aufgelistet.
                            Es kommen da schon ca. 100 (nicht gezählt)

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

                            Nachtrag: Die letzte Zeile hast du mit kopiert, oder?

                            Na sicher, Script startet ja auch.
                            Und die DP werden im log wenn Zeile 23 aktiv auch aufgelistet.
                            Und wenn Zeile 26 (auc log) aktiv ist, das funktioniert auch.

                            Ich glaube es liegt an dieser Zuweisung:

                                   let datapoints = await getQueryResult(`SELECT * FROM iobroker.datapoints`);
                            

                            Das scheint nicht zu klappen


                            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                            Danke.
                            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                            ScreenToGif :https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • BananaJoeB BananaJoe

                              @bahnuhr wie heisst denn deine Instanz? sql.0 ? Laut deinem Screehshot schon.
                              Das steht nämlich so fest verdrahtet im Skript. (noch)
                              Mit SQLite habe ich das auch nicht getestet, spricht aber eigentlich nichts dagegen das es funktionieren sollte.

                              sonst nimm mal in Zeile 23 die // vorne weg, dann müsste er die im Log unten die ganzen Datenpunkte auflisten

                              Nachtrag: Die letzte Zeile hast du mit kopiert, oder?

                              wartung();
                              

                              Die ruft die Funktion ja erst auf

                              bahnuhrB Online
                              bahnuhrB Online
                              bahnuhr
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #31

                              @bananajoe

                              so ich habs:

                              Die Zeile 31 läuft nicht:
                              falsch ist:
                              let datapoints = await getQueryResult(SELECT * FROM iobroker.datapoints);

                              richtig ist:
                              let datapoints = await getQueryResult(SELECT * FROM datapoints);

                              Jetzt kommt bei mir im log auch sowas:

                              javascript.0
                              2023-02-01 21:12:53.124	warn	script.js.Scripte.test9: 15 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0
                              
                              javascript.0
                              2023-02-01 21:12:53.104	warn	script.js.Scripte.test9: DB id: 280 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ2092890.4.ACTUAL_TEMPERATURE'
                              
                              javascript.0
                              2023-02-01 21:12:53.078	warn	script.js.Scripte.test9: DB id: 242 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'zigbee.0.00124b00246e6a5d.co2'
                              
                              javascript.0
                              2023-02-01 21:12:53.054	warn	script.js.Scripte.test9: DB id: 241 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.0.System.Sonstige.Tablet_Surface_Akku'
                              
                              javascript.0
                              2023-02-01 21:12:53.031	warn	script.js.Scripte.test9: DB id: 228 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'alias.0.HM.Sonstige.Duty_cycle.Wert'
                              
                              javascript.0
                              2023-02-01 21:12:53.008	warn	script.js.Scripte.test9: DB id: 227 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30053_Total_system_power'
                              
                              javascript.0
                              2023-02-01 21:12:52.970	warn	script.js.Scripte.test9: DB id: 226 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30017_Phase_3_active_power'
                              
                              javascript.0
                              2023-02-01 21:12:52.898	warn	script.js.Scripte.test9: DB id: 225 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30015_Phase_2_active_power'
                              
                              javascript.0
                              2023-02-01 21:12:52.868	warn	script.js.Scripte.test9: DB id: 224 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30013_Phase_1_active_power'
                              
                              javascript.0
                              2023-02-01 21:12:52.840	warn	script.js.Scripte.test9: DB id: 223 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'libre.0.168e5f9c-3b6c-11ed-b7a7-0242ac110008.graph.connection.glucoseMeasurement.Value'
                              
                              javascript.0
                              2023-02-01 21:12:52.813	warn	script.js.Scripte.test9: DB id: 133 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.PEQ1453161.0.DUTY_CYCLE'
                              
                              javascript.0
                              2023-02-01 21:12:52.788	warn	script.js.Scripte.test9: DB id: 128 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0425576.1.STATE'
                              
                              javascript.0
                              2023-02-01 21:12:52.758	warn	script.js.Scripte.test9: DB id: 126 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0273625.1.STATE'
                              
                              javascript.0
                              2023-02-01 21:12:52.731	warn	script.js.Scripte.test9: DB id: 124 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ0928918.1.STATE'
                              
                              javascript.0
                              2023-02-01 21:12:52.707	warn	script.js.Scripte.test9: DB id: 119 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0031112.1.MOTION'
                              
                              javascript.0
                              2023-02-01 21:12:52.676	warn	script.js.Scripte.test9: DB id: 90 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.0.System.Sonstige.Tablet_Wz_Akku'
                              

                              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                              Danke.
                              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                              ScreenToGif :https://www.screentogif.com/downloads.html

                              BananaJoeB 1 Antwort Letzte Antwort
                              0
                              • bahnuhrB bahnuhr

                                @bananajoe

                                so ich habs:

                                Die Zeile 31 läuft nicht:
                                falsch ist:
                                let datapoints = await getQueryResult(SELECT * FROM iobroker.datapoints);

                                richtig ist:
                                let datapoints = await getQueryResult(SELECT * FROM datapoints);

                                Jetzt kommt bei mir im log auch sowas:

                                javascript.0
                                2023-02-01 21:12:53.124	warn	script.js.Scripte.test9: 15 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0
                                
                                javascript.0
                                2023-02-01 21:12:53.104	warn	script.js.Scripte.test9: DB id: 280 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ2092890.4.ACTUAL_TEMPERATURE'
                                
                                javascript.0
                                2023-02-01 21:12:53.078	warn	script.js.Scripte.test9: DB id: 242 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'zigbee.0.00124b00246e6a5d.co2'
                                
                                javascript.0
                                2023-02-01 21:12:53.054	warn	script.js.Scripte.test9: DB id: 241 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.0.System.Sonstige.Tablet_Surface_Akku'
                                
                                javascript.0
                                2023-02-01 21:12:53.031	warn	script.js.Scripte.test9: DB id: 228 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'alias.0.HM.Sonstige.Duty_cycle.Wert'
                                
                                javascript.0
                                2023-02-01 21:12:53.008	warn	script.js.Scripte.test9: DB id: 227 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30053_Total_system_power'
                                
                                javascript.0
                                2023-02-01 21:12:52.970	warn	script.js.Scripte.test9: DB id: 226 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30017_Phase_3_active_power'
                                
                                javascript.0
                                2023-02-01 21:12:52.898	warn	script.js.Scripte.test9: DB id: 225 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30015_Phase_2_active_power'
                                
                                javascript.0
                                2023-02-01 21:12:52.868	warn	script.js.Scripte.test9: DB id: 224 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'modbus.0.inputRegisters.1.30013_Phase_1_active_power'
                                
                                javascript.0
                                2023-02-01 21:12:52.840	warn	script.js.Scripte.test9: DB id: 223 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'libre.0.168e5f9c-3b6c-11ed-b7a7-0242ac110008.graph.connection.glucoseMeasurement.Value'
                                
                                javascript.0
                                2023-02-01 21:12:52.813	warn	script.js.Scripte.test9: DB id: 133 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.PEQ1453161.0.DUTY_CYCLE'
                                
                                javascript.0
                                2023-02-01 21:12:52.788	warn	script.js.Scripte.test9: DB id: 128 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0425576.1.STATE'
                                
                                javascript.0
                                2023-02-01 21:12:52.758	warn	script.js.Scripte.test9: DB id: 126 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0273625.1.STATE'
                                
                                javascript.0
                                2023-02-01 21:12:52.731	warn	script.js.Scripte.test9: DB id: 124 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ0928918.1.STATE'
                                
                                javascript.0
                                2023-02-01 21:12:52.707	warn	script.js.Scripte.test9: DB id: 119 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0031112.1.MOTION'
                                
                                javascript.0
                                2023-02-01 21:12:52.676	warn	script.js.Scripte.test9: DB id: 90 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.0.System.Sonstige.Tablet_Wz_Akku'
                                
                                BananaJoeB Online
                                BananaJoeB Online
                                BananaJoe
                                Most Active
                                schrieb am zuletzt editiert von
                                #32

                                @bahnuhr ahh, da liegt der Hase im Pfeffer - deine Datenbank heißt nicht "iobroker".
                                Zufällig hieß die bei mir auch so.
                                iobroker.datapoints ist die Tabelle datapoints aus der Datenbank iobroker

                                Also 2 Dinge sollte man noch als Parameter an den Anfang setzen, die Instanz und den Namen der Datenbank - wobei der auch vermutlich weggelassen werden könnte da diese ja schon im SQL-Adapter festgelegt ist.

                                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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                metaxaM 1 Antwort Letzte Antwort
                                0
                                • BananaJoeB BananaJoe

                                  @bahnuhr ahh, da liegt der Hase im Pfeffer - deine Datenbank heißt nicht "iobroker".
                                  Zufällig hieß die bei mir auch so.
                                  iobroker.datapoints ist die Tabelle datapoints aus der Datenbank iobroker

                                  Also 2 Dinge sollte man noch als Parameter an den Anfang setzen, die Instanz und den Namen der Datenbank - wobei der auch vermutlich weggelassen werden könnte da diese ja schon im SQL-Adapter festgelegt ist.

                                  metaxaM Offline
                                  metaxaM Offline
                                  metaxa
                                  schrieb am zuletzt editiert von metaxa
                                  #33

                                  @bananajoe & @Scrounger @andi2055

                                  Lieben Dank, wie lange suche ich schon eine Lösung meine Mio von Leichen los zu werden. Aber irgendwas mache ich falsch mit der Nutzung des Scripts.

                                  1. JS Adapter öffnen
                                  2. neues JS anlegen
                                  3. Script von bananajoe einfügen, speichern
                                  4. Script oben mit der Pfeiltaste starten und warten
                                    .
                                    .
                                    .
                                  5. nix passiert
                                  6. im Log steht nach wie vor:
                                  javascript.0
                                  2023-02-02 00:00:31.728	info	script.js.010_Testen.SQL_Datenpunkte_löschen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                  
                                  javascript.0
                                  2023-02-02 00:00:31.703	info	Start javascript script.js.010_Testen.SQL_Datenpunkte_löschen
                                  
                                  javascript.0
                                  2023-02-02 00:00:31.656	info	Stop script script.js.010_Testen.SQL_Datenpunkte_löschen
                                  

                                  8d36e55d-6aaf-4180-8404-adfbd7dcc773-image.png

                                  Sollte da irgendwo irgendetwas passieren. Ja, ich will vorab einen "Trocken-Test" machen um dann letztendlich den Schritt wagen.

                                  BananaJoeB 1 Antwort Letzte Antwort
                                  0
                                  • metaxaM metaxa

                                    @bananajoe & @Scrounger @andi2055

                                    Lieben Dank, wie lange suche ich schon eine Lösung meine Mio von Leichen los zu werden. Aber irgendwas mache ich falsch mit der Nutzung des Scripts.

                                    1. JS Adapter öffnen
                                    2. neues JS anlegen
                                    3. Script von bananajoe einfügen, speichern
                                    4. Script oben mit der Pfeiltaste starten und warten
                                      .
                                      .
                                      .
                                    5. nix passiert
                                    6. im Log steht nach wie vor:
                                    javascript.0
                                    2023-02-02 00:00:31.728	info	script.js.010_Testen.SQL_Datenpunkte_löschen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                    
                                    javascript.0
                                    2023-02-02 00:00:31.703	info	Start javascript script.js.010_Testen.SQL_Datenpunkte_löschen
                                    
                                    javascript.0
                                    2023-02-02 00:00:31.656	info	Stop script script.js.010_Testen.SQL_Datenpunkte_löschen
                                    

                                    8d36e55d-6aaf-4180-8404-adfbd7dcc773-image.png

                                    Sollte da irgendwo irgendetwas passieren. Ja, ich will vorab einen "Trocken-Test" machen um dann letztendlich den Schritt wagen.

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

                                    @metaxa

                                    Hier mal Version V0.4.
                                    In dieser kannst du oben auch den Datenbank-Namen festlegen.
                                    Im Quelltext war der bisher fest verdrahtet auf iobroker gesetzt, deine heißt aber z.B. ioBroker
                                    Passe das an und teste noch einmal.

                                    // SQL_Delete_Dead_Objects
                                    // V0.3
                                    //
                                    // 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
                                    
                                    // 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';
                                    
                                    // Funktion zum Suchen und Löschen
                                    async function wartung() {
                                        try {
                                             // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist:
                                            let datapointsActiveArray = new Array();
                                            let datapointsActiceStrings = "";
                                            await sendTo(sql_instance, 'getEnabledDPs', {}, function (result) {
                                                Object.entries(result).forEach((entry) => {
                                                    const [key, value] = entry;
                                                    //console.log(`${key}`);
                                                    datapointsActiceStrings = datapointsActiceStrings + `${key}` + ";";
                                                    });
                                                //console.log(datapointsActiceStrings);
                                                datapointsActiveArray = datapointsActiceStrings.split(';');
                                            });
                                            
                                            // alle Datenpunkte aus Db holen
                                            let datapoints = await getQueryResult(`SELECT * 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 * FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`);
                                                        if (booleanTableItems && Object.keys(booleanTableItems).length > 0) {
                                                            countBool = Object.keys(booleanTableItems).length;
                                                            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));
                                                                    }
                                                                });
                                                            }
                                                        }
                                     
                                                        // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                                                        let countNumber = 0;
                                                        let numberTableItems = await getQueryResult(`SELECT * FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`);
                                                        if (numberTableItems && Object.keys(numberTableItems).length > 0) {
                                                            countNumber = Object.keys(numberTableItems).length;
                                                            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));
                                                                    }
                                                                });
                                                            }
                                                        }
                                     
                                                        // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                                                        let countString = 0;
                                                        let stringTableItems = await getQueryResult(`SELECT * FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`);
                                                        if (stringTableItems && Object.keys(stringTableItems).length > 0) {
                                                            countString = Object.keys(stringTableItems).length;
                                                            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));
                                                                    }
                                                                });
                                                            }
                                                        }
                                     
                                                        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));
                                                                }
                                                            });
                                                        }
                                     
                                                        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, ".")}`);
                                            }
                                        } 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();
                                    

                                    In der nächsten Version könnte man eine Meldung ergänzen wenn er keine Datenpunkte gefunden hat - dann wäre vermutlich die Instanz oder der Name der Datenbank falsch.
                                    Eventuell kann man sich den Namen der Datenbank auch vom Adapter holen. Den Namen einfach überall entfernen hatte nicht zum Erfolg geführt.

                                    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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                    metaxaM 1 Antwort Letzte Antwort
                                    2
                                    • BananaJoeB BananaJoe

                                      @metaxa

                                      Hier mal Version V0.4.
                                      In dieser kannst du oben auch den Datenbank-Namen festlegen.
                                      Im Quelltext war der bisher fest verdrahtet auf iobroker gesetzt, deine heißt aber z.B. ioBroker
                                      Passe das an und teste noch einmal.

                                      // SQL_Delete_Dead_Objects
                                      // V0.3
                                      //
                                      // 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
                                      
                                      // 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';
                                      
                                      // Funktion zum Suchen und Löschen
                                      async function wartung() {
                                          try {
                                               // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist:
                                              let datapointsActiveArray = new Array();
                                              let datapointsActiceStrings = "";
                                              await sendTo(sql_instance, 'getEnabledDPs', {}, function (result) {
                                                  Object.entries(result).forEach((entry) => {
                                                      const [key, value] = entry;
                                                      //console.log(`${key}`);
                                                      datapointsActiceStrings = datapointsActiceStrings + `${key}` + ";";
                                                      });
                                                  //console.log(datapointsActiceStrings);
                                                  datapointsActiveArray = datapointsActiceStrings.split(';');
                                              });
                                              
                                              // alle Datenpunkte aus Db holen
                                              let datapoints = await getQueryResult(`SELECT * 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 * FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`);
                                                          if (booleanTableItems && Object.keys(booleanTableItems).length > 0) {
                                                              countBool = Object.keys(booleanTableItems).length;
                                                              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));
                                                                      }
                                                                  });
                                                              }
                                                          }
                                       
                                                          // Daten des Datenpunktes in Tabelle 'ts_number' zählen
                                                          let countNumber = 0;
                                                          let numberTableItems = await getQueryResult(`SELECT * FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`);
                                                          if (numberTableItems && Object.keys(numberTableItems).length > 0) {
                                                              countNumber = Object.keys(numberTableItems).length;
                                                              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));
                                                                      }
                                                                  });
                                                              }
                                                          }
                                       
                                                          // Daten des Datenpunktes in Tabelle 'ts_string' zählen
                                                          let countString = 0;
                                                          let stringTableItems = await getQueryResult(`SELECT * FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`);
                                                          if (stringTableItems && Object.keys(stringTableItems).length > 0) {
                                                              countString = Object.keys(stringTableItems).length;
                                                              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));
                                                                      }
                                                                  });
                                                              }
                                                          }
                                       
                                                          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));
                                                                  }
                                                              });
                                                          }
                                       
                                                          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, ".")}`);
                                              }
                                          } 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();
                                      

                                      In der nächsten Version könnte man eine Meldung ergänzen wenn er keine Datenpunkte gefunden hat - dann wäre vermutlich die Instanz oder der Name der Datenbank falsch.
                                      Eventuell kann man sich den Namen der Datenbank auch vom Adapter holen. Den Namen einfach überall entfernen hatte nicht zum Erfolg geführt.

                                      metaxaM Offline
                                      metaxaM Offline
                                      metaxa
                                      schrieb am zuletzt editiert von
                                      #35

                                      @bananajoe Danke!

                                      Das mit dem Case Sensitive hatte ich schon entdeckt und manuell alles in der v0.3 abgeändert. Lief dann auch wirklich los und es kamen die orangenen Zeilen im Log. Allerdings scheint für so eine Rechenleistung mein System zu brustschwach zu sein. Bin gerade dabei, mein System wieder hoch zu kriegen. Ist einfach abgeschmirrt.

                                      BananaJoeB 1 Antwort Letzte Antwort
                                      0
                                      • metaxaM metaxa

                                        @bananajoe Danke!

                                        Das mit dem Case Sensitive hatte ich schon entdeckt und manuell alles in der v0.3 abgeändert. Lief dann auch wirklich los und es kamen die orangenen Zeilen im Log. Allerdings scheint für so eine Rechenleistung mein System zu brustschwach zu sein. Bin gerade dabei, mein System wieder hoch zu kriegen. Ist einfach abgeschmirrt.

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

                                        @metaxa nicht abgeschmiert ... Geduld. Habe ich eben sogar auf meinem Hochleistungssystem gehabt. Sind ggf. halt hunderttausende vorn Abfragen.

                                        Eventuell muss da halt noch eine Bremse rein. Und Statusanzeigen.

                                        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 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                        metaxaM 1 Antwort Letzte Antwort
                                        1
                                        • BananaJoeB BananaJoe

                                          @metaxa nicht abgeschmiert ... Geduld. Habe ich eben sogar auf meinem Hochleistungssystem gehabt. Sind ggf. halt hunderttausende vorn Abfragen.

                                          Eventuell muss da halt noch eine Bremse rein. Und Statusanzeigen.

                                          metaxaM Offline
                                          metaxaM Offline
                                          metaxa
                                          schrieb am zuletzt editiert von
                                          #37

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

                                          Eventuell muss da halt noch eine Bremse rein. Und Statusanzeigen.

                                          Ich denke beides wäre sehr hilfreich, alleine das Backup der SQL Datenbank ist bei mir ~500MB groß. Bei mir kommen im Log ca. 84 Warnmeldungen, spätestens danach tut sich nix mehr und der Admin ist nicht mehr erreichbar. Ich habe das Gefühl, dass der JS Adapter neu startet, da plötzlich im Log sichtbar jedes Skript neu initialisiert wird.

                                          Werde das System jetzt neu starten, danach nochmals dein Skript starten traue ich mich eigentlich nicht wirklich.

                                          BananaJoeB 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

                                          702

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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