Diese Zusammenfassung enthält die wichtigsten Änderungen des JavaScript-Adapters ab Version 8.0.0.
Besonderer Dank geht an Matthias Kleine (kleinOr) für seine großartige Arbeit an diesem Adapter!
Neue Funktionen und Verbesserungen
- 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.
Man kann jetzt im Blockly auf einen Log-Eintrag reagieren,

auf die Änderung von einer Datei zu reagieren,

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

-
Sicherheit: Der geschützte Dateisystembereich (
iobroker-data/files) wurde eingeführt, um direkte Schreibzugriffe zu verhindern. -
Kompatibilität: Unterstützung für Node.js >= 18.x und js-controller >= 5 ist ab sofort erforderlich.
-
Skriptfunktionen: Neue Funktionen für temporäre Dateien, Ablaufzeiten in Blockly und globalen Variablen.
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)
});
- Protokollierung: Verbesserte Protokollierung mit Instanz- und Herkunft-Informationen im Log-Fenster.
Altes Log-Format:

Neues Log-Format:

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

-
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).
-
Verschiedene Fehlerbehebungen
Gesamtes Changelog
Für die Nutzung der neuesten Funktionen wird NodeJS >= 18.x und js-controller >= 5 benötigt.
Einige Änderungen wirken sich auf bestehende Skripte aus (z.B. fehlende Unterstützung für Zustände mit Dateien).
8.0.0 (2024-04-05):
- Breaking Change: Unterstützung für Zustände mit Dateien entfernt (seit v6.2.0 veraltet) (klein0r)
- Breaking Change: Geschütztes Dateisystem (iobroker-data/files) zum Verhindern direkter Schreibzugriffe (klein0r)
- Breaking Change: request-Eigenschaft der Sandbox entfernt (Modul muss bei Bedarf neu importiert werden) (klein0r)
- Blockly-Block für globale Variablen hinzugefügt (z. B. Skriptname) (klein0r)
- Fehlende Funktionen zu protectFS hinzugefügt (klein0r)
- httpPost behoben (fehlende Daten) (klein0r)
- hasAttribute Blockly-Block behoben (klein0r)
- Klammerneinfügung in Blockly für multi und or behoben (klein0r)
- setStateChanged / setStateChangedAsync hinzugefügt (PeterVoronov)
8.0.1 (2024-04-08):
- Behebung einiger fehlender Übersetzungen (ukrainisch) (klein0r)
- Unterstützte ecmaVersion von es2021 auf es2022 angehoben (Node.js 18) (klein0r)
8.0.2 (2024-04-08):
- Gezwungenes Downgrade von socket-client (Probleme mit Objektänderungen) (klein0r)
8.0.3 (2024-04-11):
- Abhängigkeiten aktualisiert (neuestes Framework adapter-react-v5) (klein0r)
8.1.0 (2024-05-03):
- Admin-Konfiguration auf jsonConfig aktualisiert (Materialize entfernt) (bluefox)
8.1.1 (2024-05-03):
- Aktualisierung von Blockly/JS- und Rules/JS-Bildern (als SVG) (klein0r)
8.2.0 (2024-05-07):
- toArray zum Ergebnisobjekt des $-Selektors hinzugefügt (PeterVoronov)
- Blockly-Block für onLog hinzugefügt (klein0r)
8.3.0 (2024-05-09):
- createTempFile zur Sandbox hinzugefügt (klein0r)
- Fehlerbehebung in der Protokollmeldung beim Skriptstart (klein0r)
- Instanz/Herkunft zum Protokollfenster hinzugefügt (wie im Admin) (klein0r)
8.3.1 (2024-05-13):
- Negative Werte in formatTimeDiff zulassen (paul53)
- Tests aktualisiert und Blockly-Übersetzungen behoben (klein0r)
8.4.0 (2024-05-25):
- Zusätzliche Prüfungen und Warnungen für falsche Blockly-Verbindungen hinzugefügt (klein0r)
- Option zum Deaktivieren der Zertifikatsvalidierung bei httpGet hinzugefügt (klein0r)
- Ablaufzeit-Option für Blockly-Block hinzugefügt (klein0r)
- Fehler bei variables.astro behoben, wenn kein Datum verfügbar ist (klein0r)
- Fehler in jsonConfig für Bibliotheken und Bibliothekstypisierungen behoben (klein0r)
- Neue Funktionen von js-controller 6.x für die Paketverwaltung implementiert (klein0r)
- Update auf ChatGPT-4o (klein0r)
8.4.1 (2024-05-26):
-
httpPost-Block behoben (klein0r)
-
Veraltete Blockly-Verbindungen werden nur einmal pro Skriptstart/Nutzung gewarnt (klein0r)
8.4.2 (2024-05-28):
-
createState behoben (redundante native Attribute entfernt) (klein0r)
-
Fehler in der benutzerdefinierten Komponente "astro" behoben (winnyschuster)
8.4.3 (2024-06-04):
- Antwortzeit zu httpGet und httpPost Ergebnis hinzugefügt (klein0r)
- Auslöseblock hinzugefügt, um neue Werte zu bestätigen (klein0r)
- Auswahl verschiedener ChatGPT-Modelle für den KI-Codegenerator erlaubt (bluefox)