Die Version v1.5 ist gerade released worden.
Aktuelle Version
(Stand 08.07.2018) ist jetzt im master Branch die Version v1.5 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.5
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.
Neue Funktionen im Core von SmartHomeNG
- Submodule Konfiguration auf github entfernt. Das plugins Repository ist nun unabhängig und kann/muss separat von github installiert werden.
Zum Update:
– cd smarthome
– git pull
– cd plugins
– git pull
Zur Neuinstallation:
– cd smarthome
– git clone git://github.com/smarthomeNG/smarthome.git
– mkdir plugins
– cd plugins
– git clone git://github.com/smarthomeNG/plugins.git
Für Details bitte in der Komplettanleitung nachsehen - 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:
- Option hinzugefügt, um einen Wert von einem Attribut des Parent- or Grandparent-items zu übernehmen. Das funktioniert nur für Plugin-spezifische Attribute! Das Attribut des Child-Items auf ‚..‘ konfigurieren, um den Wert des Attributs (mit dem gleichen Namen) aus dem Parent-Item zu übernehmen. Um den Wert vom Grandparent-Item zu übernehmen, ‚…‘ verwenden.
- 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.
- 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
- http:
- Neue Default Konfiguration für das Logging (als Vorbereitung auf die Logging Konfiguration durch das backend Plugin)
- Ü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
Neuerungen bei Plugins (neue Plugins / 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 Plugins:
- Beim Aufklappen der Listeinträ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 Kommando fehlertoleranter 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.