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.
Ab Version 1.3 sollten die Szenarien in denen die Notwendigkeit den develop Branch zu nutzen deutlich reduziert werden.
Wir Ändern die Release Strategie und werden einen neuen Stand der Plugins zeitlich losgelöst vom eigentlichen SmartHomeNG Release im master Branch mehrfach im Jahr verfügbar machen. Wichtige Ãnderungen an Plugins oder neue Plugins werden bei Bedarf auch außerhalb der "Plugin Releases" im master Branch verfügbar gemacht.
Normalerweise wollen wir uns für Releases des Core von SmartHomeNG auf einen Zyklus von ca. 6 Monaten einpendeln. Die Änderungen am Core sind jedoch aktuell so vielfältig und gravierend, dass wir uns jetzt für ein SmartHomeNG Release entschieden haben, statt nur die Plugins zu aktualisieren. Diverse Plugins würden in der aktuellen Version ohne den neuen Core nicht laufen.
Develop Branch

Es findet eine aktive Weiterentwicklung statt, daher bitte mit einem Produktionssystem nicht auf den Entwicklungszweig gehen!
Man sollte nur auf den develop Branch gehen, wenn man genau weiß, was man da macht.
Auch ein Mischen vom master Branch und develop Plugins kann, aber muß nicht klappen.
Beispiel: Master Branch V1.1 vom 13.04.2016 zusammen mit AVM Plugin vom Juni 2016 kann nicht funktionieren.
smarthomeNG ist als Organisation bei Github angelegt, so dass mehrere Admins Schreibrechte auf das Repository haben.
Links
- Es gibt eine neue Homepage unter https://www.smarthomeNG.de. (Aktuell leitet diese Seite noch auf die Anwender-Dokumentation weiter)
- Es gibt weiterhin die Homepage bei Github unter https://github.com/smarthomeNG/smarthome/.
Dokumentation
- Die für das Release aktualisierte Anwender-Dokumentation ist unter https://www.smarthomeNG.de/user/ zu finden.
- Die für das Release aktualisierteEntwickler-Dokumentation istunter https://www.smarthomeNG.de/developer/ zu finden.
Die Anwender Dokumentation ist in Deutsch gehalten und erklärt die Installation und Konfiguration. Außerdem enthält sie eine Liste der verfügbaren Plugins.
Die Entwickler Dokumentation ist in Englisch gehalten und stellt Entwicklern von Plugins und Interessierten, die bei der Weiterentwicklung des Core helfen wollen, benötigte Informationen zur Verfügung.
Wiki
Das Wiki ist ebenfalls auf Github unter https://github.com/smarthomeNG/smarthome/wiki zu finden. Dort findet sich unter anderem:
- weitergehende Informationen
- Raum um Feedback und Wünsche zur Anwender- und Entwickler-Dokumentation zu hinterlassen.
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.
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
Unterstützung
Natürlich gibt es hier im Forum Unterstützung. Zusäzlich haben wir auf https://gitter.im/smarthomeNG/smarthome einen Chat für SmartHomeNG eingerichtet. Dort schauen viele User und Entwickler in regelmäßgen Abständen rein.
Fehlerbehebung
Bevor ihr postet oder um Hilfe fragt, bitte
- im Backendeinen Überblick verschaffen ob z.B. config files richtig im SmartHomeNG ankommen
- Im Logfile nach Fehlern oder Warnungen suchen und wenn möglich deren Ursachen beseitigen.
- SmartHomeNG im Debugmodus starten
Wenn ihr dann postet, geizt bitte nicht mit Informationen über eure Installation. Wir können alle nicht Hellsehen. Für uns hilfreich oder sogar notwendig sind unter anderem:
- Beschreibung was ihr erreichen wollt
- Erläuterung was ihr bisher gemacht habt
- Genaue Bescheibung des wahrgenommenen Problems ("Läuft nicht" ist da nicht ausreichend)
- Erläuterung welches Verhalten ihr erwartet
- SmartHomeNG Version
- Python Version
- Betriebssystem mit Version
- eingesetzte Hardware
- Art der Installation (z.B. Nach Komplettanleitung oder Raspberry Pi Image oder Update von Vorversion oder ...)
- Konfigurierte Plugins (gerne die etc/plugin.yaml mit posten)
- gegebenfalls die entsprechenden Item Konfigurationen (aus items/*.yaml)