Ankündigung

Einklappen
Keine Ankündigung bisher.

SmartHomeNG Release v1.7.1

Einklappen
Das ist ein wichtiges Thema.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    SmartHomeNG Release v1.7.1

    ​​

    Aktuelle Version
    Stand 14. April 2020 ist jetzt im master Branch die Version v1.7.1 als stabile Version von SmartHomeNG verfügbar.
    Nur die Master Version sollte für den produktiven Einsatz benutzt werden!
    Es ist nicht nur für Anfänger die richtige Wahl.

    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.
    Es kann immer mal passieren, dass der develop branch aufgrund der laufenden Entwicklung in einem nicht lauffähigen Zustand ist.

    Auch ein Mischen vom master Branch und develop Plugins kann, aber muß nicht klappen, da einige Plugins aus dem develop Branch Funktionalitäten des
    Core benötigen könnten, die im master branch noch nicht vorhanden sind. In diesem Fall wird das Plugin nicht laden und einen Log Eintrag schreiben.

    smarthomeNG ist als Organisation bei Github angelegt, so dass mehrere Admins Schreibrechte auf das Repository haben.


    Dokumentation
    Unter https://www.smarthomeNG.de findet sich unser Blog und der Startpunkt für die Dokumentation:

    Was ist neu in SmartNomeNG v1.7.1?
    Die Neuerungen erstrecken sich über Bugfixes für den Core von SmartHomeNG sowie Änderungen und Bugfixes für diverse Plugins. Es ist auch ein neues Plugin hinzugekommen. Die Release Notes sind unter www.smarthomeng.de zu finden. Bitte auch die vollständigen Release Notes für das Release 1.7 beachten.


    Was ist beim Update zu beachten?
    Die Unterstützung des MQTT Protokolls ist in den Core umgezogen. Dadurch kann das Protokoll auch aus Logiken und mehreren Plugins genutzt werden. Dadurch ändert sich die Konfiguration. Ausführliche Informationen zu den Änderungen und zur Konfiguration finden sich auf www.smarthomeNG.de


    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 Administrations-Interface einen Ü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 oder besser: Für nur den betroffenen Teil den Log-Level auf INFO oder DEBUG hochsetzen.
    Wenn Ihr Hilfe braucht und nicht weiterkommt werden Euch andere hier im Forum gerne weiterhelfen.

    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)

    Viel Spaß und viel Erfolg mit Eurem SmartHomeNG!!!​
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    #2
    Hallo,
    ich habe meine Produktivinstanz heute auch dem Update auf 1.7.1 unterzogen. Dabei bin auf folgendes Problem gestoßen:
    • nach dem Update mit git pull sowohl von shNG als auch den Plugins kann ich shNG über die Konsole mit
      Code:
      python3 /usr/local/smarthome/bin/smarthome.py
      fehlerfrei starten. Die Logs zeigen keine Fehler
    • möchte ich nun shNG wieder über den Dienst starten, gibt es eine Fehlermeldung und shNG wird nicht gestartet
      Code:
       [root@SmartHomeNG ~]# systemctl status smarthome.service
      	● smarthome.service - SmartHomeNG daemon
      	Loaded: loaded (/lib/systemd/system/smarthome.service; enabled; vendor preset: enabled)
      	Active: failed (Result: exit-code) since Tue 2020-04-14 13:40:41 CEST; 5s ago
      	Process: 2154 ExecStart=/usr/bin/python3 /usr/local/smarthome/bin/smarthome.py (code=exited, status=1/FAILURE)
      	
      	Apr 14 13:40:40 SmartHomeNG python3[2154]: test_requirements: 'holidays' not installed. Minimum v0.9.11 needed
      	Apr 14 13:40:40 SmartHomeNG python3[2154]: Installing core requirements for the current user, please wait...
      	Apr 14 13:40:40 SmartHomeNG python3[2154]: len(stderr)=114
      	Apr 14 13:40:40 SmartHomeNG python3[2154]: ERROR: Could not open requirements file: [Errno 2] Datei oder Verzeichnis nicht gefunden: 'requirements/core.txt'
      	Apr 14 13:40:40 SmartHomeNG python3[2154]: Python package requirements not met - SmartHomeNG is terminating
      	Apr 14 13:40:40 SmartHomeNG python3[2154]: ERROR: Unable to install core requirements
      	Apr 14 13:40:41 SmartHomeNG systemd[1]: smarthome.service: Control process exited, code=exited status=1
      	Apr 14 13:40:41 SmartHomeNG systemd[1]: Failed to start SmartHomeNG daemon.
      	Apr 14 13:40:41 SmartHomeNG systemd[1]: smarthome.service: Unit entered failed state.
      	Apr 14 13:40:41 SmartHomeNG systemd[1]: smarthome.service: Failed with result 'exit-code'.
    Wodurch wird der Fehler verusacht? Die requirements sind alle erfüllt, sonst würde der Start über die Konsole nicht klappen.
    Liegt es am Nutzer?

    Kommentar


      #3
      Mit dem Aufruf muss dir das Release 1.7 (bei einer nackten Neuinstallation) auch schon um die Ohren geflogen sein.

      In der Doku steht ausdrücklich: Den Dienst erst einrichten, wenn SmartHomeNG soweit läuft.

      Beim ersten Start einer Neuinstallation beendet sich SmartHomeNG natürlicherwise mit einem Fehler, da nicht einmal der grundlegende Satz an Packages installiert ist. Der wird dann installiert (das war bei v1.7 bereits so und ist unverändert).

      Dazu muss der Start aus dem smarthome Verzeichnis erfolgen. Also:
      Code:
      cd /usr/local/smarthome
      python3 bin/smarthome.py
      Dann werden die minimal benötigten Packages installiert (noch Konsoleausgabe, wie es auch in der Dokumentation steht)
      Danach startet SmartHomeNG neu und kann anschließend normal loggen. Dann wir geprüft ob die Packages für die Module installiert sind...

      Aber ich habe keine Lust das Handbuch jetzt hier nochmal in den Thread zu schreiben...
      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar


        #4
        Msinn

        Hab eine Neuinstallation durchgeführt. Problem behoben!
        Zuletzt geändert von Sisamiwe; 14.04.2020, 13:59.

        Kommentar


          #5
          Hallo,

          im Zuge meiner notgedrungenen Neuinstallation habe ich auch die Funktionen zum Sichern und Wiederherstellen der Konfiguration probiert. Funktioniert super.

          Einen Hinweis/Gedanke dazu: Da manche UZSU Einträge auch echt komplex sind, wäre es gut, wenn alle cache-files der items mit *.uzsz auch in die Sicherung mit aufgenommen werden.

          Was meint ihr?

          Kommentar


            #6
            Daten für Plugins sind angedacht. Dafür ist es notwendig einen Mechanismus zu implementieren über den die Plugins anmelden können, welche Daten gesichert werden sollen. Dabei gibt es aber Einschränkungen. Wenn man das für das database Plugin andenkt, müsste ich z.B. einen 5 GByte Download ertragen. Das ist nicht sinnvoll. Dagegen ist es sinnvoll Konfiguration- und Zustands-/Cache-Daten sichern zu können (und das nicht nur für das UZSU Plugin.

            Ob das bereits für v1.8 realisierbar ist, kann ich noch nicht sagen.
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #7
              Verstanden: Könnte man nicht übergangsweise einfach die cache-Dateien der UZSU mit sichern und wieder rückspielen?

              Kommentar


                #8
                Nein, bei gesamt über 130 Plugins baue ich keine Krücke für ein einzelnes Plugin, zumal auch die erst mit dem 1.8er Release, also in diversen Monaten, publiziert würde.
                Viele Grüße
                Martin

                There is no cloud. It's only someone else's computer.

                Kommentar


                  #9
                  Warum kopierst du nicht einfach den ganze var/cache Ordner..?

                  Kommentar


                    #10
                    Zitat von Onkelandy Beitrag anzeigen
                    Warum kopierst du nicht einfach den ganze var/cache Ordner..?
                    Wenn Du mich meinst: Ja, so habe ich das auch gemacht.
                    Ich wollte nur den Hinweis geben, dass es sinnvoll wäre, dass man das bei der Sicherung aus dem Admin-Modul heraus mit macht.

                    Kommentar


                      #11
                      Msinn Ich denke es ist einfach der Itemcache gemeint, der sich in ./var/cache befindet. Das sollte eigentlich möglich sein. Ich wüßte aktuell auch kein Plugin, was Daten ausserhalb des Item Cache sichert. Hast Du das was im Auge?

                      Kommentar


                        #12
                        Bisher werden nur Konfigurationsdaten gesichert. Der Cache gehört mit Sicherheit nicht zu den Konfigurationsdaten. Das sichern von Cache Informationen (Items, UZSU, ...) soll kommen, wie auch das Sichern weiterer Daten (Logs, database, rrd, noch nicht veröffentlichtes Plugin bo_netlink, ...). aber ich lasse mich jetzt direkt nach dem Release nicht drängen irgendeine Krücke auf den Markt zu schmeissen.

                        Davon abgesehen, ist diese Diskussion weder jetzt (so eine Krücke würde erst mit dem nächsten Release, in 6-7 Monaten? kommen), noch in diesem Thread zielführend.
                        Zuletzt geändert von Msinn; 14.04.2020, 15:57.
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar


                          #13
                          Sisamiwe Wenn du die zwei Zeilen unter "Service" zu deinem smarthome Service hinzu fügst, müsste die Installation und der Neustart auch klappen:
                          Code:
                          WorkingDirectory=/usr/local/smarthome
                          TimeoutStartSec=900

                          Kommentar


                            #14
                            Ich hab keine Ahnung wo ich hier ansetzen kann. plugin yaml entspricht dem default. smarthome aktueler Stand von gestern.
                            Ich wollte nur den Wert system.datum_uhrzeit.sonne.aufgang, der perfekt in den Items steht, nutzen.

                            Wer hat den Hinweis für mich?

                            Danke für jeden Hinweis!


                            2020-04-16 16:17:29 WARNING __main__ DEPRECATED: Used function 'sh.tzinfo()', called in 'class Item (lib.item)' by '__run_eval -> _task -> _worker -> run -> _bootstrap_inner -> _bootstrap' - use the Shtime-API instead
                            2020-04-16 16:17:29 WARNING __main__ DEPRECATED: Used function 'sh.tzinfo()', called in 'class Item (lib.item)' by '__run_eval -> _task -> _worker -> run -> _bootstrap_inner -> _bootstrap' - use the Shtime-API instead
                            2020-04-16 16:17:29 ERROR lib.item Item system.datum_uhrzeit.sonne.position: problem running <bound method WebSocket.update_item of <plugins.visu_websocket.WebSocket object at 0x6959b670>>: you can only create an ephem.Angle through ephem.degrees() or ephem.hours()
                            Traceback (most recent call last):
                            File "/usr/local/smarthome/lib/item.py", line 2368, in __update
                            method(self, caller, source, dest)
                            File "/usr/local/smarthome/plugins/visu_websocket/__init__.py", line 156, in update_item
                            self.websocket.update_item(item.id(), item(), source)
                            File "/usr/local/smarthome/lib/item.py", line 2124, in __call__
                            return copy.deepcopy(self._value)
                            File "/usr/lib/python3.7/copy.py", line 150, in deepcopy
                            y = copier(x, memo)
                            File "/usr/lib/python3.7/copy.py", line 220, in _deepcopy_tuple
                            y = [deepcopy(a, memo) for a in x]
                            File "/usr/lib/python3.7/copy.py", line 220, in <listcomp>
                            y = [deepcopy(a, memo) for a in x]
                            File "/usr/lib/python3.7/copy.py", line 180, in deepcopy
                            y = _reconstruct(x, memo, *rv)
                            File "/usr/lib/python3.7/copy.py", line 274, in _reconstruct
                            y = func(*args)
                            File "/usr/lib/python3.7/copyreg.py", line 88, in __newobj__
                            return cls.__new__(cls, *args)
                            TypeError: you can only create an ephem.Angle through ephem.degrees() or ephem.hours()
                            2020-04-16 16:17:30 ERROR lib.item Item system.datum_uhrzeit.mond.position: problem running <bound method WebSocket.update_item of <plugins.visu_websocket.WebSocket object at 0x6959b670>>: you can only create an ephem.Angle through ephem.degrees() or ephem.hours()
                            Traceback (most recent call last):
                            File "/usr/local/smarthome/lib/item.py", line 2368, in __update
                            method(self, caller, source, dest)
                            File "/usr/local/smarthome/plugins/visu_websocket/__init__.py", line 156, in update_item
                            self.websocket.update_item(item.id(), item(), source)
                            File "/usr/local/smarthome/lib/item.py", line 2124, in __call__
                            return copy.deepcopy(self._value)
                            File "/usr/lib/python3.7/copy.py", line 150, in deepcopy
                            y = copier(x, memo)
                            File "/usr/lib/python3.7/copy.py", line 220, in _deepcopy_tuple
                            y = [deepcopy(a, memo) for a in x]
                            File "/usr/lib/python3.7/copy.py", line 220, in <listcomp>
                            y = [deepcopy(a, memo) for a in x]
                            File "/usr/lib/python3.7/copy.py", line 180, in deepcopy
                            y = _reconstruct(x, memo, *rv)
                            File "/usr/lib/python3.7/copy.py", line 274, in _reconstruct
                            y = func(*args)
                            File "/usr/lib/python3.7/copyreg.py", line 88, in __newobj__
                            return cls.__new__(cls, *args)
                            TypeError: you can only create an ephem.Angle through ephem.degrees() or ephem.hours()

                            Kommentar


                              #15
                              Was genau hast Du gemacht bevor dieser Fehler aufgetaucht ist? Update von Core und Plugins? Oder nur Core und Plugins ggf. vergessen?

                              Kommentar

                              Lädt...
                              X