Ankündigung

Einklappen
Keine Ankündigung bisher.

Admin-Modul

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

    Admin-Modul

    Moin,

    habe eben die aktuelle 1.6 (master) ans Laufen bekommen, in der Erstkonfiguration nur mit den Plugins CLI und SMLX; Konfiguration für Logging und Module entspricht der git-Version.

    Wenn ich der Dokumentation für das Admin-Modul (bzw. das http-Modul) folge, sollte ich mich auf der lokalen URL in die Admin-Oberfläche begeben können ohne Login (da in der modules.yaml keine entsprechende Konfiguration aufgenommen ist).

    Ich bekomme jedoch eine Anmeldemaske unter der umgeleiteten URL "http://hauspi:8383/admin/login?returnUrl=%2F". Da ich keine Benutzerdaten angegeben habe, kann ich mich auch nicht einloggen.

    Erneuter Versuch mit "user = admin, password = geheim" in der modules.yaml unter "http" -> selbes Problem, Benutzername/Passwort falsch.

    Gibt es
    - Einschränkungen in der IP? (habe ich nicht gefunden, "ip" ist standardmäßig auf 0.0.0.0, das dürfte aber die Server-IP sein)
    - sonstige Einstellungen, die ich ggf. vornehmen muss?
    - Abhängigkeiten, die - unerkannt nicht erfüllt - einen Login verhindern?

    Der Loginversuch mit User "admin" und leerem Passwort ergibt im Log:

    Code:
     2019-11-04 12:59:04 DEBUG    rest         CP Server Thread-13 REST_dispatch_execute(): No Authentication needed for POST (AuthController.add) -- rest.py:REST_dispatch_execute:233
     2019-11-04 12:59:04 INFO     api_auth     CP Server Thread-13 AuthController.add(): /user -- api_auth.py:add:187
     2019-11-04 12:59:04 INFO     api_auth     CP Server Thread-13 AuthController.authenticate(): cherrypy.request.headers = {'Remote-Addr': '192.168.2.2', 'Host': 'hauspi:8383', 'Connection': 'keep-alive', 'Accept': 'application/json, text/plain, */*', 'Origin': 'http://hauspi:8383', 'User-Agent': 'Mozilla/5.0 (X11; U; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36', 'Dnt': '1', 'Referer': 'http://hauspi:8383/admin/login?returnUrl=%2F', 'Accept-Encoding': 'gzip, deflate', 'Accept-Langua ge': 'en-US,en;q=0.9', 'Content-Type': 'text/plain', 'Content-Length': '157'} -- api_auth.py:authenticate:80
     2019-11-04 12:59:04 INFO     api_auth     CP Server Thread-13 AuthController.authenticate(): rawbody = b'{"username":"e22ac8c78ea726102c34e5e6d31560057a9ed90332e897edcbb5f81d3dd74699438974fde7901781cdac989c86891164305c6f975bfe19ad26018a302fc364da","password":""}' -- api_auth.py:authenticate:88
     2019-11-04 12:59:04 INFO     api_auth     CP Server Thread-13 AuthController.authenticate(): credentials = {'username': 'e22ac8c78ea726102c34e5e6d31560057a9ed90332e897edcbb5f81d3dd74699438974fde7901781cdac989c86891164305c6f975bfe19ad26018a302fc364da', 'password': ''} -- api_auth.py:authenticate:94
     2019-11-04 12:59:04 WARNING  rest         CP Server Thread-13 REST_dispatch_execute: user: module 'jwt' has no attribute 'encode' -- rest.py:REST_dispatch_execute:245
     2019-11-04 12:59:04 INFO     _cplogging   CP Server Thread-13 192.168.2.2 - - [04/Nov/2019:12:59:04] "POST /api/authenticate/user HTTP/1.1" 200 76 "http://hauspi:8383/admin/login?returnUrl=%2F" "Mozilla/5.0 (X11; U; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36" -- _cplogging.py:access:284

    #2
    Falls Du kein Passwort konfiguriert hast, gib auch keines ein. Falls Du ein Passwort für die Webinterfaces eingerichtet hattest, gilt dieses Password auch für das Admin Interface.

    Da hilft Dir auch ein Blick in die Doku. Auf der Seite http://www.smarthomeng.de/user/konfi...dule_http.html steht zu password:
    Optional: Das Passwort mit dem man sich zur Nutzung der Webinterfaces authentifizieren muss im Klartext. Standardmäßig ist kein Passwort gesetzt. Wenn kein Passwort (oder Hashed-Passwort) gesetzt ist, ist der Zugriff auf die Webinterfaces ohne Anmeldung möglich.

    Zitat von Morg Beitrag anzeigen
    Einschränkungen in der IP? (habe ich nicht gefunden, "ip" ist standardmäßig auf 0.0.0.0, das dürfte aber die Server-IP sein)
    Wo hast Du denn in der Doku gefunden, dass es einen Parameter ip für das http Modul gibt?

    Zitat von Morg Beitrag anzeigen
    sonstige Einstellungen, die ich ggf. vornehmen muss?
    Nein

    Zitat von Morg Beitrag anzeigen
    Abhängigkeiten, die - unerkannt nicht erfüllt - einen Login verhindern?
    Nein

    Für das http Modul sind alle Parameter optional. Du musst nicht mal user und password konfigurieren. (Also: Am Anfang am besten nichts konfigurieren)

    Den Eintrag
    Code:
    2019-11-04 12:59:04 WARNING  rest         CP Server Thread-13 REST_dispatch_execute: user: module 'jwt' has no attribute 'encode' -- rest.py:REST_dispatch_execute:245
    finde ich merkwürdig. Bist Du sicher, dass Du alle Requirements installiert hast?

    Viele Grüße
    Martin

    Stay away from negative people. They have a problem for every solution.

    Kommentar


      #3
      Hi,

      mir ist schon klar, dass ich kein Passwort angeben darf, wenn ich keins nutzen will - ich habe testweise eins vergeben, aber sowohl ohne "user" und "password", als auch nur mit "user" als auch mit "user" und "password" kommt immer dieselbe Anmeldemaske ohne Möglichkeit, weiterzukommen.

      Den Parameter "ip" habe ich nicht in der Doku, sondern in der Debugausgabe gefunden (die ist doch für was gut ...) . Wie ich schon schrieb, vermute ich aber, dass das nicht die zulässigen Clients, sondern die zu nutzenden Serveradressen sind (default 0.0.0.0).

      Abhängigkeiten habe ich erst mit requirements/base.txt, plugins/<xx>/requirements.txt und (ich glaube) lib/requirements.txt (?) installiert. Das hat aber nicht gereicht, also bei jedem Start und Fehlermeldung abgebrochen und Requirement nachinstalliert...

      Derzeit:

      Code:
      sh@hauspi:~ (0) > pip3 list
      Package          Version
      ---------------- ---------
      aiohttp          3.6.2
      asn1crypto       0.24.0
      async-timeout    3.0.1
      attrs            19.3.0
      btlewrap         0.0.8
      certifi          2019.9.11
      chardet          3.0.4
      cheroot          8.2.1
      CherryPy         18.4.0
      cryptography     2.6.1
      docutils         0.14
      entrypoints      0.3
      ephem            3.7.7.0
      idna             2.8
      jaraco.functools 2.0
      Jinja2           2.10.3
      jwt              0.6.1
      keyring          17.1.1
      keyrings.alt     3.1.1
      MarkupSafe       1.1.1
      miflora          0.6
      minimalmodbus    1.0.2
      more-itertools   7.2.0
      multidict        4.5.2
      numpy            1.17.3
      olefile          0.46
      paho-mqtt        1.5.0
      Pillow           5.4.1
      pip              18.1
      portend          2.6
      psutil           5.6.3
      pycrypto         2.6.1
      Pygments         2.3.1
      PyGObject        3.30.4
      pyjq             2.4.0
      PyMVGLive        1.1.4
      pyserial         3.4
      python-dateutil  2.8.1
      python-magic     0.4.15
      pytz             2019.3
      pyxdg            0.25
      requests         2.22.0
      requests-file    1.4.3
      roman            2.0.0
      rrdtool          0.1.15
      ruamel.yaml      0.15.74
      scapy-python3    0.26
      scipy            1.2.1
      SecretStorage    2.3.1
      setuptools       40.8.0
      six              1.12.0
      sleekxmpp        1.3.3
      telepot          12.7
      tempora          1.14.1
      tinytag          1.2.2
      typing           3.7.4.1
      urllib3          1.25.6
      websocket-client 0.56.0
      wheel            0.32.3
      xmltodict        0.12.0
      yarl             1.3.0
      zc.lockfile      2.0

      Kommentar


        #4
        Was mir noch aufgefallen ist: in den Logausgaben ist immer die Rede vom Modul "jwt". Ich habe also das Modul "jwt" installiert - sh.py startet ohne Fehler, aber nur mit Anmeldung.

        In der modules/admin/requirements.txt steht als Abhängigkeit aber nicht "jwt", sondern "pyjwt". Also "jwt" deinstalliert, "pyjwt" installiert und zur Sicherheit alle __pycache__-Verzeichnisse geleert - kein Unterschied.

        Aus der DEBUG-Logdatei für die Module http und admin:
        Code:
        2019-11-05 15:21:18 INFO     rest         CP Server Thread-7 REST_dispatch_execute(): public_root = 'True' -- rest.py:REST_dispatch_execute:230
        2019-11-05 15:21:19 DEBUG    rest         CP Server Thread-8 REST_dispatch_execute(): No Authentication needed for POST (AuthController.add) -- rest.py:REST_dispatch_execute:233
        2019-11-05 15:21:19 INFO     api_auth     CP Server Thread-8 AuthController.add(): /user -- api_auth.py:add:187
        2019-11-05 15:21:19 INFO     api_auth     CP Server Thread-8 AuthController.authenticate(): cherrypy.request.headers = {'Remote-Addr': '192.168.2.2', 'Host': 'hauspi:8383', 'Origin': 'http://hauspi:8383', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'keep-alive', 'Accept': 'application/json, text/plain, */*', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15', 'Referer': 'http://hauspi:8383/admin/', 'Accept-Language': 'de-de', 'Content-Type': 'text/plain', 'Content-Length': '29'} -- api_auth.py:authenticate:80
        2019-11-05 15:21:19 INFO     api_auth     CP Server Thread-8 AuthController.authenticate(): rawbody = b'{"username":"","password":""}' -- api_auth.py:authenticate:88
        2019-11-05 15:21:19 INFO     api_auth     CP Server Thread-8 AuthController.authenticate(): credentials = {'username': '', 'password': ''} -- api_auth.py:authenticate:94
        2019-11-05 15:21:19 WARNING  rest         CP Server Thread-8 REST_dispatch_execute: user: module 'jwt' has no attribute 'encode' -- rest.py:REST_dispatch_execute:245
        2019-11-05 15:21:21 DEBUG    rest         CP Server Thread-13 REST_dispatch_execute(): No Authentication needed for POST (AuthController.add) -- rest.py:REST_dispatch_execute:233
        2019-11-05 15:21:21 INFO     api_auth     CP Server Thread-13 AuthController.add(): /user -- api_auth.py:add:187
        2019-11-05 15:21:21 INFO     api_auth     CP Server Thread-13 AuthController.authenticate(): cherrypy.request.headers = {'Remote-Addr': '192.168.2.2', 'Host': 'hauspi:8383', 'Origin': 'http://hauspi:8383', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'keep-alive', 'Accept': 'application/json, text/plain, */*', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15', 'Referer': 'http://hauspi:8383/admin/login?returnUrl=%2F', 'Accept-Language': 'de-de', 'Content-Type': 'text/plain', 'Content-Length': '29'} -- api_auth.py:authenticate:80
        2019-11-05 15:21:21 INFO     api_auth     CP Server Thread-13 AuthController.authenticate(): rawbody = b'{"username":"","password":""}' -- api_auth.py:authenticate:88
        2019-11-05 15:21:21 INFO     api_auth     CP Server Thread-13 AuthController.authenticate(): credentials = {'username': '', 'password': ''} -- api_auth.py:authenticate:94
        2019-11-05 15:21:21 WARNING  rest         CP Server Thread-13 REST_dispatch_execute: user: module 'jwt' has no attribute 'encode' -- rest.py:REST_dispatch_execute:245
        Danach noch ein Versuch, Log aus smarthome.log:
        Code:
        2019-11-05 15:27:39 INFO     __init__     CP Server Thread-11 ModuleApp: local.name '192.168.2.231', local.port '8383' -- __init__.py:index:803
        2019-11-05 15:27:39 INFO     _cplogging   CP Server Thread-11 192.168.2.2 - - [05/Nov/2019:15:27:39] "GET / HTTP/1.1" 200 64 "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:39 INFO     _cplogging   CP Server Thread-12 192.168.2.2 - - [05/Nov/2019:15:27:39] "GET /admin HTTP/1.1" 301 105 "http://hauspi:8383/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:39 INFO     _cplogging   CP Server Thread-13 192.168.2.2 - - [05/Nov/2019:15:27:39] "GET /admin/ HTTP/1.1" 200 1028 "http://hauspi:8383/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-15 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/polyfills.efff76290c6668e3008b.js HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-10 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/scripts.daf307402d17f65ebada.js HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-14 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/styles.dc8d38acd6b3f657ad60.css HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-16 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/runtime.26209474bfa8dc87a77c.js HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-7 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/main.cf7470033890e6d5350e.js HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-9 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/assets/i18n/en.json HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     rest         CP Server Thread-12 REST_dispatch_execute(): public_root = 'True' -- rest.py:REST_dispatch_execute:230
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-8 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/assets/i18n/null.json HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 DEBUG    rest         CP Server Thread-11 REST_dispatch_execute(): No Authentication needed for POST (AuthController.add) -- rest.py:REST_dispatch_execute:233
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-13 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/assets/img/logo_long.png HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-12 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /api/server/ HTTP/1.1" 200 54 "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     api_auth     CP Server Thread-11 AuthController.add(): /user -- api_auth.py:add:187
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-15 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/roboto-v15-latin-regular.7e367be02cd17a96d513.woff2 HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     api_auth     CP Server Thread-11 AuthController.authenticate(): cherrypy.request.headers = {'Remote-Addr': '192.168.2.2', 'Host': 'hauspi:8383', 'Origin': 'http://hauspi:8383', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'keep-alive', 'Accept': 'application/json, text/plain, */*', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15', 'Referer': 'http://hauspi:8383/admin/', 'Accept-Language': 'de-de', 'Content-Type': 'text/plain', 'Content-Length': '29'} -- api_auth.py:authenticate:80
        2019-11-05 15:27:40 INFO     api_auth     CP Server Thread-11 AuthController.authenticate(): rawbody = b'{"username":"","password":""}' -- api_auth.py:authenticate:88
        2019-11-05 15:27:40 INFO     api_auth     CP Server Thread-11 AuthController.authenticate(): credentials = {'username': '', 'password': ''} -- api_auth.py:authenticate:94
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-10 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/fa-solid-900.8086e197694282b26c7b.woff2 HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-16 192.168.2.2 - - [05/Nov/2019:15:27:40] "GET /admin/assets/i18n/de.json HTTP/1.1" 304 - "http://hauspi:8383/admin/login?returnUrl=%2F" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:40 WARNING  rest         CP Server Thread-11 REST_dispatch_execute: user: module 'jwt' has no attribute 'encode' -- rest.py:REST_dispatch_execute:245
        2019-11-05 15:27:40 INFO     _cplogging   CP Server Thread-11 192.168.2.2 - - [05/Nov/2019:15:27:40] "POST /api/authenticate/user HTTP/1.1" 200 76 "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11-05 15:27:41 INFO     _cplogging   CP Server Thread-14 192.168.2.2 - - [05/Nov/2019:15:27:41] "GET /admin/fa-regular-400.e65d96d04378217b8b5c.woff2 HTTP/1.1" 304 - "http://hauspi:8383/admin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15" -- _cplogging.py:access:284
        2019-11
        Die modules.yaml ist unverändert seit Auslieferung. Probiert mit Safari 12.0.3 und Vivaldi 2.9.1705.30 auf Mac; Vivaldi wegen der Erweitungen im privaten Modus (also ohne aktive Erweiterungen). In beiden Fällen und bei jedem Test springt die URL "http://hauspi:8383/admin" sofort um auf "http://hauspi:8383/admin/login". In der Loginmaske komme ich nicht weiter; ohne Angabe von Nutzernamen nicht und mit Angabe von Nutzername "admin" und ohne Passwort auch nicht. Wie gesagt ist kein Passwort gesetzt.

        Ich weiß nichtmal, wo ich suchen sollte. Im Log kommen die Meldungen bezüglich "public root" und "no authentication required", er leitet aber gleich auf die Loginseite um.

        Kommentar


          #5
          Wenn Du die jwt angemeckert bekommen hast, dann hat ein sudo pip3 install -r requirements/base.txt vorher nicht sauber funktioniert. Dort steht die pyJWT ja drin mit
          Code:
          # SmartHomeNG-module admin
          pyjwt>=1.6.4

          Kommentar


            #6
            Meine requirements/base.txt:

            Code:
            #   +-----------------------------------------------+
            #   |                 SmartHomeNG                   |
            #   |            DON'T EDIT THIS FILE               |
            #   |           THIS FILE IS GENERATED              |
            #   |       BY tools/build_requirements.py          |
            #   |            ON 05.11.2019 15:02                |
            #   |                                               |
            #   |               INSTALL WITH:                   |
            #   | sudo pip3 install -r requirements/base.txt    |
            #   +-----------------------------------------------+
            
            # SmartHomeNG-lib
            ephem>=3.7
            
            # SmartHomeNG-lib
            psutil
            
            # SmartHomeNG-lib
            python-dateutil>=2.5.3
            
            # SmartHomeNG-lib
            requests>=2.20.0
            
            # SmartHomeNG-lib
            ruamel.yaml>=0.13.7,<=0.15.74;python_version<'3.7'
            
            # SmartHomeNG-lib
            ruamel.yaml>0.15.0,<=0.15.74;python_version>='3.7'
            Erzeugt gem. Doku mit python3 tools/build_requirements.py

            Es fehlten von Anfang an Requirements, insbesondere aus den Ordnern lib und modules. Die habe ich - soweit jeweils requirements.txt in den Ordnern vorhanden waren - manuell nachinstalliert. Das Ganze auf einem frischen clone von smarthome.py, branch Master am Montag früh (die Version von Sonntag habe ich gelöscht, um sauber neu anzufangen).

            Liste der installierten Module siehe früherer Beitrag...

            PS: nur zur Sicherheit: das ist keine Absicht von mir, es läuft wirklich nicht rund nach Download, Neuinstallation und Dokumentation...


            Nachtrag: ich sehe gerade das Dateidatum von heute, 15 Uhr xx - ich habe die tools/build_requirements seit gestern nicht mehr angefasst. Ruft smarthome.py das ggf. selbst auf?

            Kommentar


              #7
              Zitat von Morg Beitrag anzeigen
              Nachtrag: ich sehe gerade das Dateidatum von heute, 15 Uhr xx - ich habe die tools/build_requirements seit gestern nicht mehr angefasst. Ruft smarthome.py das ggf. selbst auf?
              Ja, dabei wir die base.txt (für core und Module) und besonders wichtig die conf_all.txt (für Plugins) generiert.
              Beide Dateien reflektieren die die aktuelle Konfiguration in module.yaml und plugin.yaml. Wenn z.B. die Module http oder admin nicht konfiguriert sind, werden sie auch nicht als required gelistet. Diese Dateien ermöglichen nur die benötigten Requirements zu installieren.

              Alternativ kann man natürlich weiterhin die Requirements aus der all.txt installieren, dann werden die Python Packages für alle Module und Plugins installiert, ob man sie braucht oder nicht. Die all.txt wird übrigens auch beim Start von SmarthomeNG neu generiert.

              Viele Grüße
              Martin

              Stay away from negative people. They have a problem for every solution.

              Kommentar


                #8
                Die all.txt ist bei mir identisch mit der base.txt. Das scheint mir etwas seltsam...

                Code:
                 #   +-----------------------------------------------+
                 #   |                 SmartHomeNG                   |
                 #   |            DON'T EDIT THIS FILE               |
                 #   |           THIS FILE IS GENERATED              |
                 #   |       BY tools/build_requirements.py          |
                 #   |            ON 05.11.2019 15:02                |
                 #   |                                               |
                 #   |               INSTALL WITH:                   |
                 #   | sudo pip3 install -r requirements/all.txt     |
                 #   +-----------------------------------------------+
                
                 # SmartHomeNG-lib
                 ephem>=3.7
                
                 # SmartHomeNG-lib
                 psutil
                
                 # SmartHomeNG-lib
                 python-dateutil>=2.5.3
                
                 # SmartHomeNG-lib
                 requests>=2.20.0
                
                 # SmartHomeNG-lib
                 ruamel.yaml>=0.13.7,<=0.15.74;python_version<'3.7'
                
                 # SmartHomeNG-lib
                 ruamel.yaml>0.15.0,<=0.15.74;python_version>='3.7'
                In der conf_all.txt:

                Code:
                 #   +-----------------------------------------------+
                 #   |                 SmartHomeNG                   |
                 #   |            DON'T EDIT THIS FILE               |
                 #   |           THIS FILE IS GENERATED              |
                 #   |       BY tools/build_requirements.py          |
                 #   |            ON 05.11.2019 15:02                |
                 #   |                                               |
                 #   |               INSTALL WITH:                   |
                 #   | sudo pip3 install -r requirements/conf_all.txt|
                 #   +-----------------------------------------------+
                
                 # SmartHomeNG-lib
                 ephem>=3.7
                
                 # SmartHomeNG-lib
                 psutil
                
                 # SmartHomeNG-lib
                 # configured plugin backend
                 python-dateutil>=2.5.3
                
                 # SmartHomeNG-lib
                 requests>=2.20.0
                
                 # SmartHomeNG-lib
                 ruamel.yaml>=0.13.7,<=0.15.74;python_version<'3.7'
                
                 # SmartHomeNG-lib
                 ruamel.yaml>0.15.0,<=0.15.74;python_version>='3.7'
                Irgendwas stimmt doch da nicht... aber was?

                Kommentar


                  #9
                  Mir fallen im Moment nur zwei Möglichkeiten ein:
                  1. base.txt und conf_all.txt sind identisch, wenn keine Module (/etc/module.yaml) und keine Plugins(/etc/plugin.yaml) konfiguriert sind.
                  2. base.txt und all.txt sind identisch, wenn keine Plugins installiert sind (/plugins Verzeichnis ist leer)
                  Viele Grüße
                  Martin

                  Stay away from negative people. They have a problem for every solution.

                  Kommentar


                    #10
                    Habe jetzt nochmal auf einem anderen System (ältere Debian-Version, selbst kompiliertes Python 3.5.3) smarthome.py und plugin (master) runtergeladen, die modules.yaml aus der modules.yaml.default kopiert und die plugin.yaml aus der plugin.yaml.default kopiert, aber alle Plugins "aktiviert".

                    Nachdem ich python3 tools/build_requirements gestartet habe, waren base.txt und all.txt identisch und sehen aus die die Dateien oben.

                    Sollten in der all.txt nicht _alle_ Plugins berücksichtigt werden, auch wenn sie nicht aktiviert sind? Und in der conf_all.txt nur die aktivierten?

                    pyjwt für das http-Modul ist nichtmal aufgeführt. Irgendwas stimmt da immer noch nicht. Wo kann ich noch suchen?

                    Kommentar


                      #11
                      In einer nackten Installation werden die .default Dateien umkopiert (wie auch in der Doku steht). Das hättest Du Dir sparen können. Auch dass aktievieren aller Plugins hättest Du Dir sparen können.

                      Bei einer neuen (nackten) Installation reicht
                      • Core aus Github auschecken
                      • Plugins aus Github auschecken
                      • SmartHomeNG starten.
                      Dabei werden die Requirement Dateien generiert.
                      Falls die base Requirements nicht erfüllt sind, wird SmartHomeNG mit einer Meldung beendet.
                      Falls nur die conf_all Requirements nicht vollständig installliert sind, werden Warnungen geloggt -> var/log/smarthome-warnings.txt
                      Zuletzt geändert von Msinn; 06.11.2019, 18:36.
                      Viele Grüße
                      Martin

                      Stay away from negative people. They have a problem for every solution.

                      Kommentar


                        #12
                        Sorry, aber ich komme mit den Antworten nicht klar.

                        Ich habe - ohne smarthome.py zu starten - gemäß der Installationsanleitung core und plugins installiert und das tool/build-requirements gestartet. (Ich habe auf deinen Hinweis oben hin sogar noch Plugins "konfiguriert"...). Das Tool erzeugt aber keine brauchbaren Angaben, weil sogar in der base.txt noch erhebliche Mengen an Requirements fehlen und die all.txt mit der base.txt identisch ist.

                        Wie kann ich eine LIste aller notwendigen requirements erhalten, um zu prüfen, ob alles installiert ist?

                        Und ansonsten:

                        Wenn beim Start von sh.py keine Warnmeldungen bezüglich nicht erfüllter requirements kommen (kommen nicht) - wieso geht das admin-Modul nicht bzw. wo kann ich dort suchen?

                        Probem ist doch, dass es nicht läuft. Du hast selbst schon auf die seltsame Meldung bezüglich des jwt-Moduls hingewiesen, die mir aber überhaupt nichts sagt. Ich habe gem. Anleitung installiert, und in der Standardinstallation ohne eigene Einstellungen kommt die Abfrage des Nutzernamens.

                        Kommentar


                          #13
                          Ich habe nicht von Tool starten geschrieben.
                          Ich habe nichts von Plugins konfigurieren geschrieben.

                          Ich habe geschrieben:
                          • Core aus Github auschecken
                          • Plugins aus Github auschecken
                          • SmartHomeNG starten.
                          Wenn Du damit nicht klar kommst, einfach stumpf nach Anwender Doku installieren. Das hat über 100 Anwender zu einer funktionierenden Installation geführt.

                          Mit Deinen sehr unspezifischen Angaben kann ich Dir leider nicht weiterhelfen. Du richtest Dich nicht nach der Anleitung, schreibst aber nur sehr wage was Du eigentlich bei den Versuchen getan hast.
                          Viele Grüße
                          Martin

                          Stay away from negative people. They have a problem for every solution.

                          Kommentar


                            #14
                            Sorry. Ich habe versucht, mitzuteilen, was ich getan habe; wenn das nicht hilft, war das keine Absicht. Mir war aber nicht klar, welche Angaben oder Infos du ggf. brauchst.

                            Ich will dir auch nicht auf die Füße treten; ich kann mir vorstellen, welche Arbeit es ist, so ein Projekt zu betreuen und voran zu treiben.

                            Ich weiß nicht mehr genau, welche Anleitung ich benutzt habe; dort stand etwas davon, das build_requirements-Tool zu nutzen. In der aktuellen Anwenderdoku steht davon nicht, da hast du völlig Recht. Ich versuche es jetzt einfach nochmal nach der Doku in einer zweiten Installation. Vielleicht klärt es sich dann.

                            Kommentar


                              #15
                              So. Raspberry Pi B+, Debian Buster (nur Konsole/headless). Python 3.7.3.

                              Vorgehen nach Anwenderdokumentation (https://www.smarthomeng.de/user/inst...arthomeng.html).
                              - Core auschecken
                              - Plugins auschecken
                              - pip3 install requirements/base.txt (war alles schon da, hat nichts nachinstalliert)
                              - _keine_ Änderungen vorgenommen
                              - smarthomeng gestartet

                              Admininterface: Loginmaske

                              Wenn ich mir Logs o.ä. helfen kann, dann sag mir bitte, welche bzw. wie ich die erstellen soll. Welche Angaben brauchst du ggf noch?

                              Kommentar

                              Lädt...
                              X