ioBroker: Neue Entwicklungen im September 2024

ioBroker: Neue Entwicklungen im September 2024

27. September 2024 2 Von Moritz Heusinger

Hallo zusammen,

dies ist die Fortsetzung der monatlichen "Neue Entwicklungen" Serie die einen subjektiven Überblick über die Entwicklungen rund um ioBroker gibt.

Da ich vermutlich einer der aktivsten Entwickler im ioBroker Umfeld bin und auch häufig Einblicke bekomme, welche nicht auf allen Kommunikationskanälen nach außen kommuniziert werden - ist es mir hoffentlich möglich sowohl für ioBroker Nutzer als auch Entwickler die eine oder andere interessante Neuigkeit jeden Monat vorstellen zu können.

Disclaimer

An dieser Stelle ein kleiner Disclaimer, dass meistens noch deutlich mehr passiert ist als die Dinge, die ich hier aufführe. Aufgrund der Masse an Entwicklern entstehen ständig neue Adapter und Adapter werden weiterentwickelt, was ich nicht immer mitbekomme oder ich auch aufgrund der Masse filtern möchte. Für solche Neuerungen möchte ich gerne auch auf den ioBroker-internen Blog verweisen.

Überblick

js-controller Lucy

Im letzten Post hatten wir noch darüber gesprochen, dass der Controller 6.1 (Kiera) es ins Stable geschafft hat und bereits neue Features für das kommende Jahr eingebaut wurden. Wir haben uns jedoch entschlossen diesen Release Zyklus deutlich zu verkürzen und damit steht ein Controller 7.0 bereits zum Alpha Test in den Startlöchern.

Dies sorgt dafür, dass der Controller auch deutlich weniger Änderungen beinhaltet und dies die Alpha und Beta Phase deutlich beschleunigen sollte. Trotzallem haben es einige nette Features in die neu Version geschafft.

Folgend die Highlights:


Dynamic Notifications

Diese Version bringt vorallem ein neues Feature: Dynamic Notifications, dies ermöglicht es Entwicklern Benachrichtigungen zu generieren mit welchen Adapter interagieren können. Als erstes steht der Admin Adapter hier im Rampenlicht, welcher es nun ermöglicht, dass ihr als Anwender mit Benachrichtigungen interagieren könnt, z. B. benachrichtigt euch der Ping Adapter mit diesem Feature über neue Geräte in eurem Netzwerk. Direkt im Notification Dialog habt ihr nun die Möglichkeit die neu gefundenen Geräte mit dem Ping Adapter zu überwachen. Wir hoffen damit die Nutzererfahrung weiterhin zu verbessern und hoffen das weitere Adapter folgen.

Für die Entwickler unter euch, verweise ich zur Implementierung dieses Features in eurem Adapter aktuell auf den Ping Adapter welcher dieses Feature nutzt. Das Feature basiert auf JSON Config und benötigt somit keine umfangreiche Erfahrung im Frontend. Eine Dokumentation im Admin Adapter wird folgen welche ich hier ergänzen werde.


Docker Notifications

Um bei den Notifications zu bleiben, gibt es nun für Nutzer des offiziellen ioBroker Docker Containers eine Benachrichtigung sobald eine neue Version auf Docker Hub zur Verfügung steht. Somit verpasst ihr keinen Release mehr und haltet euer System bequem aktuell!


Neue Backup-Technologie

Weiterhin haben wir die interne Backup Mechanik komplett überarbeitet. Statt das gesamte Backup File auf ein mal einzulesen nutzt das Backup nun JSONL, was ihr bereits von der Standard Datenbank kennt. Somit ist die Erstellung und Wiederherstellung von Backups großer Installationen kein Problem mehr. Und mit groß meinen wir, dass das Konzept beliebig skaliert - in der Theorie sind selbst Backups mit mehreren Millionen Objekten kein Problem!

Um dies zu erreichen haben wir die interne Mechanik so optimiert, dass diese inkompatibel mit alten js-controller Versionen ist. Umgekehrt haben wir eine Möglichkeit geschaffen, dass ältere Backups mit der neuen Controller Version wiederhergestellt werden können.


Falls ihr am Alpha Test interessiert seid oder ihr euch die vollumfänglichen Neuerungen anschauen möchtet, könnt ihr dies hier tun

Matter Adapter und Visu App

