Neuerungen im Release v1.10
Hier ist eine Kurzübersicht über größere Neuerungen im aktuellen Release. Eine vollständige Übersicht der Änderungen in diesem und den vorangegangenen Releases ist den Release Notes zu finden.
Python Environment: SmartHomeNG sollte/muss in einem virtuellen Python Environment laufen. Ab
postinstall Skript: Debian 12/Python 3.11 können in die systemseitige Installation nicht mehr beliebig Python Packages installiert werden. Es gibt jetzt ein neues Skript
tools/postinstall
welches ein Standard Environment anlegt, in dem SmartHomeNG später läuft/laufen soll. (Siehe auch Komplettanleitung)virtuelle Environments: Skripte zum Anlegen und Aktivieren von virtuellen Python Environments
Items:
Hysterese: Es gibt neue Attribute, die es ermöglichen ein Item als Hysterese-Glied mit optionalem Zeitlied zu konfigurieren.
Attribute: In den Attributen autotimer und cycle können nun eval Ausdrücke in der Konfiguration genutzt werden. Bisher waren nur konstante Werte und alternativ Item Referenzen möglich
Platzhalter in Attributen: Es ist jetzt möglich innerhalb von Attributwerten über Platzhalter die Inhalte anderer Attribute zu verwenden. Details sind in der Dokumentation zu finden.
Zugriff auf Elemente komplexer Items: Bei Items vom Typ list oder dict ist es möglich auf einzelne Elemente zuzugreifen. Details sind in der Dokumentation zu finden.
Structs:
Verschachtelung: Es ist jetzt eine beliebige Verschachtelung von structs möglich. stucts können auch auf Unterebenen einer stuct eingebunden werden.
relative Referenzen: Bei der Einbindung von Sub-Structs aus der selben Datei können jetzt relative Angaben gemacht werden.
structs Verzeichnis: Dateien mit struct Definitionen werden jetzt im Verzeichnis
../structs
abgelegt. Bestehende Definitionsdateien werden automatisch aus dem../etc
Verzeichnis in das../structs
Verzeichnis migriert.Plugins:
Installation: Falls eine neuere Version eines Plugins aus dem develop Branch auf GitHub installiert werden soll, ohne deshalb die eigene Installation vollständig auf die (nicht notwendigerweise stabile) develop Version von SmartHomeNG umzustellen, wurde ein Skript erstellt. Dieses Skript installiert ein gewähltes Plugin aus dem develop branch zusätzlich in die aktuelle Installation von SmartHomeNG. Details sind in der Dokumentation unter Tipps & Tricks zu finden.
Neue Bibliothek lib.env:
lib.env enthält eine Reihe von Funktionen zur Maßeinheitenumrechnung für Environment Daten, sowie weitere Funktionen welche den Umgang mit Environment Informationen unterstützen. Details sind in der Dokumentation zu finden.
Die Funktionen können in Logiken und eval Statements in Item Attributen einfach mit
env.<Funktion>
aufgerufen werden.Admin GUI:
Logiken:
Die Liste der Logiken kann nun gruppiert angezeigt werden. Logiken können einer oder mehreren Gruppen zugeordnet werden.
Zu Logiken kann nun eine Beschreibung erfasst werden. Diese wird in der Liste der Logiken, sowie zu den verbundenen Logiken in den Item-Details angezeigt.
Zu den Gruppen können eine Titelzeile und eine Beschreibung gepflegt werden.
Systemeigenschaften: Die Resource Graphen der Systemdaten funktionieren jetzt auch, ohne dass das smartvisu Plugin konfiguriert sein muss.
Items: Es ist jetzt möglich die Veränderung des Werte von mehreren Items in einer Tabelle live zu überwachen.
Details zu den genannten Punkten sind in den Abschnitten Konfiguration bzw. Referenz zu finden.
Die vollständigen Änderungen am Core können in den Release Notes v1.10 nachgelesen werden.
Neuerungen bei Plugins
Bei den Plugins sind folgende Änderungen zu beachten:
Plugin shelly: Es werden jetzt Shelly Devices mit dem (neuen) Gen2 API untersützt.
Plugin smartvisu: Der Default Wert des Parameters generate_pages wurde auf False geändert. Zum generieren von Seiten muss dieser Parameter nun aktiv konfiguriert werden.
Die vollständigen Änderungen bei Plugins können in den Release Notes in den Abschnitten
nachgelesen werden.
Neuerungen für Plugin Entwickler
Für Entwickler von Plugins gibt es folgende Neuerungen:
SmartPlugin: Die Klasse SmartPlugin ist in der Funktionalität erweitert worden
SmartDevicePlugin: Das SmartDevicePlugin (sdp) ist aus der Notwendigkeit geboren, für jedes neue Plugin und jedes neue Gerät aufs Neue das ganze Kern-Plugin neu zu erfinden - Item-Handling, Zuordnung von Items zu Befehlen (commands) und Kommunikation mit Netzwerk- oder seriellen Treibern oder Libraries.
lib.env: Neue Bibliothek zum Umgang mit Environment Daten. Details sind in der Dokumentation zu finden
Details zu den genannten Punkten sind in den Abschnitten Entwicklung bzw. Referenz zu finden.
Tipps & Tricks
Folgende Tipps sind in der Doku hinzugekommen: