Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler bei Aufruf des Backend-Plugins

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Fehler bei Aufruf des Backend-Plugins

    Hier gibt es offenbar ein Problem mit dem Backend-Plugin von SmarthomeNG:
    Zunächst meine Installation:

    Hardware: RaspberryPi 3, ROT (Pigator mit KNX-Adapter)
    Betriebssystem: Rasbian 9.4 (vom 27.6.2018, dist-upgrade 12.10.2018)
    Software: XRDP, KNXD

    Bis dahin war alles voll funktionstüchtig einschließlich Verbindung zu KNX. Anschließend nun Installation von SmarthomeNG streng nach der Komplettanleitung (https://www.smarthomeng.de/user/inst...arthomeng.html). Bei der Nachinstallation von Python-Modulen ("sudo pip3 install -r requirements/base.txt") wurde ein Versionskonflikt von cheroot mit six 1.10.0 gemeldet, daher Update auf six 1.11.0 ("sudo pip install six==1.11.0"). Danach ließ sich SmarthomeNG zwar problemlos starten ("python3 ./smarthome.py -v"), es kamen aber keine ausgiebigen Logging-Meldungen wie in der Komplettanleitung angeben, sondern lediglich vier Zeilen:

    "[Datum-Uhrzeit] ENGINE Bus Starting"
    "[Datum-Uhrzeit] ENGINE Serving on http://192.168.10.10:8383"
    "[Datum-Uhrzeit] ENGINE Serving on http://192.168.10.10:8384"
    "[Datum-Uhrzeit] ENGINE Bus Started"

    Daraufhin Aufruf des Backend-Servers im Browser (vorinstalliert in Rasbian: Chromium) mit "http://192.168.10.10:8383", im Browser dann die Fehlermeldung

    "Oops, Error 500: The server encountered an unexpected condition which prevented it from fulfilling the request."

    Die anliegende Log-Datei weist auf einen Fehler in cherrypy bzw. jinja2 hin.
    Weiß jemand, bitte, wie man dieses Problem beheben kann?



    Angehängte Dateien

    #2
    cherrypy und jinja2 auf neuste version updaten!

    Kommentar


      #3
      Danke, psilo, für diesen Hinweis.
      Ich war der Auffassung, dass ich mit den Zeilen
      Code:
       
       python3 tools/build_requirements.py      cd /usr/local/smarthome      sudo pip3 install -r requirements/base.txt
      aus der Komplettanleitung (https://www.smarthomeng.de/user/inst...arthomeng.html) die notwendigen Updates bereits veranlasst hatte, aber offensichtlich umfasst die Datei "requirements/base.txt" nicht die Requirements für das Plugin Backend. Wenn man die Anweisung
      Code:
       
       sudo pip3 install -r plugins/backend/requirements.txt
      nachschiebt, erfolgt das erforderliche Update von cherrypy und jinja2 und damit läuft alles.

      Kommentar


        #4
        korrekt in der base.txt sind nur die reqs des core. all.txt ist deine wahl. steht sicher auch in der doku

        Kommentar


          #5
          In der Doku steht, dass man entweder all.txt verwenden soll oder base.txt UND die requirements.txt ALLER verwendeten Plugins.
          Viele Grüße
          Martin

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

          Kommentar


            #6
            Hallo,

            ich habe ein ähnliches Problem.

            Hardware:
            Intel NUC
            CPU: 2 CPUs x Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
            Arbeitsspeicher: 3,89 GB

            Auf dem Nuc ist ESXI 6.5.0 installiert.
            In der VM Debian 9.5.0 amd64.



            Bin genau so vorgegangen wie fido, mit dem einem unterschied das ich all.txt genutzt habe für die Updates.

            Smarthome NG startet auch

            Code:
            [15/Nov/2018:19:28:42] ENGINE Bus STARTING
            [15/Nov/2018:19:28:42] ENGINE Serving on http://192.168.178.79:8384
            [15/Nov/2018:19:28:42] ENGINE Serving on http://192.168.178.79:8383
            [15/Nov/2018:19:28:42] ENGINE Bus STARTED
            sobald ich aber über "http://<IP vom SmartHomeNG>:8383" auf das Backend zugreifen will kommt

            Code:
            [15/Nov/2018:19:29:07] ENGINE AttributeError("module 'six.moves.urllib_parse' has no attribute 'unquote_to_bytes'",)
            Traceback (most recent call last):
              File "/usr/local/lib/python3.5/dist-packages/cheroot/server.py", line 1219, in communicate
                req.parse_request()
              File "/usr/local/lib/python3.5/dist-packages/cheroot/server.py", line 689, in parse_request
                success = self.read_request_line()
              File "/usr/local/lib/python3.5/dist-packages/cheroot/server.py", line 889, in read_request_line
                for x in QUOTED_SLASH_REGEX.split(path)
              File "/usr/local/lib/python3.5/dist-packages/cheroot/server.py", line 889, in <listcomp>
                for x in QUOTED_SLASH_REGEX.split(path)
            AttributeError: module 'six.moves.urllib_parse' has no attribute 'unquote_to_bytes'
            
            ^C[15/Nov/2018:19:31:52] ENGINE Bus STOPPING
            [15/Nov/2018:19:31:52] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('192.168.178.79', 8384)) shut down
            [15/Nov/2018:19:31:52] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('192.168.178.79', 8383)) shut down
            [15/Nov/2018:19:31:52] ENGINE Bus STOPPED
            [15/Nov/2018:19:31:52] ENGINE Bus EXITING
            [15/Nov/2018:19:31:52] ENGINE Bus EXITED

            Kommentar


              #7
              Welche Python Version? Welche Version von Cherrypy?
              Viele Grüße
              Martin

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

              Kommentar


                #8
                Python 2.7.13

                Bei Cherrypy gibt er mir zurück

                Code:
                python-cherrypy3:
                  Installiert:           (keine)
                  Installationskandidat: 3.5.0-2
                  Versionstabelle:
                     3.5.0-2 500
                        500 http://ftp.de.debian.org/debian stretch/main amd64 Packages
                ist kein CherryPy drauf?

                Kommentar


                  #9
                  SmartHomeNG war noch nie mit Python 2.7 kompatibel. Z.zt ist das Minimum Python 3.4. Das kommende Release wird auch Python 3.4 nicht mehr unterstützen.

                  Wenn kein CherryPy drauf ist, musst Du es mit pip installieren (siehe Doku)
                  Viele Grüße
                  Martin

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

                  Kommentar


                    #10
                    Danke für die Info. Das habe ich wohl in der Doku überflogen.

                    Kommentar


                      #11
                      Du kannst mit python3 -V feststellen, welche 3er Version Du nutzt. Und Du hast bestimmt Cherrypy schon installiert, siehe oben in Deinem Log.
                      Evtl. kannst Du auf die aktuellste Version upgraden und mußt dann ggf. noch six aktualisieren.
                      Upgrade ginge mit sudo pip3 install cherrypy --upgrade

                      Kommentar

                      Lädt...
                      X