Ankündigung

Einklappen
Keine Ankündigung bisher.

SmartHomeNG: Fehler in der Komplettanleitung!

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

    SmartHomeNG: Fehler in der Komplettanleitung!

    Hallo zusammen!

    Ich habe gestern versucht SmarthomeNG V1.1 gemäß Komplettanleitung auf einem Raspberry Pi 2 mit Raspbian Jessie Lite zu installieren. Leider hat's erst mal nicht geklappt, wegen zwei kleinen Fehlern in der ansonsten sehr guten Anleitung. Damit andere nicht auch hängen bleiben, hier ein paar Hinweise:

    Im Abschnitt SmartHomeNG installieren steht im dritten Absatz: "Der [ow] Teil kann weggelassen werden, falls kein 1-Wire benutzt wird". Das ist leider nur die halbe Wahrheit, denn der [ow] Teil muss weggelassen werden, wenn zunächst kein 1-Wire benutzt wird. Gemäß Anleitung enthält die Datei /usr/local/smarthome/etc/plugin.conf folgenden Onewire-Abschnitt:
    Code:
    [ow]
        class_name = OneWire
        class_path = plugins.onewire
    Wenn man nun im nächsten Abschnitt SmartHomeNG starten versucht, SmartHome zu starten, funktioniert das nicht, weil zu diesem Zeitpunkt gemäß Komplettanleitung Onewire noch nicht installiert ist. Anscheinend benötigt SmartHomeNG aber Onewire um zu starten. Bei mir hat es eine ganze Weile gedauert, um das zu bemerken. Ich schlage daher vor, den Onewire-Abschnitt in der plugin.conf zunächst auszukommentieren:
    Code:
    #[ow]
    #    class_name = OneWire
    #    class_path = plugins.onewire
    Im Abschnitt Installation Onewire kann das ja wieder rückgängig gemacht werden.

    Die plugin.conf enthält außerdem folgende beiden Abschnitte
    Code:
    [visu]
        class_name = WebSocket
        class_path = plugins.visu_websocket
    #    ip = 0.0.0.0
    #    port = 2424
    #    tls = no
    #    wsproto = 4
        acl = rw
    
    [smartvisu]
        class_name = SmartVisu
        class_path = plugins.visu_smartvisu
        smartvisu_dir = /var/www/smartvisu
    #    generate_pages = True
    #    handle_widgets = True
    #    overwrite_templates = Yes
    #    visu_style = blk
    Beide produzieren mit SmarthomeNG V1.1 eine Fehlermeldung, da der Pfad smartvisu_dir = /var/www/smartvisu nicht korrekt ist und plugins.visu_smartvisu bzw. plugins.visu_websocket nicht bekannt sind. Ich habe den Abschnitt [smartvisu] auskommentiert und im Abschnitt [visu] den class_path angepasst und noch den korrekten Pfad eingefügt:
    Code:
    [visu]
        class_name = WebSocket
        class_path = plugins.visu
        smartvisu_dir = /var/www/html/smartVISU
    Mit diesen Modifikationen startet SmartHomeNG dann endlich.

    Im Abschnitt SmartVISU installieren fehlt noch ein sudo vor dem ersten apt-get. Müsste eigentlich so aussehen:
    Code:
    sudo apt-get install libawl-php php5-curl php5 php5-json
    Ich weiß, dass der Release der SmartHomeNG Version 1.2 unmittelbar bevorsteht. Damit ändert sich die Sache mit der plugin.conf wieder. Aber vielleicht hilft's ja trotzdem jemand in der Zwischenzeit.

    Uli




    #2
    Danke.
    Du kannst die Seite editieren. Oben rechts ist ein Knopf dafür.

    Kommentar


      #3
      Zitat von henfri Beitrag anzeigen
      Danke.
      Du kannst die Seite editieren. Oben rechts ist ein Knopf dafür.
      Ok, wusste ich nicht. Sehe auch keinen Knopf. Muss man sich dazu anmelden bei Github?

      Kommentar


        #4
        Ja. @entwickler: Womit wir wieder bei der kommentierbaren Wiki wären, brauche noch Rückmeldung.
        Danke für die ausführliche Beschreibung, Uli!
        /tom

        Kommentar


          #5
          Ich würde die Komplettanleitung am Wochenende überarbeiten. Wenn Du das selbst einpflegen möchtest, halte ich Dich aber nicht auf ;-)

          Kommentar


            #6
            Mach ich, wenn ich wieder da bin, siehe Entwicklerchat.
            /tom

            Kommentar


              #7
              Einen Teil habe ich mal eingepflegt. Bei den Optionen für die Protokolle ab SmartHomeNG 1.2 für die beiden Plugins habe ich jetzt noch keine Aktualisierung eingepflegt, weil ich das nicht verifizieren kann. Also bitte gerne jemand anders nach Prüfung ergänzen...
              Ich fände es sinnvoll den Onewire ans Ende zu packen und dort die benötigten Schritte anzupassen, um es in ein laufendes (!) System zu integrieren. Es scheint so das Anfänger beigehen und erstmal alles einschalten, was sie eventuell irgendwann benötigen könnten und dann hagelt es hier im Forum Problemberichte weil irgendwie erstmal gar nix läuft...
              Zuletzt geändert von bmx; 20.08.2016, 09:23.

              Kommentar


                #8
                Ich habe gerade versucht SmartHomeNG 1.2 gemäß aktualisierter Komplettanleitung zu installieren. Leider meldet smartVISU 2.7 einen Websocket error (rotes Dreieck). Smarthome.py läuft:

                Code:
                smarthome@raspberrypi:~ $ ps ax | grep smarthome
                  627 ?        Sl     0:02 /usr/bin/python3 /usr/local/smarthome/bin/smarthome.py
                  646 ?        Ss     0:00 sshd: smarthome [priv]
                  652 ?        S      0:00 sshd: smarthome@pts/0
                  681 ?        Ss     0:00 sshd: smarthome [priv]
                  687 ?        S      0:00 sshd: smarthome@notty
                  691 pts/0    S+     0:00 grep --color=auto smarthome
                Im smarthome.log steht:

                Code:
                2016-08-16  23:27:35 WARNING  Main         --------------------   Init smarthomeNG 1.2.450   --------------------
                2016-08-16  23:27:35 INFO     Main         Init Scheduler
                2016-08-16  23:27:35 INFO     Main         Init Plugins
                2016-08-16  23:27:35 ERROR    Main         Plugin visu exception: __init__() got an unexpected keyword argument 'smartvisu_dir'
                Traceback (most recent call last):
                  File "/usr/local/smarthome/lib/plugin.py", line 63, in __init__
                    plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance)
                  File "/usr/local/smarthome/lib/plugin.py", line 108, in __init__
                    exec("self.plugin.__init__(smarthome{0})".format(args))
                  File "<string>", line 1, in <module>
                TypeError: __init__() got an unexpected keyword argument 'smartvisu_dir'
                2016-08-16  23:27:35 INFO     Main         Init Items
                2016-08-16  23:27:35 INFO     Main         Items: 47
                2016-08-16  23:27:35 INFO     Main         Start Logics
                2016-08-16  23:27:35 INFO     Main         Start Plugins
                2016-08-16  23:27:35 WARNING  smartvisu    Installing widgets into smartVISU
                2016-08-16  23:27:35 INFO     smartvisu    install_widgets: Installing from '/usr/local/smarthome' to '/var/www/html/smartVISU'
                2016-08-16  23:27:35 INFO     smartvisu    install_widgets: Creating  directory for widgets
                2016-08-16  23:27:35 WARNING  smartvisu    Could not find or create directory for sh widgets: /var/www/html/smartVISU/widgets/sh_widgets
                2016-08-16  23:27:35 WARNING  smartvisu    Generating pages for smartVISU
                2016-08-16  23:27:35 INFO     smartvisu    copy_templates: Copying template 'index.html' from plugin to smartVISU
                Leider schaffe ich es dieses Mal nicht, das Problem zu lösen.

                Kommentar


                  #9
                  Ok, ich hab's doch noch entdeckt: Die plugin.conf enthält gemäß Komplettanleitung folgenden Teil:

                  Code:
                  [visu]
                      class_name = WebSocket
                      class_path = plugins.visu
                      smartvisu_dir = /var/www/html/smartVISU
                  Die letzte Zeile muss entfernt werden:

                  Code:
                  [visu]
                      class_name = WebSocket
                      class_path = plugins.visu
                  Jetzt läuft's!

                  Auf der Übersichtsseite https://github.com/smarthomeNG/smarthome im Abschnitt etc/plugin.conf ist der Code übrigens korrekt. Der Fehler steckt nur in der Komplettanleitung. Leider kann ich die Komplettanleitung im Moment nicht selbst editieren, weil GitHub denkt, ich sei ein Roboter.
                  Zuletzt geändert von UliSchirm; 22.08.2016, 21:50.

                  Kommentar


                    #10
                    Eigentlich steht dort ganz klar:
                    # Bis SmartHomeNG 1.1 drüber. Darunter ist ein Abschnitt # ab SmartHomeNG 1.2

                    Kommentar


                      #11
                      Eigentlich steht dort ganz klar:
                      # Bis SmartHomeNG 1.1 drüber. Darunter ist ein Abschnitt # ab SmartHomeNG 1.2
                      In dem Abschnitt "Bis SmarthomeNG 1.1" steht aber auch: "diese Plugin wird ab SmartHomeNG 1.3 entfernt". Somit kann man durchaus zu der falschen Annahme kommen, dass der Abschnitt für Smarthome 1.2 noch benötigt wird. Ich finde das missverständlich.

                      Wer einfach nur per Copy & Paste die Komplettanleitung abarbeitet, kommt ohne Probleme bis zu diesem Punkt, und dann nicht weiter. Es wäre gerade für Anfänger hilfreich, hier einen Code aufzulisten, der nicht editiert werden muss um zu funktionieren. Da die 1.2 ja mittlerweile Master ist, wird die Option für 1.1 doch gar nicht mehr benötigt. Mein Vorschlag:

                      Code:
                      [knx]
                         class_name = KNX
                         class_path = plugins.knx
                         host = 127.0.0.1
                         port = 6720
                      #   send_time = 600 # update date/time every 600 seconds, default none
                      #   time_ga = 1/1/1 # default none
                      #   date_ga = 1/1/2 # default none
                      
                      #   Der [ow]-Teil muss später im Abschnitt "Installation Onewire" der Komplettanleitung
                      #   durch Entfernen der drei # aktiviert werden:
                      #[ow]
                      #    class_name = OneWire
                      #    class_path = plugins.onewire
                      
                      [visu]
                          class_name = WebSocket
                          class_path = plugins.visu_websocket
                      
                      [smartvisu]
                          class_name = SmartVisu
                          class_path = plugins.visu_smartvisu
                          smartvisu_dir = /var/www/html/smartVISU
                      
                      [cli]
                          class_name = CLI
                          class_path = plugins.cli
                          ip = 0.0.0.0
                          update = True
                      
                      [sql]
                          class_name = SQL
                          class_path = plugins.sqlite

                      Kommentar


                        #12
                        Zu dem Zeitpunkt war die 1.2 noch nicht released. Sicher werden wir den Teil jetzt nach der Release 1.2 überarbeiten und das so abändern, das da keiner mehr steckenbleibt. So eine "Komplettanleitung" lebt ja weiter, der nächste Teil wird dann sicher schon wieder wegen SmartVisuTNG geändert werden müssen.

                        Kommentar


                          #13
                          Hi,
                          für eine frische Neuinstallation unter Ubuntu 16.04.1 LTS (xenial) ist noch eine Kleinigkeit zu beachten:
                          Es gibt kein php5 mehr.

                          Im Abschnitt "SmartVISU installieren" müssen die Befehle
                          Code:
                          sudo apt-get install libawl-php php5-curl php5 php5-json
                          geändert werden in:

                          Code:
                          sudo apt-get install php libawl-php php-curl php-json libapache2-mod-php php-mbstring
                          sudo /etc/init.d/apache2 restart
                          Viele Grüße
                          Jan

                          Kommentar

                          Lädt...
                          X