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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Tester für Javascript 9.0.1 gesucht

NEWS

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

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

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

Tester für Javascript 9.0.1 gesucht

Geplant Angeheftet Gesperrt Verschoben Tester
84 Beiträge 25 Kommentatoren 10.0k Aufrufe 23 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.
  • sigi234S sigi234

    @bluefox

    Installation erfolgreich.
    Derzeit kommt folgender Fehler:

    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at Object.callback (C:\SmartHome\node_modules\iobroker.javascript\build-backend\lib\sandbox.js:1418:38)
    
    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at Object.<anonymous> (script.js.Test.Fenster2:103:13)
    
    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at Count (script.js.Test.Fenster2:141:20)
    
    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at Array.forEach (<anonymous>)
    
    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at script.js.Test.Fenster2:142:34
    
    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at result.each (C:\SmartHome\node_modules\iobroker.javascript\build-backend\lib\sandbox.js:947:29)
    
    javascript.0
    2025-06-04 08:59:06.835	error	script.js.Test.Fenster2: at script.js.Test.Fenster2:156:21
    
    javascript.0
    2025-06-04 08:59:06.834	error	script.js.Test.Fenster2: at writelog (script.js.Test.Fenster2:345:8)
    
    javascript.0
    2025-06-04 08:59:06.834	error	script.js.Test.Fenster2: at ProtectFs.readFile (C:\SmartHome\node_modules\iobroker.javascript\build-backend\lib\protectFs.js:229:32)
    
    javascript.0
    2025-06-04 08:59:06.834	error	script.js.Test.Fenster2: at ProtectFs.readFile (node:fs:366:3)
    
    javascript.0
    2025-06-04 08:59:06.834	error	script.js.Test.Fenster2: Error in callback: TypeError [ERR_INVALID_ARG_TYPE]: The "cb" argument must be of type function. Received type string ('utf8')
    

    Hier das Skript dazu:

     // Zählscript für Fenster, Brunnen, Rolladen, Lichter (Dimmer und state) und Hue
    // Autor Looxer01 July 2020, optimiert und erweitert 08 2024
    // Version 4.6 23.09.2024 // korrektur initialer durchlauf / Text nur bis zum ersten Punkt // algemeiner Pfad hinzugefügt
    // Version 4.7 24.09.2024 // Reihenfolge CreateState&Initialisierung geändert // Korrektur paths
    
    
    // Das script sollte neu gestartet werden, wenn neue Objekte hinzukommen. z.B. neue HueLampen,(HM-Geräte ist automatisiert) Ansonsten erfolgt keine Zählung dieser Objektge
    // Das Löschen von relevanten Geräten sollte programmtechnisch abgefangen sein / Trotzdem empfehle ich das script neu zu starten
    //-------------------------------------------------------------------------------------------------------------------------------------------
    // Einstellungsbereich
    
    // Datenpunkte werden automatisch angelegt. Muss im Javascript Tree erfolgen, zwingend count, active, text und status müssen angelegt werden
    // Pfade für die Zählungsergebnisse
    // Achtung in allen 3 Tabellen muss Groß und Kleinschreibung berücksichtigt werden. Wenn in paths z.B. "MOTION" definiert ist, dann muss so auch in selectors definiert werden
    
    // CommonPath kann auch auf userdata gelegt werden. Einfach den Vorschlag übernehmen 
    const CommmonPath = "javascript.0.Counts.";
    //const CommmonPath = "0_userdata.0.Counts.";
    
    
    const paths = {
        Leuchten: {
            count: CommmonPath+'Leuchten.anzahlLichter',
            active: CommmonPath+'Leuchten.anzahlLichterAn',
            text: CommmonPath+'Leuchten.textLichterAn',
            status: CommmonPath+'Leuchten.Statusliste'
        },
        Fenster: {
            count: CommmonPath+'Fenster.anzahlFenster',
            active: CommmonPath+'Fenster.anzahlFensterauf',
            text: CommmonPath+'Fenster.textFensterauf',
            status: CommmonPath+'Fenster.Statusliste'
        },
        MOTION: {
            count: CommmonPath+'Motion.anzahlMotion',
            active: CommmonPath+'Motion.anzahlMotionAktiv',
            text: CommmonPath+'Motion.textMotionAktiv',
            status: CommmonPath+'Motion.Statusliste'
        },
        
        // Weitere Daenpunkte können hier hinzugefügt werden / löschen von Datenpunkten falls nicht benötigt
    };
    
    // Array für benutzerdefinierte Zusammenfassungen in die Zuvor definierten Datenpunkte, z.B. Dimmer Hue Lampen
    // Der name wird gemapped mit den Namen in der Tabelle paths - bedeutet die 3 Selektoren "Lampen,Dimmer,Hue" werden im Pfad unter "Leuchten" zusammengefasst.
    // Beispielsweise könnten auch Fenster und Rolladen zusammengefasst werden
    const groupings = {
        Leuchten: ['Lampen', 'Dimmer', 'Hue'], // "Lampen und Dimmer und Hue werden unter Leuchten zusammengefasst"
        // Weitere Zusammenfassungen können hier hinzugefügt werden / falls keine Groupings benötigt werden, dann ersetzen mit     const groupings = []
    };
    
    // Selectoren sind eine Art Filter um die richtigen Datenpunkte zu finden, die dann subscribed werden
    // Functions in iobroker entsprechen Gewerke in Homematic
    // Achtung die Namen aus den Datenpunkten muessen exakt mit den hier verwendeten Namen übereinstimmmen: also z.B. MOTION = MOTION
    // der update der Hue lampen dauert etwas länger, da die updates über die Hue-Bridge relativ langsam sind
    const selectors = {
        Lampen:     $('channel[state.id=*.STATE](functions=Licht)'), // allen Leuchten wurde das Gewerk "Licht zugeordnet aber nur für den relevanten Kanal in Homematic"
        Dimmer:     $('channel[state.id=*.LEVEL](functions=Licht)'),
        Hue:        $('channel[state.id=hue.0.*.on](functions=Hue)'), // in der objektliste habe ich den channels (Hue-Leuchten) die Funktion "Hue" zugeordnet
        Fenster:    $('channel[state.id=*.STATE](functions=Verschluss)'),
        MOTION:     $('channel[state.id=*.MOTION](functions=Sicherheit)'),
        //MOTION:     $('channel[state.id=*.MOTION]')
        
     // Weitere Selektoren können hier hinzugefügt werden / löschen von Selektoren falls nicht benötigt
    }
    
    const ReCreateSubscriptionsonNEW = true; // bei Erkennung neuer Geräte werden subscriptions neu erstellt (Erkennung geht nur bei Homematic)
    
    const debug = true;
    const listSelectors = true; // listet das Ergebnis der Selektoren beimn Start des Programmes- dient zum Fehler finden falls die Zählung nicht funktioniert
    
    const logObjects = ['MOTION'];  // die hier angegebenen Objekte (aus den selectors) werden in einer excel-lesbaren Datei geloggt
    // Weitere Objekte können hinzugefügt werden, z.B.  const logObjects = ['MOTION','Fenster']; oder keine Objekte: const logObjects = []
    
    
    // Ende Einstellungsbereich
    //----------------------------------------------------------------------------------------------------------------------------------------------
    const LogPath =  "/Users/sigi/Documents/Zaehlscript.csv"        // falls ein externes log in CSV Format geschrieben werden soll. (anhand Array logObjects)
    let subscriptions = []; // Array, um Subscriptions zu speichern wird genutzt für neu Erstellung der Subsriptions wenn neue Geräte hinzugefügt wurden
    
    if (listSelectors) { listMembers(); }; // Falls erforderlich, die Selector-Ergebnisse auflisten
    checkConsistency(paths, selectors, groupings); // Konsistenzprüfung der Arrays
    
    let modus = "init"; // während des Durchlaufs kann festgestellt werden, ob es sich um die Initialisierung handelt / kein log schreiben bei initialisierung
    CreateStates(() => {                                        // Anlegen der States mit Callback, um abzuwarten bis die States zur Verfügung stehen
        initializeCounts();                                     // Zählungen initialisieren
        modus = "subscription";                                 // Nach Abschluss aller Initialisierungen Modus auf 'subscription' setzen
    });
    
    
    if (ReCreateSubscriptionsonNEW) {                       // Falls neue Geräte erkannt werden, Subscriptions neu erstellen
        on({id: 'hm-rpc.0.updated', val: true, change: 'ne'}, recreateSubscriptions); 
        on({id: 'hm-rpc.1.updated', val: true, change: 'ne'}, recreateSubscriptions);
    }
    setupSubscriptions();                                       // Die Subscriptions für die Selectors werden eingerichtet
    //-----------------------------------------------------------------------------------------
    // Function setupSubscriptions - Einrichtung der Subscriptions
    //-----------------------------------------------------------------------------------------
    function setupSubscriptions() {
        Object.keys(selectors).forEach(type => {
            selectors[type].on(obj => {
                Count(obj.id, obj.state.val, type);
            });
        });
    }
    //-----------------------------------------------------------------------------------------
    // Function recreateSubscriptions - Neuererstellung der Subscriptions
    //-----------------------------------------------------------------------------------------
    function recreateSubscriptions() {
        clearSubscriptions();
        setupSubscriptions(); // Subscriptions neu erstellen
        log("Es gab neue HMIP-Objekte - Subscriptions wurden neu erstellt");
    }
    //-----------------------------------------------------------------------------------------
    // Function recreateSubscriptions - Löschen der Subscriptions
    //-----------------------------------------------------------------------------------------
    function clearSubscriptions() {
        subscriptions.forEach(unsubscribe => unsubscribe()); // Alle gespeicherten Subscriptions aufheben
        subscriptions = []; // Array leeren
        log("Es gab neue HMIP-Objekte - Subscriptions wurden gelöscht");
    }
    //-----------------------------------------------------------------------------------------
    // Function Count - Zentrale Routine die bei Änderung eines Zustandes aufgerufen wird
    // geht durch alle Datenpunkte des Selectors und zählt - falls ein relevantes Gerät eingeschaltet ist
    //-----------------------------------------------------------------------------------------
    function Count(triggerId, newState, type) {
    //    if(triggerId === null ){return}; // keine Ergebnisse gefunden
        let primaryType = getPrimaryTypeForType(type);
        let typesToProcess = groupings[primaryType] || [primaryType];     // Wenn kein passender primaryType in den groupings gefunden wurde, nehmen wir den Typ direkt
        if (!paths[primaryType]) {
            log(`Kein Pfad für Typ ${primaryType} gefunden`, 'warn');
            return;
        }
        let path = paths[primaryType];
        let counterAll = 0;
        let counterActive = 0;
        const text = [];
        let jsonString = "[";
        // Iteration über die zu verarbeitenden Typen (entweder Gruppe oder einzelner Typ)
        typesToProcess.forEach(selectorType => {
            selectors[selectorType]?.each((id) => {
                if (CheckDataPoint(id) === false) {
                    log("Objekt mit ID "+id + " existiert nicht, Zaehlung nicht vollstaendig // Subscriptions werden neu erstellt","warn");
                    clearSubscriptions();
                    setupSubscriptions();
                    return;
                }
                const status = getState(id).val;
                const object = getObject(id);
                if (shouldCount(status, selectorType, id)) {
                    counterActive++;
                    text.push(createTextEntry(object.common.name));
                    jsonString += createJsonEntry(selectorType, object.common.name, status);
                    if (modus != "init" && logObjects.includes(type)) {   // nur wenn keine initialisierung läuft und wenn das object geloggt werden soll erfolgt ein logeintrag
                        writelog(type+","+id+","+ object.common.name+";"+status);
                    }
                }
                counterAll++;
            });
        });
        jsonString = `${jsonString}]`.replace(",]", "]");
        logResult(type, counterAll, counterActive, triggerId, newState);
        setStateValues(path, counterAll, counterActive, text, jsonString);
    }
    //-----------------------------------------------------------------------------------------
    // Function getPrimaryTypeForType - Zentrale Routine die bei Änderung eines Zustandes aufgerufen wird
    // geht durch alle Datenpunkte des Selectors und zählt - falls ein relevantes Gerät eingeschaltet ist
    //-----------------------------------------------------------------------------------------
    function getPrimaryTypeForType(type) {
        // Suche den primaryType in den Gruppierungen, in denen dieser Typ enthalten ist
        for (let primaryType in groupings) {
            if (groupings[primaryType].includes(type)) {
                return primaryType;
            }
        }
        if ( type ) {
            return type; // Wenn nicht in den Gruppierungen, als einzelner Typ behandeln
        }
        return null;
    }
    //-----------------------------------------------------------------------------------------
    // Function shouldCount -check relevanz ob hochgezählt werden soll
    //-----------------------------------------------------------------------------------------
    function shouldCount(status, type, id) {
        return status === true || parseFloat(status) > 0;
    }
    //-----------------------------------------------------------------------------------------
    // Function createJsonEntry - Routine erzeugt Json record
    //-----------------------------------------------------------------------------------------
    function createJsonEntry(type, Name, status) {
        let CleanName = Name.split('.')[0];
        return `{"Type":"${type}","Ort":"${CleanName}","Status":"${status}"},`;
    }
    //-----------------------------------------------------------------------------------------
    // Function createTextEntry - Routine erzeugt Text record
    //-----------------------------------------------------------------------------------------
    function createTextEntry(Name) {
        let CleanName = Name.split('.')[0];
        return CleanName;
    
    }
    //-----------------------------------------------------------------------------------------
    // Function logResult - log falls debug = true
    //-----------------------------------------------------------------------------------------
    function logResult(type, counterAll, counterActive, triggerId, newState) {
        let commonName = "Initial";
        if (triggerId !== null) {
           commonName = getObject(triggerId).common.name;   
        }
        if (debug) {
                log(`Anzahl ${type}: ${counterAll} | ${type} aktiv: ${counterActive} | Auslöser: ${commonName} | Status: ${newState}`, "info");
        }
    }
    //-----------------------------------------------------------------------------------------
    // Function setStateValues - speichern der Zählung in den relevanten Datepunkten
    //-----------------------------------------------------------------------------------------
    function setStateValues(path, counterAll, counterActive, text, jsonString) {
        setState(path.status, jsonString);
        setState(path.active, counterActive);
        setState(path.count, counterAll);
        setState(path.text, text.toString());
    }
    //-----------------------------------------------------------------------------------------
    // Function CreateStates - Anlegen der States mit Verzögerung bis angelegt
    //-----------------------------------------------------------------------------------------
    function CreateStates(callback) {
        let createCount = 0;
        let expectedCount = 0;
        Object.keys(paths).forEach(type => {
            const path = paths[type];
            expectedCount += 4;          // Zählt die erwarteten neuen Datenpunkte
            createState(path.count, 0, { read: true, write: true, type: 'number', name: `Anzahl ${type}`, desc: `Anzahl ${type}` }, () => { createCount++; checkIfAllCreated(); });
            createState(path.active, 0, { read: true, write: true, type: 'number', name: `Anzahl ${type} aktiv`, desc: `Anzahl ${type} aktiv` }, () => {createCount++; checkIfAllCreated();});
            createState(path.text, "", { read: true, write: true, type: 'string', name: `Text ${type}`, desc: `Text ${type}` }, () => { createCount++;checkIfAllCreated(); });
            createState(path.status, "[]", { read: true, write: true, type: 'string', name: `Status ${type} JSON Liste`, desc: `Status ${type} als JSON` }, () => {createCount++; checkIfAllCreated();});
        });
    //-----------------------------------------------------------------------------------------
    // Function CreateStates - Anlegen der States mit Verzögerung bis angelegt
    //-----------------------------------------------------------------------------------------
    function checkIfAllCreated() {
            if (createCount === expectedCount && typeof callback === 'function') {
                callback();
            }
        }
    }
    //-----------------------------------------------------------------------------------------
    // Function CheckDataPoint - Check States ob angelegt /falls objekte geloescht wurden
    //-----------------------------------------------------------------------------------------
    function CheckDataPoint(id) {
        return existsState(id)
    }
    //-----------------------------------------------------------------------------------------
    // Function initializeCounts - Initialisierung der Zähler beim Starten des Programmes. 
    // ermittelt aktuelle Zählung
    //-----------------------------------------------------------------------------------------
    function initializeCounts() {
        // Erst alle Typen, die in den groupings definiert sind
        Object.keys(groupings).forEach(primaryType => {
            Count(null, null, primaryType);
        });
        // Dann alle Typen, die nicht in den groupings enthalten sind
        Object.keys(selectors).forEach(type => {
            if (!Object.keys(groupings).some(primaryType => groupings[primaryType].includes(type))) {
                Count(null, null, type);
            }
        });
    }
    //-----------------------------------------------------------------------------------------
    // Function listMembers - Funktion zum Auflisten der Mitglieder aller Selektoren - dient zur Fehlerfindung
    //-----------------------------------------------------------------------------------------
    function listMembers() {
        for (const [key, selector] of Object.entries(selectors)) {
            log(`Liste der ${key}-Geräte:`, 'info');
            
            selector.each((id) => {
                const obj = getObject(id);
                const name = obj && obj.common && obj.common.name ? obj.common.name : 'Unbekannt';
                log(`- ID: ${id} | Name: ${name}`, 'info');
            });
            
            log(`Ende der ${key}-Liste`, 'info');
            log('', 'info');  // Leere Zeile zwischen den Typen
        }
    }
    //-----------------------------------------------------------------------------------------
    // Function checkConsistency - Funktion zur Überprüfung der übereinstimmung der arrays
    //-----------------------------------------------------------------------------------------
    function checkConsistency(paths, selectors, groupings) {
        // Extrahiere die Schlüssel aus paths und selectors
        const pathKeys = Object.keys(paths);
        const selectorKeys = Object.keys(selectors);
    
        // Wenn groupings angegeben ist, erstellen Sie eine Sammlung aller Keys aus groupings
        const groupKeys = groupings ? Object.keys(groupings) : [];
    
        // Sammle alle Mitglieder von groupings in einem Set
        const groupMembers = new Set();
        for (const key of groupKeys) {
            if (groupings[key]) {
                groupings[key].forEach(member => groupMembers.add(member));
            }
        }
        // Prüfen, ob alle Keys in groupings auch in paths vorhanden sind
        const missingInPaths = groupKeys.filter(key => !pathKeys.includes(key));
    
        // Prüfen, ob alle Mitglieder der groupings in selectors vorhanden sind
        const missingInSelectors = [...groupMembers].filter(member => !selectorKeys.includes(member));
    
          // Ausgabe der Ergebnisse
        if (missingInPaths.length === 0 && missingInSelectors.length === 0 ) {
            if(debug) {console.log('Alle Namen stimmen überein.');};
        } else {
            if (missingInPaths.length > 0) {
                console.warn(`Die folgenden Keys fehlen in paths, obwohl sie in groupings vorhanden sind: ${missingInPaths.join(', ')}`);
            }
            if (missingInSelectors.length > 0) {
                console.warn(`Die folgenden Mitglieder der groupings fehlen in selectors: ${missingInSelectors.join(', ')}`);
            }
    
        }
    }
    //-----------------------------------------------------------------------------------------------------
    // Funktion zur Erzeugung von fuehrenden Nullen fuer das Datum Format
    //-----------------------------------------------------------------------------------------------------
    function addZero(i) {
        return i < 10 ? "0" + i : i;
    }
    //-----------------------------------------------------------------------------------------
    // Function writelog - Logeintrag schreiben
    //-----------------------------------------------------------------------------------------
    function writelog(string) {
        const fs = require('fs'); // enable write for external log
        const now = new Date();
        const [year, month, day, Thour, Tmin, Tsec] = [
            now.getFullYear(),
            addZero(now.getMonth() + 1),
            addZero(now.getDate()),
            addZero(now.getHours()),
            addZero(now.getMinutes()),
            addZero(now.getSeconds())
        ];
        const logdate = `${day}.${month}.${year}`;
        const logtime = `${Thour}:${Tmin}:${Tsec}`;
        fs.readFile(LogPath, 'utf8', (err, data) => {
            const entry = `${logdate} ;${logtime} ;${string}\n`;
            if (!err) {
                fs.appendFileSync(LogPath, entry);
            } else {
                log("Zaehlscript-Logging: Routine writelog - Logfile nicht gefunden - wird angelegt", "info");
                const headerLine = "Datum;Uhrzeit;Type;GeraeteID;Geraetebezeichnung;Status";
                fs.appendFileSync(LogPath, `${headerLine}\n${entry}`);
            }
        });
    }
    

    Plattform: Windows
    Admin: 7.6.18
    Node.js: v20.19.2
    NPM: 10.8.2
    JS: 9.0.1

    BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #3

    @sigi234 Danke. Ich baue gerade neue Version

    sigi234S T 2 Antworten Letzte Antwort
    2
    • BluefoxB Bluefox

      @sigi234 Danke. Ich baue gerade neue Version

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von sigi234
      #4

      @bluefox sagte in Tester für Javascript 9.0.1 gesucht:

      @sigi234 Danke. Ich baue gerade neue Version

      Danke, Fehler ist mit Version 9.0.2
      weg.

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      1 Antwort Letzte Antwort
      1
      • BluefoxB Bluefox

        @sigi234 Danke. Ich baue gerade neue Version

        T Offline
        T Offline
        TT-Tom
        schrieb am zuletzt editiert von TT-Tom
        #5

        @bluefox

        Installation ist sauber durchgelaufen, alle Script ohne Probleme gestartet. Es laufen hier 2 Instanzen.
        Plattform: linux "Bookwoorm"
        Admin: 7.6.18
        Node.js: v20.19.2
        NPM: 10.8.2

        Gruß Tom
        https://github.com/tt-tom17
        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

        NSPanel Script Wiki
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        NSPanel Adapter Wiki
        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

        1 Antwort Letzte Antwort
        0
        • BluefoxB Bluefox
          Aktuelle Test Version 9.0.1
          Veröffentlichungsdatum 04.06.2025
          Github Link https://github.com/ioBroker/ioBroker.javascript

          Changelog

          • (@klein0r) Added possibility to escape chars in formatTimeDiff
          • (@GermanBluefox) Back-end was migrated to TypeScript
          • (@GermanBluefox) Breaking change: removed "request" module
          • (@GermanBluefox) Added prettier for scripts

          Also, Hauptänderung das ist dass alles auf TypeScript (Back-End) umgestellt wurde.
          Alles soll wie frühe funktionieren.
          Zusätzlich gibt es die Möglichkeit den Kode zu formatieren:

          56fb6c46-23ea-4dde-b3f4-778a42d177ae-image.png

          Das wird erleichtern die Weiterentwicklung von JavaScript adapter.

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #6

          @bluefox

          ├── iobroker.javascript@9.0.2 (git+ssh://git@github.com/ioBroker/ioBroker.javascript.git#7682b46eb3a38255d501c17f8cd80a7d4cffb33b)
          

          läuft ohne Auffälligkeiten hier.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          1 Antwort Letzte Antwort
          0
          • BluefoxB Bluefox
            Aktuelle Test Version 9.0.1
            Veröffentlichungsdatum 04.06.2025
            Github Link https://github.com/ioBroker/ioBroker.javascript

            Changelog

            • (@klein0r) Added possibility to escape chars in formatTimeDiff
            • (@GermanBluefox) Back-end was migrated to TypeScript
            • (@GermanBluefox) Breaking change: removed "request" module
            • (@GermanBluefox) Added prettier for scripts

            Also, Hauptänderung das ist dass alles auf TypeScript (Back-End) umgestellt wurde.
            Alles soll wie frühe funktionieren.
            Zusätzlich gibt es die Möglichkeit den Kode zu formatieren:

            56fb6c46-23ea-4dde-b3f4-778a42d177ae-image.png

            Das wird erleichtern die Weiterentwicklung von JavaScript adapter.

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von Ein ehemaliger Benutzer
            #7

            @bluefox @TT-Tom

            Hier auch auf dem Produktivsystem (jaja ich weiss..) ohne Fehler und Auffälligkeiten.
            Node 20.19.2, Admin 7.6.18, js-controller 7.0.7, debian bookworm lxc. Ca. 600 Scripte am laufen, 54000 States und Objects.

            Edit: die nspanel-Scripte Version 4.5.01 melden Fehler (ist das in einer der neueren Versionen behoben? Der Fehler war nur nach manuellem Start des Scriptes zu sehen, nach dem Update des Adapters und neustart, waren keine Fehler im Protokoll und die Panels sehen aus wie immer, nur lassen Sie sich nicht mehr bedienen..)
            ( Topic gehoert evtl. nach ns-panel-Scripte verschoben..?)

            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Berry_Driver.onlineVersion').val, ack: true });
                                                                                                             ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                        await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Display_Firmware.onlineVersion').val, ack: true });
                                                                                                                     ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyHeading, <iobJS.State>{ val: Headline, ack: false });
                                                                       ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyHeadingColor, <iobJS.State>{ val: HeadlineColor, ack: false });
                                                                            ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyButton1Text, <iobJS.State>{ val: Button1, ack: false });
                                                                           ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyButton1TextColor, <iobJS.State>{ val: Button1Color, ack: false });
                                                                                ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyButton2Text, <iobJS.State>{ val: Button2, ack: false });
                                                                           ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyButton2TextColor, <iobJS.State>{ val: Button2Color, ack: false });
                                                                                ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifySleepTimeout, <iobJS.State>{ val: Timeout, ack: false });
                                                                            ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyInternalName, <iobJS.State>{ val: InternalName, ack: false });
                                                                            ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyLayout, <iobJS.State>{ val: Layout, ack: false });
                                                                      ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(popupNotifyText, <iobJS.State>{ val: [formatDate(getDateObject(new Date().getTime()), 'TT.MM.JJJJ SS:mm:ss'), '\r\n', '\r\n', Text].join(''), ack: false });
                                                                    ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(NSPanel_Path + 'NSPanel_ipAddress', <iobJS.State>{ val: get_current_tasmota_ip_address(), ack: true });
                                                                                       ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.onlineVersion', <iobJS.State>{ val: TasmotaVersionOnline, ack: true });
                                                                                                            ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(JSON.stringify(response.data)).nlui_driver_version, ack: true });
                                                                                                         ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: tasmoVersion, ack: true });
                                                                                                                 ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Uptime', <iobJS.State>{ val: Tasmota_JSON.StatusPRM.Uptime, ack: true });
                                                                                                ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Version', <iobJS.State>{ val: Tasmota_JSON.StatusFWR.Version, ack: true });
                                                                                                 ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Hardware', <iobJS.State>{ val: TasmotaHardware[0] + '\r\n' + TasmotaHardware[1], ack: true });
                                                                                                  ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.AP', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.AP, ack: true });
                                                                                                 ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.SSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.SSId, ack: true });
                                                                                                   ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.BSSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.BSSId, ack: true });
                                                                                                    ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Channel', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Channel, ack: true });
                                                                                                      ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Mode', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Mode, ack: true });
                                                                                                   ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.RSSI', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.RSSI, ack: true });
                                                                                                   ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Signal', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Signal, ack: true });
                                                                                                     ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Tasmota.Product', <iobJS.State>{ val: 'SONOFF NSPanel', ack: true });
                                                                                                 ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                    await setStateAsync(NSPanel_Path + 'Berry_Driver.onlineVersion', <iobJS.State>{ val: BerryDriverVersionOnline, ack: true });
                                                                                                            ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                            await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: NSPanelVersion, ack: true });
                                                                                                    ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                            await setStateAsync(NSPanel_Path + 'Display_Firmware.onlineVersion', <iobJS.State>{ val: desired_display_firmware_version, ack: true });
                                                                                                        ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: split[2], ack: true });
                                                                                                             ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                await setStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.State>{ val: split[3], ack: true });
                                                                                             ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                            await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true });
                                                                                                                    ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                         ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                setState(popupNotifyAction, <iobJS.State>{ val: true, ack: true });
                                                                   ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                         ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                setState(popupNotifyAction, <iobJS.State>{ val: false, ack: true });
                                                                   ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        unsubscribe(value);
                                    ^
            ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'.
                    await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: dateTime[0] + '\r\n' + dateTime[1], ack: true });
                                                                             ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                    await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                                                 ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                                                               ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                                                                              ^
            ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                        val: iobJS.StateValue;
                                   ^
            ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                        val: iobJS.StateValue;
                                   ^
            ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
            
            
            
            
            T 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @bluefox @TT-Tom

              Hier auch auf dem Produktivsystem (jaja ich weiss..) ohne Fehler und Auffälligkeiten.
              Node 20.19.2, Admin 7.6.18, js-controller 7.0.7, debian bookworm lxc. Ca. 600 Scripte am laufen, 54000 States und Objects.

              Edit: die nspanel-Scripte Version 4.5.01 melden Fehler (ist das in einer der neueren Versionen behoben? Der Fehler war nur nach manuellem Start des Scriptes zu sehen, nach dem Update des Adapters und neustart, waren keine Fehler im Protokoll und die Panels sehen aus wie immer, nur lassen Sie sich nicht mehr bedienen..)
              ( Topic gehoert evtl. nach ns-panel-Scripte verschoben..?)

              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Berry_Driver.onlineVersion').val, ack: true });
                                                                                                               ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                          await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Display_Firmware.onlineVersion').val, ack: true });
                                                                                                                       ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyHeading, <iobJS.State>{ val: Headline, ack: false });
                                                                         ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyHeadingColor, <iobJS.State>{ val: HeadlineColor, ack: false });
                                                                              ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyButton1Text, <iobJS.State>{ val: Button1, ack: false });
                                                                             ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyButton1TextColor, <iobJS.State>{ val: Button1Color, ack: false });
                                                                                  ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyButton2Text, <iobJS.State>{ val: Button2, ack: false });
                                                                             ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyButton2TextColor, <iobJS.State>{ val: Button2Color, ack: false });
                                                                                  ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifySleepTimeout, <iobJS.State>{ val: Timeout, ack: false });
                                                                              ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyInternalName, <iobJS.State>{ val: InternalName, ack: false });
                                                                              ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyLayout, <iobJS.State>{ val: Layout, ack: false });
                                                                        ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(popupNotifyText, <iobJS.State>{ val: [formatDate(getDateObject(new Date().getTime()), 'TT.MM.JJJJ SS:mm:ss'), '\r\n', '\r\n', Text].join(''), ack: false });
                                                                      ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(NSPanel_Path + 'NSPanel_ipAddress', <iobJS.State>{ val: get_current_tasmota_ip_address(), ack: true });
                                                                                         ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.onlineVersion', <iobJS.State>{ val: TasmotaVersionOnline, ack: true });
                                                                                                              ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(JSON.stringify(response.data)).nlui_driver_version, ack: true });
                                                                                                           ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: tasmoVersion, ack: true });
                                                                                                                   ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Uptime', <iobJS.State>{ val: Tasmota_JSON.StatusPRM.Uptime, ack: true });
                                                                                                  ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Version', <iobJS.State>{ val: Tasmota_JSON.StatusFWR.Version, ack: true });
                                                                                                   ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Hardware', <iobJS.State>{ val: TasmotaHardware[0] + '\r\n' + TasmotaHardware[1], ack: true });
                                                                                                    ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.AP', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.AP, ack: true });
                                                                                                   ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.SSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.SSId, ack: true });
                                                                                                     ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.BSSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.BSSId, ack: true });
                                                                                                      ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Channel', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Channel, ack: true });
                                                                                                        ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Mode', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Mode, ack: true });
                                                                                                     ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.RSSI', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.RSSI, ack: true });
                                                                                                     ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Signal', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Signal, ack: true });
                                                                                                       ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Tasmota.Product', <iobJS.State>{ val: 'SONOFF NSPanel', ack: true });
                                                                                                   ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                      await setStateAsync(NSPanel_Path + 'Berry_Driver.onlineVersion', <iobJS.State>{ val: BerryDriverVersionOnline, ack: true });
                                                                                                              ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                              await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: NSPanelVersion, ack: true });
                                                                                                      ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                              await setStateAsync(NSPanel_Path + 'Display_Firmware.onlineVersion', <iobJS.State>{ val: desired_display_firmware_version, ack: true });
                                                                                                          ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: split[2], ack: true });
                                                                                                               ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  await setStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.State>{ val: split[3], ack: true });
                                                                                               ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                              await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true });
                                                                                                                      ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                           ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  setState(popupNotifyAction, <iobJS.State>{ val: true, ack: true });
                                                                     ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true });
                                                                           ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                                  setState(popupNotifyAction, <iobJS.State>{ val: false, ack: true });
                                                                     ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          unsubscribe(value);
                                      ^
              ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'.
                      await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: dateTime[0] + '\r\n' + dateTime[1], ack: true });
                                                                               ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                      await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                                                                   ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                                                                                 ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                                                                                ^
              ERROR: Namespace 'global.iobJS' has no exported member 'State'.
                          val: iobJS.StateValue;
                                     ^
              ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                          val: iobJS.StateValue;
                                     ^
              ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
              
              
              
              
              T Offline
              T Offline
              TT-Tom
              schrieb am zuletzt editiert von TT-Tom
              #8

              @neuschwansteini

              die Fehler kommen auch in der aktuellen Script Version. Müssen das mit @Armilar mal prüfen

              Edit: der Parameter name läuft auch nicht mehr, lieferte den Scriptnamen

              value wird auch nicht mehr unterstützt

              function UnsubscribeWatcher(): void {
                  try {
                      for (const [key, value] of Object.entries(subscriptions)) {
                          unsubscribe(value);
                          delete subscriptions[key];
                      }
                  } catch (err: any) {
                      log('error at function UnsubscribeWatcher: ' + err.message, 'warn');
                  }
              }
              

              Gruß Tom
              https://github.com/tt-tom17
              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

              NSPanel Script Wiki
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              NSPanel Adapter Wiki
              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

              ? 1 Antwort Letzte Antwort
              -1
              • T TT-Tom

                @neuschwansteini

                die Fehler kommen auch in der aktuellen Script Version. Müssen das mit @Armilar mal prüfen

                Edit: der Parameter name läuft auch nicht mehr, lieferte den Scriptnamen

                value wird auch nicht mehr unterstützt

                function UnsubscribeWatcher(): void {
                    try {
                        for (const [key, value] of Object.entries(subscriptions)) {
                            unsubscribe(value);
                            delete subscriptions[key];
                        }
                    } catch (err: any) {
                        log('error at function UnsubscribeWatcher: ' + err.message, 'warn');
                    }
                }
                
                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #9

                @tt-tom Danke schonmal, da lohnt sich das Update auch noch nicht.. :)

                1 Antwort Letzte Antwort
                0
                • teletapiT Offline
                  teletapiT Offline
                  teletapi
                  schrieb am zuletzt editiert von teletapi
                  #10

                  Re: SONOFF NSPanel mit Lovelace UI

                  Ich hatte vor ein paar tagen das NSPanel bekommen und hab das soweit fertig zumindest die ersten Seiten alles ist aktuell Script ist die 4.7.2.1 Berrytreiber 9 Displaytreiber 56/V4.7.2
                  Hat auch alles wunderbar funktioniert bis ich eben den Javascript Adapter Beta 9.0.3 installiert habe danach ging nix mehr, hab dann nochmal ein neues Basis Script genommen und meine daten kurz eingetragen aber der fehler bleibt. Ich würde jetzt hier mal ein Problem mit dem Javascript adapter vermuten denn mit der 8.9.2 version des Javadapters funktioniert alles. In den Change Logs steht irgendwas von "Typescript "
                  Weiß da schon jemand mehr oder liegt der Fehler vielleicht doch bei mir

                  javascript.0 2025-06-12 18:15:13.811	error	script.js.NSPanel1.NSPanel1: TypeScript compilation failed: await setStateAsync(NSPanel_Path + 'PageNavi', <iobJS.State>{ val: "{ pagetype: 'page', pageId: 0 }", ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(meanPower, <iobJS.State>{ val: meanConsumption, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(screensaverNotifyHeading, <iobJS.State>{ val: '', ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(screensaverNotifyText, <iobJS.State>{ val: '', ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(obj.id, <iobJS.State>{ val: obj.state.val, ack: true }); // ack new value ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_locales_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_locales_service_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Tasmota_Firmware.onlineVersion').val, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Berry_Driver.onlineVersion').val, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Display_Firmware.onlineVersion').val, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyHeading, <iobJS.State>{ val: Headline, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyHeadingColor, <iobJS.State>{ val: HeadlineColor, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton1Text, <iobJS.State>{ val: Button1, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton1TextColor, <iobJS.State>{ val: Button1Color, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton2Text, <iobJS.State>{ val: Button2, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton2TextColor, <iobJS.State>{ val: Button2Color, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifySleepTimeout, <iobJS.State>{ val: Timeout, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyInternalName, <iobJS.State>{ val: InternalName, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyLayout, <iobJS.State>{ val: Layout, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyText, <iobJS.State>{ val: [formatDate(getDateObject(new Date().getTime()), 'TT.MM.JJJJ SS:mm:ss'), '\r\n', '\r\n', Text].join(''), ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_ipAddress', <iobJS.State>{ val: get_current_tasmota_ip_address(), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.onlineVersion', <iobJS.State>{ val: TasmotaVersionOnline, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(JSON.stringify(response.data)).nlui_driver_version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: tasmoVersion, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Uptime', <iobJS.State>{ val: Tasmota_JSON.StatusPRM.Uptime, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Version', <iobJS.State>{ val: Tasmota_JSON.StatusFWR.Version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Hardware', <iobJS.State>{ val: TasmotaHardware[0] + '\r\n' + TasmotaHardware[1], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.AP', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.AP, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.SSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.SSId, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.BSSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.BSSId, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Channel', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Channel, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Mode', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Mode, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.RSSI', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.RSSI, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Signal', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Signal, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Product', <iobJS.State>{ val: 'SONOFF NSPanel', ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Berry_Driver.onlineVersion', <iobJS.State>{ val: BerryDriverVersionOnline, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: NSPanelVersion, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.onlineVersion', <iobJS.State>{ val: desired_display_firmware_version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: split[2], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.currentRelease', <iobJS.State>{ val: split[4], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.State>{ val: split[3], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. setState(popupNotifyAction, <iobJS.State>{ val: true, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. setState(popupNotifyAction, <iobJS.State>{ val: false, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. unsubscribe(value); ^ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'. await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: dateTime[0] + '\r\n' + dateTime[1], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. val: iobJS.StateValue; ^ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'? val: iobJS.StateValue; ^ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                  
                  T 1 Antwort Letzte Antwort
                  0
                  • teletapiT teletapi

                    Re: SONOFF NSPanel mit Lovelace UI

                    Ich hatte vor ein paar tagen das NSPanel bekommen und hab das soweit fertig zumindest die ersten Seiten alles ist aktuell Script ist die 4.7.2.1 Berrytreiber 9 Displaytreiber 56/V4.7.2
                    Hat auch alles wunderbar funktioniert bis ich eben den Javascript Adapter Beta 9.0.3 installiert habe danach ging nix mehr, hab dann nochmal ein neues Basis Script genommen und meine daten kurz eingetragen aber der fehler bleibt. Ich würde jetzt hier mal ein Problem mit dem Javascript adapter vermuten denn mit der 8.9.2 version des Javadapters funktioniert alles. In den Change Logs steht irgendwas von "Typescript "
                    Weiß da schon jemand mehr oder liegt der Fehler vielleicht doch bei mir

                    javascript.0 2025-06-12 18:15:13.811	error	script.js.NSPanel1.NSPanel1: TypeScript compilation failed: await setStateAsync(NSPanel_Path + 'PageNavi', <iobJS.State>{ val: "{ pagetype: 'page', pageId: 0 }", ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(meanPower, <iobJS.State>{ val: meanConsumption, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(screensaverNotifyHeading, <iobJS.State>{ val: '', ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(screensaverNotifyText, <iobJS.State>{ val: '', ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(obj.id, <iobJS.State>{ val: obj.state.val, ack: true }); // ack new value ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_locales_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_locales_service_json', <iobJS.State>{ val: JSON.stringify(response.data), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Tasmota_Firmware.onlineVersion').val, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Berry_Driver.onlineVersion').val, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: getState(NSPanel_Path + 'Display_Firmware.onlineVersion').val, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyHeading, <iobJS.State>{ val: Headline, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyHeadingColor, <iobJS.State>{ val: HeadlineColor, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton1Text, <iobJS.State>{ val: Button1, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton1TextColor, <iobJS.State>{ val: Button1Color, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton2Text, <iobJS.State>{ val: Button2, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyButton2TextColor, <iobJS.State>{ val: Button2Color, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifySleepTimeout, <iobJS.State>{ val: Timeout, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyInternalName, <iobJS.State>{ val: InternalName, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyLayout, <iobJS.State>{ val: Layout, ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(popupNotifyText, <iobJS.State>{ val: [formatDate(getDateObject(new Date().getTime()), 'TT.MM.JJJJ SS:mm:ss'), '\r\n', '\r\n', Text].join(''), ack: false }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_ipAddress', <iobJS.State>{ val: get_current_tasmota_ip_address(), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.onlineVersion', <iobJS.State>{ val: TasmotaVersionOnline, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(JSON.stringify(response.data)).nlui_driver_version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota_Firmware.currentVersion', <iobJS.State>{ val: tasmoVersion, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Uptime', <iobJS.State>{ val: Tasmota_JSON.StatusPRM.Uptime, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Version', <iobJS.State>{ val: Tasmota_JSON.StatusFWR.Version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Hardware', <iobJS.State>{ val: TasmotaHardware[0] + '\r\n' + TasmotaHardware[1], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.AP', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.AP, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.SSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.SSId, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.BSSId', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.BSSId, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Channel', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Channel, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Mode', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Mode, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.RSSI', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.RSSI, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Wifi.Signal', <iobJS.State>{ val: Tasmota_JSON.StatusSTS.Wifi.Signal, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Tasmota.Product', <iobJS.State>{ val: 'SONOFF NSPanel', ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Berry_Driver.onlineVersion', <iobJS.State>{ val: BerryDriverVersionOnline, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: NSPanelVersion, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.onlineVersion', <iobJS.State>{ val: desired_display_firmware_version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.currentVersion', <iobJS.State>{ val: split[2], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Display_Firmware.currentRelease', <iobJS.State>{ val: split[4], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'NSPanel_Version', <iobJS.State>{ val: split[3], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(pageItem.id + '.TEMPERATURE').ts < getState(pageItem.id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. setState(popupNotifyAction, <iobJS.State>{ val: true, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. setState(popupNotifyInternalName, <iobJS.State>{ val: words[2], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. setState(popupNotifyAction, <iobJS.State>{ val: false, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.HUE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RED').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.RGB').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. if (getState(id + '.TEMPERATURE').ts < getState(id + '.CIE').ts) { ^ERROR: Property 'ts' does not exist on type 'AbsentState | TypedState<any>'. Property 'ts' does not exist on type 'TypedState<any>'. unsubscribe(value); ^ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'. await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: dateTime[0] + '\r\n' + dateTime[1], ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true }); ^ERROR: Namespace 'global.iobJS' has no exported member 'State'. val: iobJS.StateValue; ^ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'? val: iobJS.StateValue; ^ERROR: 'global.iobJS' has no exported member named 'StateValue'. Did you mean 'StateACL'?
                    
                    T Offline
                    T Offline
                    TT-Tom
                    schrieb am zuletzt editiert von
                    #11

                    @teletapi
                    wie oben zu lesen, sind die Fehler schon bekannt. Mal sehen was die nächste Beta bringt.

                    Gruß Tom
                    https://github.com/tt-tom17
                    Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                    NSPanel Script Wiki
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    NSPanel Adapter Wiki
                    https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                    1 Antwort Letzte Antwort
                    1
                    • Thomas MaulT Offline
                      Thomas MaulT Offline
                      Thomas Maul
                      schrieb am zuletzt editiert von
                      #12

                      Moin,

                      es wurde irgendetwas an der Formatierung von Zeitdifferenzen geändert. Leider finde ich nirgends eine Beschreibung, was genau geändert wurde. Jedenfalls bekomme ich jetzt komische Warnungen in einem meiner Skripte. Hat irgendetwas mit Formatierung zu schaffen...

                      Weiß jemand, wo ich eine Erläuterung der Änderungen finde?

                      Danke!

                      mcm1957M 1 Antwort Letzte Antwort
                      0
                      • Thomas MaulT Thomas Maul

                        Moin,

                        es wurde irgendetwas an der Formatierung von Zeitdifferenzen geändert. Leider finde ich nirgends eine Beschreibung, was genau geändert wurde. Jedenfalls bekomme ich jetzt komische Warnungen in einem meiner Skripte. Hat irgendetwas mit Formatierung zu schaffen...

                        Weiß jemand, wo ich eine Erläuterung der Änderungen finde?

                        Danke!

                        mcm1957M Online
                        mcm1957M Online
                        mcm1957
                        schrieb am zuletzt editiert von
                        #13

                        @thomas-maul
                        Erwartest du im Ernst dass jemand deine "komischen Warnungen" kommentieren kann ohne dass du sie zeigst?

                        Changelog siehe erstes Posting in diesem Topic und README im Adapter Repo.

                        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                        Support Repositoryverwaltung.

                        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                        LESEN - gute Forenbeitrage

                        Thomas MaulT 1 Antwort Letzte Antwort
                        0
                        • BluefoxB Bluefox
                          Aktuelle Test Version 9.0.1
                          Veröffentlichungsdatum 04.06.2025
                          Github Link https://github.com/ioBroker/ioBroker.javascript

                          Changelog

                          • (@klein0r) Added possibility to escape chars in formatTimeDiff
                          • (@GermanBluefox) Back-end was migrated to TypeScript
                          • (@GermanBluefox) Breaking change: removed "request" module
                          • (@GermanBluefox) Added prettier for scripts

                          Also, Hauptänderung das ist dass alles auf TypeScript (Back-End) umgestellt wurde.
                          Alles soll wie frühe funktionieren.
                          Zusätzlich gibt es die Möglichkeit den Kode zu formatieren:

                          56fb6c46-23ea-4dde-b3f4-778a42d177ae-image.png

                          Das wird erleichtern die Weiterentwicklung von JavaScript adapter.

                          T Offline
                          T Offline
                          TT-Tom
                          schrieb am zuletzt editiert von
                          #14

                          Hi @bluefox,

                          Version 9.0.3 bringt immer noch die selben Fehler im Script (NSPanel), ansonsten laufen alle anderen Scripte ohne Fehlermeldungen.

                          Gruß Tom
                          https://github.com/tt-tom17
                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                          NSPanel Script Wiki
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                          NSPanel Adapter Wiki
                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                          ? 1 Antwort Letzte Antwort
                          0
                          • mcm1957M mcm1957

                            @thomas-maul
                            Erwartest du im Ernst dass jemand deine "komischen Warnungen" kommentieren kann ohne dass du sie zeigst?

                            Changelog siehe erstes Posting in diesem Topic und README im Adapter Repo.

                            Thomas MaulT Offline
                            Thomas MaulT Offline
                            Thomas Maul
                            schrieb am zuletzt editiert von Thomas Maul
                            #15

                            @mcm1957
                            Hi,
                            ich habe zunächst keine Kommentare erwartet und deshalb nichts mit gepostet.
                            Die Frage lautete: wo ist dokumentiert, was sich bei der Zeitdifferenz konkret geändert hat für den Blockly-User. Alternativ wäre eine kurze Beschreibung der Änderungen hier hilfreich.

                            Ansonsten versuche ich es mit Try&Error zu fixen.
                            BG Thomas

                            EDIT: Hat sich erledigt... Hab's hinbekommen bei mir im Script schreibe ich die Zeitdifferenz (Format hh:mm:ss) in einen Datenpunkt, der eine Zahl erwartet... Mit setzen auf "gemischt" des Datenpunktes ist's dann weg.

                            1 Antwort Letzte Antwort
                            0
                            • mg99M Offline
                              mg99M Offline
                              mg99
                              schrieb am zuletzt editiert von
                              #16

                              Veränderungen von bereits bestehenden Skripten teilweise nicht möglich.
                              D.h. die Buttons Speichern bzw. Abbrechen kommen nicht.

                              Das passiert allerdings nicht bei allen blocklys.

                              F5 - hilft nicht.

                              Bitte ausfüllen:

                              • Skripte: blockly
                              • Link zu Adapterrepository: www.github.com...
                              • Adapterversion: Skriptausführung V. 9.0.3
                              • js-controller Version: 7.0.7
                              • Admin Version: v7.6.19
                              • Hardwaresystem: Pi5 ...
                              • Arbeitsspeicher: 8GB
                              • Festplattenart: SSD
                              • Betriebssystem: linux
                              • Nodejs-Version: v20.19.2
                              • NPM-Version: 10.8.2
                              • Installationsart: Skript
                              • Image, Docker genutzt: Nein
                              • Ort, Name der Imagedatei: HDD

                              Linux User bitte hier den Output von iob diag einfügen.
                              ========== Start marking the full check here ===========

                              Script v.2025-03-08
                              
                              *** BASE SYSTEM ***
                               Static hostname: raspberrypi5a
                                     Icon name: computer
                              Operating System: Debian GNU/Linux 12 (bookworm)
                                        Kernel: Linux 6.6.62+rpt-rpi-2712
                                  Architecture: arm64
                              OS is similar to:
                              
                              Model           : Raspberry Pi 5 Model B Rev 1.0
                              Docker          : false
                              Virtualization  : none
                              Kernel          : aarch64
                              Userland        : 64 bit
                              
                              Systemuptime and Load:
                               18:28:32 up  2:06,  2 users,  load average: 1.77, 1.60, 1.25
                              CPU threads: 4
                              
                              
                              *** LIFE CYCLE STATUS ***
                              Operating System is the current Debian stable version codenamed 'bookworm'!
                              
                              *** RASPBERRY THROTTLING ***
                              Current issues:
                              No throttling issues detected.
                              
                              Previously detected issues:
                              No throttling issues detected.
                              
                              *** TIME AND TIMEZONES ***
                                             Local time: Fri 2025-06-13 18:28:33 CEST
                                         Universal time: Fri 2025-06-13 16:28:33 UTC
                                               RTC time: Fri 2025-06-13 16:28:33
                                              Time zone: Europe/Vienna (CEST, +0200)
                              System clock synchronized: yes
                                            NTP service: active
                                        RTC in local TZ: no
                              
                              *** Users and Groups ***
                              User that called 'iob diag':
                              Guido
                              HOME=/home/Guido
                              GROUPS=Guido adm dialout cdrom sudo audio video plugdev games users input render                                                                                                                                                              netdev gpio i2c spi iobroker
                              
                              User that is running 'js-controller':
                              iobroker
                              HOME=/home/iobroker
                              GROUPS=iobroker tty dialout audio video plugdev bluetooth redis gpio i2c
                              
                              *** DISPLAY-SERVER SETUP ***
                              Display-Server: false
                              Desktop:
                              Terminal:       tty
                              
                              *** MEMORY ***
                                             total        used        free      shared  buff/cache   available
                              Mem:            8.5G        4.7G        1.2G        5.7M        2.6G        3.7G
                              Swap:           209M          0B        209M
                              Total:          8.7G        4.7G        1.4G
                              
                              Active iob-Instances:   50
                              
                                       8064 M total memory
                                       4491 M used memory
                                       4577 M active memory
                                       1788 M inactive memory
                                       1166 M free memory
                                        824 M buffer memory
                                       1674 M swap cache
                                        199 M total swap
                                          0 M used swap
                                        199 M free swap
                              
                              *** top - Table Of Processes  ***
                              top - 18:28:33 up  2:06,  2 users,  load average: 1.77, 1.60, 1.25
                              Tasks: 233 total,   1 running, 232 sleeping,   0 stopped,   0 zombie
                              %Cpu(s):  0.0 us, 33.3 sy,  0.0 ni, 66.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
                              MiB Mem :   8064.1 total,   1164.0 free,   4494.5 used,   2499.0 buff/cache
                              MiB Swap:    200.0 total,    200.0 free,      0.0 used.   3569.6 avail Mem
                              
                              *** FAILED SERVICES ***
                              
                                UNIT LOAD ACTIVE SUB DESCRIPTION
                              0 loaded units listed.
                              
                              
                              *** DMESG CRITICAL ERRORS ***
                              No critical errors detected
                              
                              *** FILESYSTEM ***
                              Filesystem     Type      Size  Used Avail Use% Mounted on
                              udev           devtmpfs  3.9G     0  3.9G   0% /dev
                              tmpfs          tmpfs     807M  5.4M  802M   1% /run
                              /dev/nvme0n1p2 ext4      938G   18G  873G   2% /
                              tmpfs          tmpfs     4.0G     0  4.0G   0% /dev/shm
                              tmpfs          tmpfs     5.0M   48K  5.0M   1% /run/lock
                              /dev/nvme0n1p1 vfat      511M   65M  447M  13% /boot/firmware
                              tmpfs          tmpfs     807M     0  807M   0% /run/user/1000
                              
                              Messages concerning ext4 filesystem in dmesg:
                              [Fri Jun 13 16:21:43 2025] Kernel command line: reboot=w coherent_pool=1M 8250.n                                                                                                                                                             r_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave  numa=f                                                                                                                                                             ake=8 system_heap.max_order=0 smsc95xx.macaddr=2C:CF:67:38:30:C8 vc_mem.mem_base                                                                                                                                                             =0x3fc00000 vc_mem.mem_size=0x40000000  console=ttyAMA10,115200 console=tty1 roo                                                                                                                                                             t=PARTUUID=d86775b7-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee802                                                                                                                                                             11_regdom=AT
                              [Fri Jun 13 16:21:46 2025] EXT4-fs (nvme0n1p2): mounted filesystem 4e43b7ef-50b8                                                                                                                                                             -4db8-af9c-bba08ba271ec ro with ordered data mode. Quota mode: none.
                              [Fri Jun 13 16:21:47 2025] EXT4-fs (nvme0n1p2): re-mounted 4e43b7ef-50b8-4db8-af                                                                                                                                                             9c-bba08ba271ec r/w. Quota mode: none.
                              
                              Show mounted filesystems:
                              TARGET           SOURCE         FSTYPE OPTIONS
                              /                /dev/nvme0n1p2 ext4   rw,noatime
                              `-/boot/firmware /dev/nvme0n1p1 vfat   rw,relatime,fmask=0022,dmask=0022,codepag                                                                                                                                                             e=437,iocharset=ascii,shortname=mixed,errors=remount-ro
                              
                              Files in neuralgic directories:
                              
                              /var:
                              8.8G    /var/
                              4.0G    /var/cache/apt
                              4.0G    /var/cache
                              3.9G    /var/cache/apt/archives
                              3.1G    /var/lib
                              
                              Archived and active journals take up 1.5G in the file system.
                              
                              /opt/iobroker/backups:
                              41M     /opt/iobroker/backups/
                              
                              /opt/iobroker/iobroker-data:
                              2.7G    /opt/iobroker/iobroker-data/
                              2.0G    /opt/iobroker/iobroker-data/history
                              532M    /opt/iobroker/iobroker-data/files
                              228M    /opt/iobroker/iobroker-data/files/vis
                              221M    /opt/iobroker/iobroker-data/files/vis/widgets
                              
                              The five largest files in iobroker-data are:
                              47M     /opt/iobroker/iobroker-data/objects.jsonl
                              16M     /opt/iobroker/iobroker-data/states.jsonl
                              9.8M    /opt/iobroker/iobroker-data/files/vis-2/material-icons/knx-uf.json
                              9.8M    /opt/iobroker/iobroker-data/files/homekit-controller.admin/static/js/mai                                                                                                                                                             n.f592ece1.js
                              8.1M    /opt/iobroker/iobroker-data/files/backitup.admin/assets/index-BFvcOIQE.j                                                                                                                                                             s
                              
                              USB-Devices by-id:
                              USB-Sticks -  Avoid direct links to /dev/tty* in your adapter setups, please alw                                                                                                                                                             ays prefer the links 'by-id':
                              
                              /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_d4edcf55336cef1193                                                                                                                                                             0b9fadc169b110-if00-port0
                              
                              *** ZigBee Settings ***
                              
                              Your zigbee.0 COM-Port is matching 'by-id'. Very good!
                              Zigbee Network Settings on your coordinator/in nvbackup are:
                              
                              zigbee.X
                              Extended Pan ID:
                              *** MASKED ***
                              Pan ID:
                              *** MASKED ***
                              Channel:
                              *** MASKED ***
                              Network Key:
                              *** MASKED ***
                              
                              To unmask the settings run 'iob diag --unmask'
                              
                              
                              *** NodeJS-Installation ***
                              
                              /usr/bin/nodejs         v20.19.2
                              /usr/bin/node           v20.19.2
                              /usr/bin/npm            10.8.2
                              /usr/bin/npx            10.8.2
                              /usr/bin/corepack       0.31.0
                              
                              nodejs:
                                Installed: 20.19.2-1nodesource1
                                Candidate: 20.19.2-1nodesource1
                                Version table:
                               *** 20.19.2-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                      100 /var/lib/dpkg/status
                                   20.19.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.19.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.18.3-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.18.2-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.18.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.18.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.17.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.16.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.15.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.15.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.14.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.13.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.13.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.12.2-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.12.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.12.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.11.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.11.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.10.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.9.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.8.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.8.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.7.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.6.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.6.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.5.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.5.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.4.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.3.1-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.3.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.2.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.1.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   20.0.0-1nodesource1 1001
                                      500 https://deb.nodesource.com/node_20.x nodistro/main arm64 Packages
                                   18.19.0+dfsg-6~deb12u2 500
                                      500 http://deb.debian.org/debian bookworm/main arm64 Packages
                                   18.19.0+dfsg-6~deb12u1 500
                                      500 http://deb.debian.org/debian-security bookworm-security/main arm64 P                                                                                                                                                             ackages
                              
                              Temp directories causing deletion problem: 0
                              No problems detected
                              
                              Errors in npm tree: 0
                              No problems detected
                              
                              *** ioBroker-Installation ***
                              
                              ioBroker Status
                              iobroker is running on this host.
                              
                              
                              Objects type: jsonl
                              States  type: jsonl
                              
                              Hosts:
                              raspberrypi5a       raspberrypi5a (version: 7.0.7, hostname: raspberrypi5a , ali                                                                                                                                                             ve, uptime: 7601)
                              
                              Core adapters versions
                              js-controller:  7.0.7
                              admin:          7.6.19
                              javascript:     9.0.3
                              
                              nodejs modules from github:     0
                              
                              Adapter State
                              + system.adapter.accuweather.0            : accuweather           : raspberrypi5a                            -  enabled
                              + system.adapter.admin.0                  : admin                 : raspberrypi5a                            -  enabled, port: 8081, bind: 0.0.0.0, run as: admin
                              + system.adapter.alexa2.0                 : alexa2                : raspberrypi5a                            -  enabled
                                system.adapter.awattar.0                : awattar               : raspberrypi5a                            -  enabled
                              + system.adapter.backitup.0               : backitup              : raspberrypi5a                            -  enabled
                              + system.adapter.ble.0                    : ble                   : raspberrypi5a                            -  enabled
                              + system.adapter.bydhvs.0                 : bydhvs                : raspberrypi5a                            -  enabled
                              + system.adapter.cloud.0                  : cloud                 : raspberrypi5a                            -  enabled
                              + system.adapter.countdown.0              : countdown             : raspberrypi5a                            -  enabled
                                system.adapter.daswetter.0              : daswetter             : raspberrypi5a                            -  enabled
                                system.adapter.daswetter.1              : daswetter             : raspberrypi5a                            -  enabled
                                system.adapter.devices.0                : devices               : raspberrypi5a                            - disabled
                              + system.adapter.discovery.0              : discovery             : raspberrypi5a                            -  enabled
                              + system.adapter.echarts.0                : echarts               : raspberrypi5a                            -  enabled
                              + system.adapter.energiefluss-erweitert.0 : energiefluss-erweitert: raspberrypi5a                            -  enabled
                              + system.adapter.evcc.0                   : evcc                  : raspberrypi5a                            -  enabled, port: 7070
                              + system.adapter.fritzdect.0              : fritzdect             : raspberrypi5a                            -  enabled
                              + system.adapter.fronius-solarweb.0       : fronius-solarweb      : raspberrypi5a                            -  enabled
                              + system.adapter.fronius-wattpilot.0      : fronius-wattpilot     : raspberrypi5a                            -  enabled
                              + system.adapter.fronius-wattpilot.1      : fronius-wattpilot     : raspberrypi5a                            -  enabled
                              + system.adapter.fronius.0                : fronius               : raspberrypi5a                            -  enabled
                              + system.adapter.fronius.1                : fronius               : raspberrypi5a                            -  enabled
                              + system.adapter.history.0                : history               : raspberrypi5a                            -  enabled
                                system.adapter.homekit-controller.0     : homekit-controller    : raspberrypi5a                            - disabled
                                system.adapter.ical.0                   : ical                  : raspberrypi5a                            -  enabled
                              + system.adapter.influxdb.0               : influxdb              : raspberrypi5a                            -  enabled, port: 8086
                                system.adapter.iot.0                    : iot                   : raspberrypi5a                            - disabled
                              + system.adapter.iqontrol.0               : iqontrol              : raspberrypi5a                            -  enabled
                              + system.adapter.javascript.0             : javascript            : raspberrypi5a                            -  enabled
                              + system.adapter.meross.0                 : meross                : raspberrypi5a                            -  enabled
                              + system.adapter.modbus.0                 : modbus                : raspberrypi5a                            -  enabled
                              + system.adapter.modbus.1                 : modbus                : raspberrypi5a                            -  enabled
                              + system.adapter.mqtt.0                   : mqtt                  : raspberrypi5a                            -  enabled, port: 1883, bind: 0.0.0.0
                              + system.adapter.node-red.0               : node-red              : raspberrypi5a                            -  enabled, port: 1880, bind: 0.0.0.0
                                system.adapter.ocpp.0                   : ocpp                  : raspberrypi5a                            - disabled, port: 9220
                              + system.adapter.parser.0                 : parser                : raspberrypi5a                            -  enabled
                              + system.adapter.ping.0                   : ping                  : raspberrypi5a                            -  enabled
                              + system.adapter.pvforecast.0             : pvforecast            : raspberrypi5a                            -  enabled
                              + system.adapter.pvforecast.1             : pvforecast            : raspberrypi5a                            -  enabled
                              + system.adapter.shelly.0                 : shelly                : raspberrypi5a                            -  enabled, port: 1884, bind: 0.0.0.0
                              + system.adapter.shelly.1                 : shelly                : raspberrypi5a                            -  enabled, port: 1882, bind: 0.0.0.0
                              + system.adapter.smartgarden.0            : smartgarden           : raspberrypi5a                            -  enabled
                                system.adapter.smartmeter.0             : smartmeter            : raspberrypi5a                            - disabled
                              + system.adapter.smartthings.0            : smartthings           : raspberrypi5a                            -  enabled
                                system.adapter.sonoff.0                 : sonoff                : raspberrypi5a                            - disabled, port: 1884, bind: 0.0.0.0
                              + system.adapter.sourceanalytix.0         : sourceanalytix        : raspberrypi5a                            -  enabled
                              + system.adapter.synochat.0               : synochat              : raspberrypi5a                            -  enabled
                              + system.adapter.terminal.0               : terminal              : raspberrypi5a                            -  enabled, port: 8088, bind: 0.0.0.0, run as: admin
                              + system.adapter.tr-064.0                 : tr-064                : raspberrypi5a                            -  enabled
                              + system.adapter.tr-064.1                 : tr-064                : raspberrypi5a                            -  enabled
                              + system.adapter.tr-064.2                 : tr-064                : raspberrypi5a                            -  enabled
                              + system.adapter.trashschedule.0          : trashschedule         : raspberrypi5a                            -  enabled
                              + system.adapter.tuya.0                   : tuya                  : raspberrypi5a                            -  enabled
                                system.adapter.vis-2-widgets-energy.0   : vis-2-widgets-energy  : raspberrypi5a                            - disabled
                                system.adapter.vis-2-widgets-gauges.0   : vis-2-widgets-gauges  : raspberrypi5a                            - disabled
                                system.adapter.vis-2-widgets-jaeger-design.0: vis-2-widgets-jaeger-design: raspberrypi5a                            - disabled
                                system.adapter.vis-2-widgets-material.0 : vis-2-widgets-material: raspberrypi5a                            - disabled
                              + system.adapter.vis-2.0                  : vis-2                 : raspberrypi5a                            -  enabled
                                system.adapter.vis-hqwidgets.0          : vis-hqwidgets         : raspberrypi5a                            - disabled
                              + system.adapter.vis-inventwo.0           : vis-inventwo          : raspberrypi5a                            -  enabled
                                system.adapter.vis-materialdesign.0     : vis-materialdesign    : raspberrypi5a                            - disabled
                                system.adapter.vis-metro.0              : vis-metro             : raspberrypi5a                            - disabled
                                system.adapter.vis.0                    : vis                   : raspberrypi5a                            -  enabled
                                system.adapter.volvo.0                  : volvo                 : raspberrypi5a                            - disabled
                                system.adapter.volvo.1                  : volvo                 : raspberrypi5a                            - disabled
                              + system.adapter.weather-warnings.0       : weather-warnings      : raspberrypi5a                            -  enabled
                              + system.adapter.web.0                    : web                   : raspberrypi5a                            -  enabled, port: 8082, bind: 0.0.0.0, run as: admin
                              + system.adapter.whatsapp-cmb.0           : whatsapp-cmb          : raspberrypi5a                            -  enabled
                                system.adapter.yr.0                     : yr                    : raspberrypi5a                            -  enabled
                              + system.adapter.zigbee.0                 : zigbee                : raspberrypi5a                            -  enabled, port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_d4edcf55336cef11930b9fadc169b110-if00-port0
                                system.adapter.zigbee2mqtt.0            : zigbee2mqtt           : raspberrypi5a                            - disabled
                              
                              + instance is alive
                              
                              Enabled adapters with bindings
                              + system.adapter.admin.0                  : admin                 : raspberrypi5a                            -  enabled, port: 8081, bind: 0.0.0.0, run as: admin
                              + system.adapter.evcc.0                   : evcc                  : raspberrypi5a                            -  enabled, port: 7070
                              + system.adapter.influxdb.0               : influxdb              : raspberrypi5a                            -  enabled, port: 8086
                              + system.adapter.mqtt.0                   : mqtt                  : raspberrypi5a                            -  enabled, port: 1883, bind: 0.0.0.0
                              + system.adapter.node-red.0               : node-red              : raspberrypi5a                            -  enabled, port: 1880, bind: 0.0.0.0
                              + system.adapter.shelly.0                 : shelly                : raspberrypi5a                            -  enabled, port: 1884, bind: 0.0.0.0
                              + system.adapter.shelly.1                 : shelly                : raspberrypi5a                            -  enabled, port: 1882, bind: 0.0.0.0
                              + system.adapter.terminal.0               : terminal              : raspberrypi5a                            -  enabled, port: 8088, bind: 0.0.0.0, run as: admin
                              + system.adapter.web.0                    : web                   : raspberrypi5a                            -  enabled, port: 8082, bind: 0.0.0.0, run as: admin
                              + system.adapter.zigbee.0                 : zigbee                : raspberrypi5a                            -  enabled, port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_d4edcf55336cef11930b9fadc169b110-if00-port0
                              
                              ioBroker-Repositories
                              ┌─────────┬──────────┬─────────────────────────────────────────────────────────┬──────────────┐
                              │ (index) │ name     │ url                                                     │ auto upgrade │
                              ├─────────┼──────────┼─────────────────────────────────────────────────────────┼──────────────┤
                              │ 0       │ 'stable' │ 'http://download.iobroker.net/sources-dist.json'        │ false        │
                              │ 1       │ 'beta'   │ 'http://download.iobroker.net/sources-dist-latest.json' │ false        │
                              └─────────┴──────────┴─────────────────────────────────────────────────────────┴──────────────┘
                              
                              Active repo(s): beta
                              Upgrade policy: patch
                              
                              Installed ioBroker-Adapters
                              Used repository: beta
                              Adapter    "accuweather"  : 2.1.0    , installed 2.1.0
                              Adapter    "admin"        : 7.6.19   , installed 7.6.19
                              Adapter    "alexa2"       : 3.26.7   , installed 3.26.7
                              Adapter    "awattar"      : 1.0.6    , installed 1.0.6
                              Adapter    "backitup"     : 3.2.2    , installed 3.2.2
                              Adapter    "ble"          : 0.14.1   , installed 0.14.1
                              Adapter    "bydhvs"       : 1.5.0    , installed 1.5.0
                              Adapter    "cloud"        : 5.0.1    , installed 5.0.1
                              Adapter    "countdown"    : 3.0.0    , installed 3.0.0
                              Adapter    "daswetter"    : 3.2.3    , installed 3.2.3
                              Adapter    "devices"      : 1.2.6    , installed 1.2.6
                              Adapter    "discovery"    : 5.0.0    , installed 5.0.0
                              Adapter    "echarts"      : 2.0.6    , installed 2.0.6
                              Adapter    "energiefluss-erweitert": 0.7.7, installed 0.7.7
                              Adapter    "evcc"         : 0.2.2    , installed 0.2.2
                              Adapter    "fritzdect"    : 2.6.2    , installed 2.6.2
                              Adapter    "fronius"      : 2.1.1    , installed 2.1.1
                              Adapter    "fronius-solarweb": 0.1.1 , installed 0.1.1
                              Adapter    "fronius-wattpilot": 4.6.3, installed 4.6.3
                              Adapter    "history"      : 3.0.1    , installed 3.0.1
                              Adapter    "homekit-controller": 0.5.11, installed 0.5.11
                              Adapter    "ical"         : 1.16.1   , installed 1.16.1
                              Adapter    "influxdb"     : 4.0.2    , installed 4.0.2
                              Adapter    "iot"          : 3.5.2    , installed 3.5.2
                              Adapter    "iqontrol"     : 3.0.0    , installed 3.0.0
                              Adapter    "javascript"   : 9.0.3    , installed 9.0.3
                              Controller "js-controller": 7.0.7    , installed 7.0.7
                              Adapter    "meross"       : 1.17.0   , installed 1.17.0
                              Adapter    "modbus"       : 6.4.0    , installed 6.4.0
                              Adapter    "mqtt"         : 6.1.4    , installed 6.1.4
                              Adapter    "node-red"     : 6.0.7    , installed 6.0.7
                              Adapter    "ocpp"         : 0.12.5   , installed 0.12.5
                              Adapter    "parser"       : 2.3.1    , installed 2.3.1
                              Adapter    "ping"         : 1.7.9    , installed 1.7.9
                              Adapter    "pvforecast"   : 5.0.0    , installed 5.0.0
                              Adapter    "shelly"       : 10.0.0   , installed 10.0.0
                              Adapter    "smartgarden"  : 2.0.1    , installed 2.0.1
                              Adapter    "smartmeter"   : 3.4.0    , installed 3.4.0
                              Adapter    "smartthings"  : 0.2.2    , installed 0.2.2
                              Adapter    "socketio"     : 7.0.8    , installed 7.0.8
                              Adapter    "sonoff"       : 3.2.1    , installed 3.2.1
                              Adapter    "sourceanalytix": 0.4.14  , installed 0.4.14
                              Adapter    "synochat"     : 1.3.3    , installed 1.3.3
                              Adapter    "terminal"     : 1.0.0    , installed 1.0.0
                              Adapter    "tr-064"       : 4.3.0    , installed 4.3.0
                              Adapter    "trashschedule": 4.0.0    , installed 4.0.0
                              Adapter    "tuya"         : 3.17.0   , installed 3.17.0
                              Adapter    "vis"          : 1.5.6    , installed 1.5.6
                              Adapter    "vis-2"        : 2.12.10  , installed 2.12.10
                              Adapter    "vis-2-widgets-energy": 1.0.2, installed 1.0.2
                              Adapter    "vis-2-widgets-gauges": 1.1.1, installed 1.1.1
                              Adapter    "vis-2-widgets-jaeger-design": 1.4.3, installed 1.4.3
                              Adapter    "vis-2-widgets-material": 1.4.10, installed 1.4.10
                              Adapter    "vis-hqwidgets": 1.5.1    , installed 1.5.1
                              Adapter    "vis-inventwo" : 3.3.5    , installed 3.3.5
                              Adapter    "vis-materialdesign": 0.5.9, installed 0.5.9
                              Adapter    "vis-metro"    : 1.2.0    , installed 1.2.0
                              Adapter    "volvo"        : 0.1.2    , installed 0.1.2
                              Adapter    "weather-warnings": 0.7.4 , installed 0.7.4
                              Adapter    "web"          : 7.0.9    , installed 7.0.9
                              Adapter    "whatsapp-cmb" : 0.3.0    , installed 0.3.0
                              Adapter    "ws"           : 3.0.19   , installed 3.0.19
                              Adapter    "yr"           : 5.3.0    , installed 5.3.0
                              Adapter    "zigbee"       : 3.0.1    , installed 3.0.1
                              Adapter    "zigbee2mqtt"  : 3.0.8    , installed 3.0.8
                              
                              Objects and States
                              Please stand by - This may take a while
                              Objects:        46620
                              States:         39800
                              
                              *** OS-Repositories and Updates ***
                              Hit:1 http://archive.raspberrypi.com/debian bookworm InRelease
                              Hit:2 http://deb.debian.org/debian bookworm InRelease
                              Hit:3 https://apt.grafana.com stable InRelease
                              Hit:4 https://repos.influxdata.com/debian stable InRelease
                              Hit:5 http://deb.debian.org/debian-security bookworm-security InRelease
                              Hit:6 https://deb.nodesource.com/node_20.x nodistro InRelease
                              Get:7 https://dl.evcc.io/public/evcc/stable/deb/debian bookworm InRelease
                              Hit:8 http://deb.debian.org/debian bookworm-updates InRelease
                              Fetched 5127 B in 1s (7101 B/s)
                              Reading package lists...
                              Pending Updates: 1
                              
                              *** Listening Ports ***
                              Active Internet connections (only servers)
                              Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
                              tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          4834       817/sshd: /usr/sbin
                              tcp        0      0 127.0.0.1:1883          0.0.0.0:*               LISTEN      107        5615       814/mosquitto
                              tcp        0      0 127.0.0.1:9001          0.0.0.0:*               LISTEN      1001       6934       995/iobroker.js-con
                              tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      1001       6939       995/iobroker.js-con
                              tcp        0      0 0.0.0.0:1884            0.0.0.0:*               LISTEN      1001       10488      1421/io.shelly.0
                              tcp        0      0 0.0.0.0:1880            0.0.0.0:*               LISTEN      1001       6044       1195/node-red
                              tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      108        5653       802/redis-server 12
                              tcp6       0      0 :::22                   :::*                    LISTEN      0          4836       817/sshd: /usr/sbin
                              tcp6       0      0 ::1:6379                :::*                    LISTEN      108        5654       802/redis-server 12
                              tcp6       0      0 :::7070                 :::*                    LISTEN      109        8274       891/evcc
                              tcp6       0      0 :::3000                 :::*                    LISTEN      106        5813       994/grafana
                              tcp6       0      0 ::1:1883                :::*                    LISTEN      107        5616       814/mosquitto
                              tcp6       0      0 :::8086                 :::*                    LISTEN      999        7548       904/influxd
                              tcp6       0      0 :::8082                 :::*                    LISTEN      1001       15161      2061/io.web.0
                              tcp6       0      0 :::8081                 :::*                    LISTEN      1001       6982       1051/io.admin.0
                              tcp6       0      0 :::8088                 :::*                    LISTEN      1001       15581      1947/io.terminal.0
                              udp        0      0 0.0.0.0:5353            0.0.0.0:*                           104        5515       694/avahi-daemon: r
                              udp        0      0 0.0.0.0:5683            0.0.0.0:*                           1001       10526      1439/io.shelly.1
                              udp        0      0 0.0.0.0:59008           0.0.0.0:*                           104        5517       694/avahi-daemon: r
                              udp        0      0 0.0.0.0:6666            0.0.0.0:*                           1001       9111       1510/io.tuya.0
                              udp        0      0 0.0.0.0:6667            0.0.0.0:*                           1001       9112       1510/io.tuya.0
                              udp6       0      0 fe80::8810:fd5e:d9b:546 :::*                                0          5760       735/NetworkManager
                              udp6       0      0 fe80::2cd7:eb6f:729:546 :::*                                0          5754       735/NetworkManager
                              udp6       0      0 :::5353                 :::*                                104        5516       694/avahi-daemon: r
                              udp6       0      0 :::56267                :::*                                104        5518       694/avahi-daemon: r
                              
                              *** Log File - Last 25 Lines ***
                              
                              2025-06-13 18:29:15.968  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Sys.lon, value: 16.3662
                              2025-06-13 18:29:15.968  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Sys.debugEnabled, value: false
                              2025-06-13 18:29:16.052  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.WiFi.apEnabled, value: false
                              2025-06-13 18:29:16.195  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Mqtt.topicPrefix, value: "shellyplusplugs-b0b21c1309fc"
                              2025-06-13 18:29:16.195  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Mqtt.rpcNotifications, value: true
                              2025-06-13 18:29:16.195  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Mqtt.statusNotifications, value: true
                              2025-06-13 18:29:16.195  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Mqtt.clientId, value: "shellyplusplugs-b0b21c1309fc"
                              2025-06-13 18:29:16.283  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Cloud.enabled, value: true
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.Mode, value: "switch"
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.PowerBrightness, value: 30
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.SwitchOnBrightness, value: 20
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.SwitchOnColor, value: "8,100,13"
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.SwitchOffBrightness, value: 20
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.SwitchOffColor, value: "100,0,6"
                              2025-06-13 18:29:16.435  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.NightModeEnabled, value: false
                              2025-06-13 18:29:16.436  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.PLUGS_UI.NightModeBrightness, value: 80
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.ChannelName, value: null
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.InitialState, value: "off"
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.AutoTimerOn, value: false
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.AutoTimerOnDelay, value: 60
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.AutoTimerOff, value: false
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.AutoTimerOffDelay, value: 60
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.LimitPower, value: 2500
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.LimitCurrent, value: 12
                              2025-06-13 18:29:16.520  - debug: shelly.0 (1421) [httpIoBrokerState] State change 192.168.178.31 (shellyplusplugs / shellyplusplugs-b0b21c1309fc / shellyplusplugs#b0b21c1309fc#1): state: shellyplusplugs#b0b21c1309fc#1.Relay0.LimitVoltage, value: 280
                              
                              

                              ============ Mark until here for C&P =============

                              iob diag has finished.

                              1 Antwort Letzte Antwort
                              0
                              • Thomas MaulT Offline
                                Thomas MaulT Offline
                                Thomas Maul
                                schrieb am zuletzt editiert von Thomas Maul
                                #17

                                @mg99 said in Tester für Javascript 9.0.1 gesucht:

                                Veränderungen von bereits bestehenden Skripten teilweise nicht möglich.
                                D.h. die Buttons Speichern bzw. Abbrechen kommen nicht.
                                Das passiert allerdings nicht bei allen blocklys.
                                F5 - hilft nicht.

                                Kann ich bestätigen.

                                EDIT plus: neues Skript anlegen funktioniert auch nicht.

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

                                  Ich wollte gerade ein Blockly kopieren. Dazu habe ich ein vorhandenes Exportiert und in die Zwischenablage kopiert,
                                  dann ein neues, leeres angelegt und wollt dann importieren:

                                  d0b11978-765a-4a5e-86c3-78409a53d1ee-image.png

                                  TypeError: this.blocklyWorkspace.paste is not a function
                                  

                                  Falls das mal jemand verifizieren 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

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • BananaJoeB BananaJoe

                                    Ich wollte gerade ein Blockly kopieren. Dazu habe ich ein vorhandenes Exportiert und in die Zwischenablage kopiert,
                                    dann ein neues, leeres angelegt und wollt dann importieren:

                                    d0b11978-765a-4a5e-86c3-78409a53d1ee-image.png

                                    TypeError: this.blocklyWorkspace.paste is not a function
                                    

                                    Falls das mal jemand verifizieren kann.

                                    S Abwesend
                                    S Abwesend
                                    Shadowhunter23
                                    schrieb am zuletzt editiert von Shadowhunter23
                                    #19

                                    @bananajoe
                                    Kann ich, ist bei mir auch.
                                    Dazu gibt's auch ein Issue:
                                    https://github.com/ioBroker/ioBroker.javascript/issues/1890

                                    Proxmox 9 HA-Cluster mit 3x HP prodesk 400 G6 i5
                                    Bei einem downvote bitte melden, es könnte sein, dass dieser ungewollt ist!

                                    1 Antwort Letzte Antwort
                                    1
                                    • amg_666A Offline
                                      amg_666A Offline
                                      amg_666
                                      schrieb am zuletzt editiert von
                                      #20

                                      ich möchte ein vorthandenes Blockly Script umbauen und will hierfür eine Funktion einbauen.
                                      Ich habe die Funktion inkl deren Aufruf mehrfach in Blockly eingegeben und gespeichert. wenn ich den Editor zu und wieder aufmache sind die Änderungen weg...
                                      Browser Cache habe ich gelöscht und Browser neu gestartet.
                                      Mir ist noch aufgefallen: Wenn ich das Script öffne und dann einen "Funktion" Baustein in das Script ziehe, dann erscheint der Button "Speichern" nicht. Wenn ich im Script irgendwas anderes ändere (einen Block lösche, einen Trigger einfüge etc), dann erscheint "Speichern".
                                      Hat hir jemand eine Idee woran es liegen könnte?
                                      Firefox Browser, iob auf proxmox container, Beta repo
                                      node-js 20.19.2
                                      npm 10.8.2
                                      js-controller 7.0.7
                                      javascript adapter 9.0.3

                                      iobroker auf proxmox container

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • amg_666A amg_666

                                        ich möchte ein vorthandenes Blockly Script umbauen und will hierfür eine Funktion einbauen.
                                        Ich habe die Funktion inkl deren Aufruf mehrfach in Blockly eingegeben und gespeichert. wenn ich den Editor zu und wieder aufmache sind die Änderungen weg...
                                        Browser Cache habe ich gelöscht und Browser neu gestartet.
                                        Mir ist noch aufgefallen: Wenn ich das Script öffne und dann einen "Funktion" Baustein in das Script ziehe, dann erscheint der Button "Speichern" nicht. Wenn ich im Script irgendwas anderes ändere (einen Block lösche, einen Trigger einfüge etc), dann erscheint "Speichern".
                                        Hat hir jemand eine Idee woran es liegen könnte?
                                        Firefox Browser, iob auf proxmox container, Beta repo
                                        node-js 20.19.2
                                        npm 10.8.2
                                        js-controller 7.0.7
                                        javascript adapter 9.0.3

                                        T Offline
                                        T Offline
                                        TT-Tom
                                        schrieb am zuletzt editiert von
                                        #21

                                        @amg_666

                                        Der Javascript Adapter ist noch Beta in deiner Version. Bitte zurück auf stable.
                                        Hier ist der Testpost dazu.

                                        Gruß Tom
                                        https://github.com/tt-tom17
                                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                        NSPanel Script Wiki
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        NSPanel Adapter Wiki
                                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                        amg_666A 1 Antwort Letzte Antwort
                                        0
                                        • T TT-Tom

                                          @amg_666

                                          Der Javascript Adapter ist noch Beta in deiner Version. Bitte zurück auf stable.
                                          Hier ist der Testpost dazu.

                                          amg_666A Offline
                                          amg_666A Offline
                                          amg_666
                                          schrieb am zuletzt editiert von
                                          #22

                                          @tt-tom danke, probier ich aus. Soll ich noch ein issue auf github aufmachen?

                                          iobroker auf proxmox container

                                          T 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

                                          702

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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