TR: ioBroker JavaScript-Adapter - Verbesserungen April-Mai 2024

TR: # ioBroker JavaScript-Adapter: Verbesserungen April-Mai 2024 TR: Diese Zusammenfassung enthält die wichtigsten Änderungen des JavaScript-Adapters ab Version 8.0.0.

TR: Besonderer Dank geht an Matthias Kleine TR: (kleinOr) für seine großartige Arbeit an diesem Adapter!

TR: ## Neue Funktionen und Verbesserungen TR: - Blockly: Zahlreiche Verbesserungen an den Blockly-Blöcken, inklusive neuer Blöcke für onLog, globalen Variablen, Datum/Uhrzeit-Funktionen und Zertifikats-Validierung bei httpGet.

TR: Man kann jetzt im Blockly auf einen Log-Eintrag reagieren,

TR: onLog

TR: auf die Änderung von einer Datei zu reagieren,

TR: onLog

TR: oder über blockly im Trigger sofort einen Zustand zu bestätigen.

TR: onLog

TR: - Sicherheit: Der geschützte Dateisystembereich (iobroker-data/files) wurde eingeführt, um direkte Schreibzugriffe zu verhindern.

TR: - Kompatibilität: Unterstützung für Node.js >= 18.x und js-controller >= 5 ist ab sofort erforderlich.

TR: - Skriptfunktionen: Neue Funktionen für temporäre Dateien, Ablaufzeiten in Blockly und globalen Variablen.

TR: Beispiel für die Verwendung der createTempFile-Funktion:

httpGet('https://raw.githubusercontent.com/ioBroker/ioBroker.javascript/master/admin/javascript.png', { responseType: 'arraybuffer' }, async (err, response) => {
    if (err) {
        console.error(err);
    } else {
        const tempFilePath = createTempFile('javascript.png', response.data);
        console.log(`Saved to ${tempFilePath}`);

        // Use the new path in other scripts (e.g. sendTo)
    }
});

onFile('0_userdata.0', 'test.jpg', true, async (id, fileName, size, data, mimeType) => {
    const tempFilePath = createTempFile(fileName, response.data);

    // Use the new path in other scripts (e.g. sendTo)
});

TR: - Protokollierung: Verbesserte Protokollierung mit Instanz- und Herkunft-Informationen im Log-Fenster.

TR: Altes Log-Format:

TR: onLog

TR: Neues Log-Format:

TR: onLog

TR: - AI code generator: Die Möglichkeit verschiedene ChatGPT-Modelle für die KI-Codegenerierung auszuwählen.

TR: onLog

TR: - Abwärtskompatibilität: Entfernte Unterstützung für Zustände mit Dateien (seit v6.2.0 veraltet) und die request-Eigenschaft in der Sandbox (Modul muss bei Bedarf neu importiert werden).

TR: - Verschiedene Fehlerbehebungen

TR: ## Gesamtes Changelog TR: Für die Nutzung der neuesten Funktionen wird NodeJS >= 18.x und js-controller >= 5 benötigt.

TR: Einige Änderungen wirken sich auf bestehende Skripte aus (z.B. fehlende Unterstützung für Zustände mit Dateien).

TR: 8.0.0 (2024-04-05):

TR: - Breaking Change: Unterstützung für Zustände mit Dateien entfernt (seit v6.2.0 veraltet) (klein0r) TR: - Breaking Change: Geschütztes Dateisystem (iobroker-data/files) zum Verhindern direkter Schreibzugriffe (klein0r) TR: - Breaking Change: request-Eigenschaft der Sandbox entfernt (Modul muss bei Bedarf neu importiert werden) (klein0r) TR: - Blockly-Block für globale Variablen hinzugefügt (z. B. Skriptname) (klein0r) TR: - Fehlende Funktionen zu protectFS hinzugefügt (klein0r) TR: - httpPost behoben (fehlende Daten) (klein0r) TR: - hasAttribute Blockly-Block behoben (klein0r) TR: - Klammerneinfügung in Blockly für multi und or behoben (klein0r) TR: - setStateChanged / setStateChangedAsync hinzugefügt (PeterVoronov)

TR: 8.0.1 (2024-04-08):

TR: - Behebung einiger fehlender Übersetzungen (ukrainisch) (klein0r) TR: - Unterstützte ecmaVersion von es2021 auf es2022 angehoben (Node.js 18) (klein0r)

TR: 8.0.2 (2024-04-08):

TR: - Gezwungenes Downgrade von socket-client (Probleme mit Objektänderungen) (klein0r)

TR: 8.0.3 (2024-04-11):

TR: - Abhängigkeiten aktualisiert (neuestes Framework adapter-react-v5) (klein0r)

TR: 8.1.0 (2024-05-03):

TR: - Admin-Konfiguration auf jsonConfig aktualisiert (Materialize entfernt) (bluefox)

TR: 8.1.1 (2024-05-03):

TR: - Aktualisierung von Blockly/JS- und Rules/JS-Bildern (als SVG) (klein0r)

TR: 8.2.0 (2024-05-07):

TR: - toArray zum Ergebnisobjekt des $-Selektors hinzugefügt (PeterVoronov) TR: - Blockly-Block für onLog hinzugefügt (klein0r)

TR: 8.3.0 (2024-05-09):

TR: - createTempFile zur Sandbox hinzugefügt (klein0r) TR: - Fehlerbehebung in der Protokollmeldung beim Skriptstart (klein0r) TR: - Instanz/Herkunft zum Protokollfenster hinzugefügt (wie im Admin) (klein0r)

TR: 8.3.1 (2024-05-13):

TR: - Negative Werte in formatTimeDiff zulassen (paul53) TR: - Tests aktualisiert und Blockly-Übersetzungen behoben (klein0r)

TR: 8.4.0 (2024-05-25):

TR: - Zusätzliche Prüfungen und Warnungen für falsche Blockly-Verbindungen hinzugefügt (klein0r) TR: - Option zum Deaktivieren der Zertifikatsvalidierung bei httpGet hinzugefügt (klein0r) TR: - Ablaufzeit-Option für Blockly-Block hinzugefügt (klein0r) TR: - Fehler bei variables.astro behoben, wenn kein Datum verfügbar ist (klein0r) TR: - Fehler in jsonConfig für Bibliotheken und Bibliothekstypisierungen behoben (klein0r) TR: - Neue Funktionen von js-controller 6.x für die Paketverwaltung implementiert (klein0r) TR: - Update auf ChatGPT-4o (klein0r)

TR: 8.4.1 (2024-05-26):

TR: - httpPost-Block behoben (klein0r)

TR: - Veraltete Blockly-Verbindungen werden nur einmal pro Skriptstart/Nutzung gewarnt (klein0r)

TR: 8.4.2 (2024-05-28):

TR: - createState behoben (redundante native Attribute entfernt) (klein0r)

TR: - Fehler in der benutzerdefinierten Komponente "astro" behoben (winnyschuster)

TR: 8.4.3 (2024-06-04):

TR: - Antwortzeit zu httpGet und httpPost Ergebnis hinzugefügt (klein0r) TR: - Auslöseblock hinzugefügt, um neue Werte zu bestätigen (klein0r) TR: - Auswahl verschiedener ChatGPT-Modelle für den KI-Codegenerator erlaubt (bluefox)