ioBrokerioBroker JavaScript

ioBroker JavaScript 10: Blockly mit KI und Passwörter ohne Klartext

Der JavaScript-Adapter ist für viele ioBroker-Installationen das Herzstück, weil dort sämtliche Automationen liegen. Version 10 ist zusammen mit Admin 8 ins Stable-Repository gewandert und bringt zwei Neuerungen, die im Alltag wirklich etwas ändern. Passwörter müssen nicht mehr im Skript stehen, und Blockly kann sich Bausteine von einer KI vorschlagen lassen.

Passwörter raus aus dem Skript

Das ist die praktischste Änderung. Zugangsdaten, die im Admin unter den Basiseinstellungen im zentralen Speicher liegen, stehen im Skript als Objekt SECRETS zur Verfügung.

const pw = SECRETS.KameraPasswort.key;

Die Werte kommen entschlüsselt an, lassen sich aus dem Skript heraus nur lesen und werden sofort aktualisiert, sobald jemand die Zugangsdaten im Admin ändert. Der Editor bietet die hinterlegten Namen zur Vervollständigung an, und für Blockly gibt es einen eigenen Baustein dafür.

Wer schon einmal ein Skript ins Forum kopiert und dabei zu spät gemerkt hat, dass unten das Telegram-Token stand, weiß, warum das eine gute Sache ist.

Blockly von der KI bauen lassen

Im Code-Modus lässt sich eine Automationsaufgabe in normaler Sprache beschreiben. Die KI arbeitet daraufhin in zwei Schritten. Zuerst kommt ein Plan, danach die eigentlichen Blockly-Bausteine.

Das Ergebnis erscheint als grafische Vorschau direkt im Chatfenster statt als Rohdaten. Ein Klick auf die Schaltfläche zum Einfügen setzt die Bausteine in den Arbeitsbereich. Von dort lassen sie sich wie selbst gebaute weiterbearbeiten.

Ein Hinweis dazu gehört allerdings dazu. Die Funktion braucht einen Anbieter im Netz und einen Schlüssel dafür. Neben den bekannten Diensten lassen sich auch eigene Endpunkte eintragen, solange sie die OpenAI-Schnittstelle sprechen. Wer einen lokalen Server über Ollama betreibt, kann ihn also einbinden. Ohne einen solchen Dienst bleibt die Funktion grau.

Der neue Regel-Assistent

Der Regeleditor hat einen Assistenten bekommen, der schrittweise durch die Einrichtung führt. Auslöser, Bedingung und Aktion werden nacheinander abgefragt, statt alles auf einer Fläche zu verteilen.

Dazu kamen neue Regelbausteine und Formatierungsangaben für Aktionen. Mit einer Schreibweise wie %.1s lässt sich der Wert eines Auslösers auf eine Nachkommastelle runden, bevor er in eine Nachricht wandert.

Blockly auf neuem Unterbau

Blockly selbst ist von Version 11.1.1 auf 13.2.1 gesprungen. Damit verbunden waren mehrere Aufräumarbeiten:

  • Alle Bausteindefinitionen wurden von JavaScript nach TypeScript übertragen.
  • Blockly kommt jetzt aus dem npm-Paket statt aus mitgelieferten Dateien im Projekt. Rund 828 kB fremder Code sind dabei aus dem Repository geflogen.
  • Arbeitsfläche, Werkzeugkasten und Ausklappmenü folgen jetzt den Farben des eingestellten ioBroker-Themes, in der hellen wie in der dunklen Ansicht.

Der letzte Punkt klingt nebensächlich, war aber ein häufiger Kritikpunkt. Wer im dunklen Theme arbeitete, bekam bisher eine hell leuchtende Blockly-Fläche.

Neu sind außerdem Bausteine zum Lesen und Schreiben von Dateien sowie zum Anlegen temporärer Dateien für Dateiereignisse. Das ist vor allem für den Versand über Telegram interessant, wo bisher der Umweg über eigenen Code nötig war.

Für TypeScript-Nutzer

Die Einstellungen haben einen eigenen Reiter für die Optionen des TypeScript-Compilers bekommen. Wer bisher mit den Voreinstellungen gekämpft hat, kann sie dort anpassen. Auch die Behandlung von Typdeklarationen für fremde Bibliotheken wurde verbessert.

Was beim Update zu beachten ist

JavaScript 10 und Admin 8 gehören zusammen. Der Adapter kam mit demselben Schwung ins Stable-Repository, und seine Konfigurationsseite setzt den neuen Admin voraus. Wer nur einen von beiden aktualisiert, bekommt Ärger.

Da Admin 8 wiederum Node.js 22 verlangt, ergibt sich eine feste Reihenfolge:

  1. Backup anlegen.
  2. Node.js auf 22 bringen, falls noch nicht geschehen.
  3. Alle Adapter gemeinsam aktualisieren, damit Admin und JavaScript zusammenpassen.
  4. Skripte durchsehen, ob alles weiterläuft.
iob backup
node -v
iob update
iob upgrade all

Bestehende Skripte laufen weiter, an der Skriptsprache selbst hat sich nichts geändert. Die Versionsreihe wird derzeit im Wochenrhythmus nachgebessert und steht bereits bei 10.1.4, was für einen frischen Hauptversionssprung normal ist.

Fazit

Der zentrale Zugangsdatenspeicher ist die Neuerung, von der jeder etwas hat. Sie räumt eine Unart auf, die sich über Jahre eingeschliffen hat, und kostet keine Umgewöhnung.

Die KI-Unterstützung im Blockly ist der auffälligere Punkt, richtet sich aber an eine kleinere Gruppe. Wer ohnehin einen Schlüssel bei einem Anbieter hat oder ein lokales Modell betreibt, bekommt damit einen brauchbaren Einstieg in komplexere Bausteine. Alle anderen können die Funktion ignorieren, ohne etwas zu verpassen.

Das Update selbst ist unkritisch, solange Node.js und Admin vorher stimmen. Genau daran scheitern erfahrungsgemäß die meisten.

Transparenzhinweis: Die Amazon-Links in diesem Artikel sind Partnerlinks. Wenn Sie darüber bestellen, erhalten wir eine kleine Provision. Für Sie ändert sich am Preis nichts.

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert