Release 1.5 - 8. Juli 2018
Es gibt eine Menge neuer Features im Core von SmartHomeNG und den Plugins.
Unterstützte Python Versionen
Bitte beachten: Seit 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. Es kann jedoch sein, dass Plugins Funktionalitäten implementieren (z.B. Async IO), die Python 3.5 voraussetzen (Siehe Hard- u. Software Anforderungen im Abschnitt Installation zu unterstützten Python Versionen)
Das bedeutet nicht unbedingt, dass SmartHomeNG ab Release 1.5 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.4 angehoben
Die Minimum Python Version in der SmartHomeNG startet wurde von 3.3 auf 3.4 erhöht. Es wird jedoch empfohlen Python 3.5 zu nutzen. Es könnte sein, dass Plugins bereits in v1.5 beginnen Async IO zu nutzen und hier gibt es zwischen Python 3.4 und 3.5 Unterschiede, so dass diese Plugins dann nicht unter Python 3.4 lauffähig wären.
Neue Funktionen
Neue Funktionen im CORE
Rework des Core: Diverse Methoden von bin/smarthome.py in die adäquaten libs verschoben
lib.shtime eingefügt und das Zeit- u. Zeitzonen Handling in der lib konzentriert
Items:
Added option to copy attribute values from parent or grandparent item. For plugin specific attributes only! Configure the child’s attribute to ‚..‘ to copy from the parent’s attribute (with the same name). Use ‚…‘ to copy from grandparent.
Logiken:
Bugfix für das Triggern von Methoden, die via add_method_trigger() hinterlegt wurden, bei deaktivierten Logiken
Plugins:
Bugfix für das Laden von vorangegangenen Versionen eines Plugins, falls’plugin_name‘ und nicht ‚class_path‘ genutzt wurde.
SmartPlugin: get_version() liefert als erweitertes Format die Version Nummer gefolgt von‘(pv)‘ zurück, falls die geladene Version nicht die aktuellste Version ist.
Einführung eines Standards für Web GUIs von Plugins (siehe auch https://www.smarthomeng.de/jetzt-wird-es-bunt)
Metadaten:
Datentypen ipv6 und knx_ga hinzugefügt
Komplexe Listendefinitionen für Parameter/Attribute von Typ list implementiert
Lesen der Item Attribut Definitionen aus der plugin.yaml des Plugins implementiert
Module:
http:
Zentrale Basic Auth Konfiguration für alle Webinterfaces von Plugins (incl. Backend)
exportiert ein gstatic Verzeichnis, welches zentral Images und Bibliotheken (z.B. bootstrap und jquery) zur Verfügung stellt. -> Default dabei und für Plugins nutzbar: Bootstrap 4 inkl. Datepicker, JQuery 3.3.1, Codemirror 5.39.0, Font Awesome 5.1.0
Stellt ein gtemplates Verzeichnis zur Verfügung, dessen Inhalt in Webinterfaces von der Template Engine Jinja genutzt werden kann.
Stellt Bootstrap 4 für die Webinterfaces zur Verfügung (inkl. Treeview und Datepicker Erweiterung)
Stellt JQuery 3.3.1 für die Webinterfaces zur Verfügung
Stellt aktuelle Codemirror Version für die Webinterfaces zur Verfügung
Stellt aktuelle Font Awesome Version für die Webinterfaces zur Verfügung
Die IP Adresse auf der das http Modul „lauscht“ kann jetzt in module.yaml konfiguriert werden, für den Fall dass die automatische Erkennung nicht zum gewünschten Ergebnis führt.
JQuery aktualisiert auf v3.3.1
Font Awesome aktualisiert auf v5.1.0
Bootstrap aktualisiert auf v4.1.1
CodeMirror aktualisiert auf v5.39.0
Neue Default Konfiguration für das Logging (als Vorbereitung auf die Logging Konfiguration durch das backend Plugin)
Submodule Konfiguration auf github entfernt. Das plugins Repository ist nun unabhängig und kann/muss separat von github installiert werden (siehe Komplettanleitung)
Überprüfung ob SmartHomeNG läuft verbessert, indem zusätzlich ein File-Locking verwendet wird
Neue Option -r (–restart) für smarthome.py
YAML Dateien: Zeilennummern die mit Fehlermeldungen geloggt werden korrigiert, wenn ein Fehler in einer YAML Datei erkannt wird
Entfernte CORE Bibliotheken
Keine
Neue Plugins und Plugin-Erweiterungen
AVDevice:
Kommando für „standby“ korrigiert
AVM:
Web GUI incl. Multi-Language Unterstützung
Ausbau des Debug-Loggings für den MonitoringService - da dieser bei einigen Usern sich widersprüchlich verhält
kleinere Bugfixes
Backend:
Komplettüberarbeitung der GUI auf Basis Bootstrap 4
Beseitung überflüssiger Abhängigkeiten (Google Prettify, bootstrap-refresh, etc.)
Usabilityverbesserungen:
Querverlinkung „watch items“ -> Item-Details und Item-Details -> Logik
Nutzung des gesamten Browserfensters für Item-Tree, Logfile-Viewer, etc.
- Seite Items:
Ist ein Item mit enforce_updates = True gesetzt, so kann man den identischen Wert dadurch senden, dass man in das Eingabfeld klickt und danach wieder neben das Eingabefeld. Die Animation, die beim Senden der Werte kommt, erscheint und die Zeit seit Update wire aktualisiert.
Seite Plugins:
Beim Aufklappen der Listeneinträge werden die Attribut-Definition der Items zu dem Plugin angezeigt. (Aus den Metadaten)
Seite ‚visu‘ entfernt. Funktionalität i die Web GUI des Plugins überführt
DarkSky:
Neues Wetter Plugin mit Web GUI
Database:
Web GUI incl. Multi-Language Unterstützung, CSV Export, Werte-Anzeige und der Möglichkeit, einzelne historische Wert oder die gesamte Wertehistorie eines Items zu löschen
Prüfung auf laufende Datenbank und, falls keine läuft, verspäteter Verbindungsaufbau
EnOcean:
Dokumentation und Plugin-Konfiguration vervollständigt
Verbesserungen, Bugfixes, neue Funktionen (z.B. für Rolläden)
HomeMatic:
Vollständig neu geschriebenes Plugin für HomeMatic CCU2
Multi-Instance fähig
Web GUI incl. Multi-Language Unterstützung
Unterstützt alle bekannten HomeMatic Devices (durch pyhomematic)
Sofortige Auswertung von HomeMatic Ereignissen (ohne zyklisches Pollen durch SamrtHomeNG)
Umfangreiche Web GUI
Anlernen neuer HomeMatic Devices an der CCU2 durch die Web GUI möglich
HomeMaticIP Devices werden unterstützt (Anlernen nur über die CCU2)
Detaillierte Anzeige der Parameter der HomeMatic Devices, die zur Item Konfiguration genutzt werden können
JVC D-ILA Control:
neu
KNX:
Web GUI incl. Multi-Language Unterstützung
Mail:
Neue Funktion „extended“: Multipart Nachrichten können versenden werden (bspw. um Bilder mitzuschicken)
MPD:
weitere Kommandos implementiert (Pause, Play, Mute, etc.)
Statusabfragen refaktoriert (z.B. Volume, Time, Song, etc.)
Datenbankfunktionen implementiert (z.B. Update, Rescan)
weitere Abfragemögichkeiten implementiert/refaktoriert (z.B. File, Artist, Album, etc.)
MQTT:
Web GUI incl. Multi-Language Unterstützung
Re-subscribe zu den Topics nach einem Broker-Restart
Topics mit Init-Option: Re-publish Topics nach einem Broker-Restart
Handling nach fehlgeschlagener Anmeldung am Broker verbessert
Nokia Health:
neues Item - Textuelle Beschreibungen der BMI Werte in Deutsch
Überarbeitung des Plugins für „nokia“ PyPi Paket und Access Token (OAuth sollte nun wieder funktionieren)
Web GUI
Simulation:
Web GUI incl. Multi-Language Unterstützung
Beispiel für SV2.9 Widget in README
Löschen und Anzeigen der Inhalte der Datendatei über WebGUI möglich
SMA EM:
Web GUI
Erweiterung auf folgende Werte - pregard, pregardcounter, psurplus, psurpluscounter, sregard, sregardcounter, ssurplus, ssurpluscounter, qregard, qregardcounter, qsurplus, qsurpluscounter, cosphi, p1regard, p1regardcounter, p1surplus, p1surpluscounter, s1regard, s1regardcounter, s1surplus, s1surpluscounter, q1regard, q1regardcounter, q1surplus, q1surpluscounter, v1, thd1, cosphi1, p2regard, p2regardcounter, p2surplus, p2surpluscounter, s2regard, s2regardcounter, s2surplus, s2surpluscounter, q2regard, q2regardcounter, q2surplus, q2surpluscounter, v2, thd2, cosphi2, p3regard, p3regardcounter, p3surplus, p3surpluscounter, s3regard, s3regardcounter, s3surplus, s3surpluscounter, q3regard, q3regardcounter, q3surplus, q3surpluscounter, v3, thd3, cosphi3
Sonos:
Unsubscribe Kommondo fehlertolleranter gemacht
Squeezebox:
Korrektur von Play, Pause, Stop
Tankerkönig:
Fehlerbehebungen bei nicht vorhandenen IDs
Telegram:
Unterstützng mehrerer Chats (via chat_id Parameter)
Unterstützung für den Versand von Bildern
Neues Konfigurationsattribut: telegram_info
Neue Kommandos um Logiken zu listen (/lo) und anzustoßen (/tr)
visu_websocket:
Web GUI incl. Multi-Language Unterstützung
Web GUI ersetzt auch die bisherige Seite im Backend
Wunderground:
Web GUI incl. Multi-Language Unterstützung
Xiaomi:
Update-Anpassungen für Version 0.4 des miflora Pypi Pakets (requirements.txt hat sich geändert!) - Auslesen von Werten ist jetzt deutlich stabiler.
Entfernte Plugins
DWD:
Der deutsche Wetterdienst hat die Publikation der Wetterinfomationen im bisherigen Format eingestellt.
Dokumentation
Anwender Dokumentation
Diverse URLs in Komplettanleitungen sowie in HW/SW Anforderungen korrigiert
Dokumentation an diversen Stellen erweitert
Entwickler Dokumentation
Web GUI Implementierung hinzugefügt
Multi-Language Unterstützung dokumentiert
SmartHomeNG Blog