Beim Thema Matter konnte ich an einer Front große Fortschritte machen. So ist jetzt das Pairing per Visu App auch auf Android möglich und somit steht von App Seiten einem anstehenden Alpha Test nichts mehr im Wege. Die neue App Version wird allerdings erst dann zur Verfügung gestellt, wenn der Alpha Test gestartet ist.

Ingo plant in den nächsten Tagen noch die Matter Controller Funktionalität im Adapter zu überarbeiten und dann kann der Alpha Test auch von Adapter-Seite losgehen. Zu Beginn wird nur eine sehr limitierte Anzahl an Gerätetypen (z. B. Switches, Bewegungsmelder) unterstützt um die Kernfunktionalität zu testen. Die Struktur des Adapters erlaubt eine sehr einfache Erweiterung um neue Typen und bis zur Stable Version werden wir noch deutlich mehr Gerätetypen hinzufügen.

Ich freue mich, wenn ich euch im nächsten Blogbeitrag den Link zum ersten Test zur Verfügung stellen kann.

Zentrale Eslint-Konfiguration für Entwickler

Auch für die Entwickler in der ioBroker Community hat sich etwas getan. Hier wird häufig ESLint und Prettier für einheitliches Linting und Code Style genutzt. Gerade in komplexeren Projekten, wenn z. B. React zum Einsatz kommt haben sich Entwickler hier jedes Mal selbst neue Regeln zusammen gebaut. Seit diesem Monat stellen wir nun eine zentrale ioBroker Konfiguration bereit. Diese werden wir in Zukunft auch als Möglichkeit in den Adapter-Creator einbauen, sodass diese von neuen Adaptern direkt genutzt werden kann. Jedoch können auch bestehende Adapter hierauf migriert werden.

Der große Vorteil ist, dass man vom ioBroker Team als sinnvoll erachtete Regeln automatisch konfiguriert hat, diese jedoch bei Bedarf weiterhin beliebig abändern kann. So wird beim ausführen von ESLint automatisch Prettier mit ausgeführt für das Code Styling. Auch braucht man sich nicht mehr mit mehrere ESLint Plugins und anderen Abhängigkeiten herumschlagen sondern hat nur noch eine Abhängigkeit auf das Paket @iobroker/eslint-config.

Sonstige Entwicklungen

Ich hatte diesen Monat nach Fertigstellung der App mal etwas Zeit einen Bestandsadapter anzuschauen. Hier habe ich für den Puppeteer Adapter eingebaut, dass man optional einen externen Browser per Pfad spezifizieren kann. So kann man Puppeteer jetzt auch auf Plattformen laufen lassen, auf denen dies bislang nicht funktioniert hat wie im Docker Container.

Weitergehend hatten wir diesen Monat auch wieder ein sehr gut besuchtes Dev Meeting was mich sehr gefreut hat. Unter anderem kam hier das Thema Responsive Design auf mit Ideen wie wir die Erfahrung der Nutzer insbesondere auf Mobilgeräten verbessern können. Hierzu haben wir am 10.10 für alle Interessierten Entwickler ein Followup Workshop.

Ebenfalls habe ich etwas Zeit gefunden an der ioBroker Komponentenbibliothek weiterzuarbeiten. Dort habe ich angefangen die Hostkacheln zu migrieren und möchte diese ebenfalls für kleinere Displaygrößen optimieren - aktuell werden dort wichtige Funktionalitäten auf Mobilgeräten ausgeblendet.

Schlusswort

Wenn euch der Artikel gefallen hat, freue ich mich über einen Kommentar.

Falls ihr das ioBroker Projekt unterstützen möchtet, denkt gerne darüber nach eine Cloud Lizenz zu erwerben - neben der Unterstützung des Projektes genießt ihr dadurch viele Vorteile wie eine unlimitierte Anzahl an Alexa & Google Home Anfragen, die Möglichkeit per Fernzugriff sicher auf euer System zuzugreifen, die Möglichkeit eure Anwesenheitssteuerung einfach mittels der ioBroker Visu App zu realisieren und zukünftig weitere Vorteile. Die Einnahmen durch Lizenzverkäufe fließen maßgeblich zurück in das Projekt und fördern die aktive Weiterentwicklung und Wartung des ioBroker Ökosytems.

Ebenso könnt ihr diesen Blog und meine persönliche Arbeit gerne unterstützen, indem ihr über meinen Amazon Affiliate-Link einkauft oder mir eine Spende zukommen lasst.

Bis zum nächsten mal

Moritz