Die Version v1.4 ist gerade released worden.
Aktuelle Version
(Stand 17.12.2017) ist jetzt im master Branch die Version v1.4 als stabile Version von SmartHomeNG verfügbar.
Diese Version sollte für den produktiven Einsatz benutzt werden! Es ist nicht nur für Anfänger die richtige Wahl.
Was ist neu in SmartNomeNG v1.4
Die Neuerungen erstrecken sich über den Core von SmartHomeNG und die Plugins. Im folgenden sind wichtige Änderungen aufgeführt. Die vollständigen Release Notes können in die Anwender Dokumentation oder die Entwickler Dokumentation nachgelesen werden.
Unterstützte Python Versionen
Bitte beachten: Ab SmartHomeNG Release 1.4 wollen wir die aktive Unterstützung älterer Python Versionen einstellen. Die älteste unterstützte Python Version wird dann Python 3.4 sein. (Siehe Wiki Seite zu unterstützen Python Versionen)
Das bedeutet nicht unbedingt, dass SmartHomeNG ab Release 1.4 nicht mehr unter älteren Python Versionen läuft. Es bedeutet, dass SmartHomeNG nicht mehr mit älteren Python Versionen getestet wird und das gemeldete Fehler mit älteren Python Versionen nicht mehr zu Buxfixen führen.
Absolute minimum Python Versionen auf 3.3 angehoben
Minimum Python Version in der SmartHomeNG startet von 3.2 auf 3.3 erhöht. Aufgrund der größeren Änderungen zwischen Python 3.2 und 3.3 war es schon bisher problematisch SmartHomeNG mit Plugins in eine Python 3.2 zum Laufen zu bringen.
Neuerungen im Core von SmartHomeNG
- Ladbare Core Module
- Modul http
- Erweiterung der Klasse SmartPlugin
- Item Attribute on_update und on_change eingeführt
- Methoden zu Alter und Update Zeitpunkt von Items hinzugefügt
- Plugins können ein Webinterface implementieren
- Plugins können dynamisch die Anwender- und Entwickler Dokumentation erweitern
- Einführung von Metadaten für Plugins
- Gültigkeitsprüfung der konfigurierten Parameter von Plugins gegen die Metadaten
- Plugins können das Laden geordnet abbrechen (z.B. wenn benötigte Hardware nicht gefunden wurde)
- Unterschiedliche Namensräume für Scheduler implementiert (für Items, Logiken und Plugins)
- Neues Konfigurationsformat für Szenen (YAML Format mit erweiterter Funktionalität)
- Szenen können eval Ausdrücke und relative Item-Referenzen nutzen.
- Methode last_run() für Logiken hinzugefügt
- Der enable/disable Status von Logiken wird in etc/logic.yaml persistiert.
- Einführung eines Logik-APIs
- Zugriff auf das Logik-API aus Logiken ist möglich
- Nutzung persistenter Variablen in Logiken wurde dokumentiert
- Neue Kommandozeilen-Option um den Ort der Verzeichnisse mit den Konfigurationsdateien (/etc, /items und /logics) ändern zu können
Neuerungen bei Plugins (neue Plugins / Plugin Erweiterungen)
- Beispiel Plugin aktualisiert
- Beispiel Plugin mit Webinterface hinzugefügt
- Neu: Blockly: Graphischer Logik Editor mit Integration in das Backend Plugin (noch Expermental)
- Neu: WebServices Plugin (REST Interface), dass das neue Webinterface nutzt
- Neu: Nokia Health Plugin
- Neu: Pushover Plugin zum Versenden von Notifizierungen auf Geräte wie z.B. Smartphones
- Neu: LIRCD Plugin: Neues Plugin um via lircd IR Kommandos zu verschicken
- Erweiterung: AV Device
- Erweiterung: Backend
- Das Backend Plugin nutzt/benötigt nun das http-Modul
- Integration des Blockly Plugins um Logiken über Webinterface visuell zu konfigurieren (über Logik-Liste oder Plugin-Liste)
- Systeminfo:
- Aufteilung in zwei Reiter (Systemeigenschaften und PyPI Check)
- PyPi Check prüft nun gegen die Requirements von SmartHomeNG
- Dienste:
- YAML Syntax Checker hinzugefügt
- Eval Syntax Checker hinzugefügt
- Syntax Highlighting im CONF-YAML Konverter
- Items:
- Anzeige von **update_age** „Alter (Update)“ hinzugefügt
- Anzeige von **prev_update_age** „vorh. Alter (Update)“ und **prev_update** „vorheriges Update“ hinzugefügt
- Logiken:
- Erstellen neuer Logiken
- Konfiguration der Logiken (etc/logic.yaml) ist zur Laufzeit änderbar
- Logiken können entladen und geladen werden.
- Erweiterungen des CodeMirror Logikeditors (Python Sourcecode)
- Full Screen Modus via F11
- Automatische Anpassung an Browserfenster
- Autocomplete für Python Befehle und Item-Pfade
- Optionale Zeilenumbrüche
- Löschen von Logiken
- Integration für das Blockly Plugin
- Anzeige des Zeitpunkts des letzten Laufs auf der Logik-Detail Seite
- Scheduler:
- Anzeige der Item-Schedules, Logik-Schedules, Plugin-Schedules und sonstiger Schedules erfolgt auf eigenen Reitern
- Plugins:
- Erweiterte Anzeige der Pluginliste
- Anzeige der Konfigurationseinstellungen aus der plugin.yaml/.conf durch Klick auf das jeweilige Plugin in der Liste
- Verlinkung auf Webinterfaces von Plugins (falls diese implementiert sind)
- Szenen:
- Neue Seite zur Anzeige der definierten Szenen hinzugefügt
- Threads:
- Verbesserte Anzeige der aktiven Threads
- Erweiterung: CLI
- Umstellung auf das Logics-API
- Erweiterter Hilfe Befehl: mit help [group] kann (statt der vollständigen Hilfe) die Hilfe zu einer Gruppe von Befehlen (item, log, logic, scheduler) angezeigt werden.
- neuer Befehl zu Anzeige detaillierter Informationen zu einer Logik
- Überarbeitung der Ausgabe der Threadliste
- Einführung einer neuen (logischeren) Befehlsbenennung: Beispiel: Alle Befehle für Logiken beginnen mit ‚l‘. Die alten Befehle funktionieren weiterhin (bis auf Namens-Kollisionen).
- Erweiterung: Simulation
- Unterstützung eines Filters, so dass nur bestimmte caller erlaubt sind (bspw. KNX oder Visu)
- Erweiterung: DataLog Plugin enthaelt ein Fix fuer das Feld `stamp`
- Erweiterung: SMA Plugin prueft auf Bluetooth Support in Python um den Nutzer auf fehlende Unterstuetzung hinzuweisen
- Erweiterung: EnOcean:
- Unterstützung für einfache Schalter (Protokoll D2-01-07), wie z.B. Peha d 451 fu-ebi pf o.t. nr. 00364476
- Unterstützung für Eltako Heligkeitssensor (FAH60)
- Lernmethoden restrukturiert und erweitert
- Erweiterung: KNX Plugin: Typo Fix in enable_stats() / disable_stats()
- Erweiterung: DLMS Plugin: Pruefsummenbehandlung wieder eingefuehrt/aktiviert
- Erweiterung: MPD Plugin: Unterstützung um Playlists zu laden und abzuspielen
- Erweiterung: Database-Plugin mit neuen Aggregatsfunktionen:
- `sum` – Liefert summierte Werte über den abgefragten Zeitraum zurück
- `count` – Liefert summierte Anzahl über den abgefragen Zeitraum zurück (kann mit einer Bedingung kombiniert werden z.B. `count>10`)
- `diff` – Liefert die jeweiligen Differenzen der Werte über den abgefragten Zeitraum zurück
- `raw` – Liefert alle Werte für den abgefragten Zeitraum zurück ohne eine Aggregation durchzuführen
- Erweiterung: XBMC: Neues Kommando `shutdown` wurde implementiert
- Erweiterung: visu_smartvisu:
- Verbesserte Anzeige der **Category** Seite auf mobilen Endgeräten
- Initialer Support für smartVISU v2.9 hinzugefügt
- Erweiterung: visu_websocket:
- Reagiert nun bei Logiken auf Änderungen an visu_acl ohne Neustart von SmartHomeNG
- Protokollerweiterung für spätere smartVISU Versionen