Ankündigung

Einklappen
Keine Ankündigung bisher.

Raspberry 2 Debian Jessie smarthome.py startet nicht sofort über systemd

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

    Raspberry 2 Debian Jessie smarthome.py startet nicht sofort über systemd

    Hallo Zusammen,

    hat jemand eine funktionierende systemd Konfiguration, zum starten von smarthome.py?

    Bei dieser Konfiguration dauert der start sehr lange:
    Code:
    [Unit]
    Description=smarthome.py daemon
    After=local-fs.target
    ConditionPathExists=/var/log
    
    Damit klappt es nicht, die smarthome.py pid kann nicht geschrieben werden
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/python3 /usr/local/smarthome/bin/smarthome.py
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    LOG:
    Code:
    2015-10-12 14:20:49 INFO     Main         Start SmartHome.py 1.1.944.dev
    2015-10-12 14:20:49 INFO     Main         Init Scheduler
    2015-10-12 14:20:49 INFO     Main         Init Plugins
    2015-10-12 14:20:49 INFO     Main         Number of Threads: 7
    2015-10-12 14:20:50 INFO     Main         SmartHome.py stopped
    Init SmartHome.py 1.1.944.dev
    2015-10-12 14:20:51 INFO     Main         Start SmartHome.py 1.1.944.dev
    2015-10-12 14:20:51 INFO     Main         Init Scheduler
    2015-10-12 14:20:51 INFO     Main         Init Plugins
    2015-10-12 14:20:51 INFO     Main         Number of Threads: 7
    2015-10-12 14:20:52 INFO     Main         SmartHome.py stopped
    Init SmartHome.py 1.1.944.dev
    2015-10-12 14:20:53 INFO     Main         Start SmartHome.py 1.1.944.dev
    2015-10-12 14:20:53 INFO     Main         Init Scheduler
    2015-10-12 14:20:53 INFO     Main         Init Plugins
    2015-10-12 14:20:53 INFO     Main         Number of Threads: 7
    2015-10-12 14:20:54 INFO     Main         SmartHome.py stopped
    Init SmartHome.py 1.1.944.dev
    2015-10-12 14:20:55 INFO     Main         Start SmartHome.py 1.1.944.dev
    2015-10-12 14:20:55 INFO     Main         Init Scheduler
    2015-10-12 14:20:55 INFO     Main         Init Plugins
    2015-10-12 14:20:56 INFO     Main         Number of Threads: 7
    2015-10-12 14:20:56 INFO     Main         SmartHome.py stopped
    Init SmartHome.py 1.1.944.dev
    2015-10-12 14:20:58 INFO     Main         Start SmartHome.py 1.1.944.dev
    2015-10-12 14:20:58 INFO     Main         Init Scheduler
    2015-10-12 14:20:58 INFO     Main         Init Plugins
    2015-10-12 14:20:58 INFO     Main         Number of Threads: 7
    2015-10-12 14:20:59 INFO     Main         SmartHome.py stopped
    Init SmartHome.py 1.1.944.dev
    Hat jemand eine Idee, warum smarthome.py nicht direkt starten kann, führe ich das normale Skript in der Konsole aus, startet es innerhalb paar Sekunde.



    gruß
    spars

    #2
    Hallo Zusammen,

    hat jemand eine laufende system Konfiguration für smarthome.py?

    Grüße
    spars

    Kommentar


      #3
      Moin,
      an die Frage hänge ich mich mal an.
      Versuche auch gerade smarthome.py auf einem Debian Jessie zu installieren.

      Gruß, Sebastian
      Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
      Ruhri? -> Komm zum Stammtisch

      Kommentar


        #4
        Moin,
        hier mal ein aktueller Zwischenstand von mir.
        - Installation von Debian Jessie in einer VM.
        - Einspielen aller updates mit apt-get update && apt-get- upgrade
        - installation nach Komplettanleitung von hier
        Die Anleitung scheint umgezogen zu sein. Unter der Einstiegsseite des SH Wikis in Git führt der Link ins Leere, da die Adresse geändert wurde.

        Abweichend von der Anleitung habe ich die develop Version von SH genommen und die aktuelle Version von SV aus dem git
        - git clone -b develop git://github.com/mknx/smarthome.git
        - git clone https://github.com/Martin-Gleiss/smartvisu.git
        Beim Ordner für die SmartVISU ist auf Großschreibung zu achten. SH erwartet die Dateien in smartVISU und nicht in smartvisu
        also folgte nach dem git clone noch ein
        - mv smartvisu smartVISU
        Dabei weis ich allerdings nicht ob das emfehlenswert ist, dass Verzeichnis nach dem clonen umzubenennen. Keine Ahnung ob das Git später beim Aktualisieren aus dem Tritt bringt.

        SH.py startet nach einem Neustart der VW automatisch und wird auch von SV gefunden.
        Allerdings findet SH scheinbar den eibd nicht.
        Im Log steht
        Code:
        2016-03-13 12:07:24 ERROR    Connections  KNX: could not connect to 127.0.0.1:6720 (TCP): [Errno 111] Verbindungsaufbau abgelehnt
        Mit der IP der VM in plugins.conf statt 127.0.0.1 kommt die gleiche Meldung.

        Jemand eine Idee, was das Problem des eibd sein könnte?

        Gruß, Sebastian


        Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
        Ruhri? -> Komm zum Stammtisch

        Kommentar


          #5
          noch ein Update:
          Ich habe in der /usr/local/smarthome/etc/plugin.conf die IP Adresse ausgetauscht.
          Statt der IP des localhost habe ich die des Wiregates das ich als KNX Schnittstelle benutze eingetragen.
          Seit dem klappt es. Ich dachte SH.py würde zwingend den eibd auf dem lokalen System benötigen. Das scheint nicht der Fall zu sein. Solange ich das Wiregate nutze, werde ich einfach ohne den eibd in der VM mit SH.py auskommen.

          Vielleicht hilft das hier ja dem ein oder anderen.
          Viel Erfolg beim Nachbauen.

          Gruß, Sebastian
          Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
          Ruhri? -> Komm zum Stammtisch

          Kommentar


            #6
            Hast Du mal geprüft, ob der eibd überhaupt läuft?

            Kommentar


              #7
              Hallo BMX,
              berechtigte Frage, danke für deine Antwort.
              Hab auch schon überlegt, ob der eibd das überhaupt tut. Habe dann aber erst mal die IP des Wiregates in SH eingetragen, und es lief.
              Da ich ein ziemlicher Linux Noob bin, hätte ich mich erst mal einlesen müssen, mit welchem Befehl ich die laufenden Prozesse sehen kann. Mit "top" wird weder eibd noch smarthome aufgeführt. Letzteres läuft aber ja definitiv. Das bringt mich zu dem Schluß, dass top nicht der richtige Befehl dafür ist und ich mich weiter aufschlauen müsste.

              Neben der Tatsache das der eibd evtl. nicht läuft, könnte es auch noch die Konfiguration der VM sein. Wer weis, ob ich VirtualBox überhaupt richtig konfiguriert habe.

              Gruß, Sebastian
              Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
              Ruhri? -> Komm zum Stammtisch

              Kommentar


                #8
                Ob der eibd läuft, solltest Du mit "sudo ps -ax | grep eibd" feststellen können.
                Wenn Du per Ping von außen auf Deine VM kommst, sollte das mit Virtual Box auch ok sein.
                Alternativ zum eibd kannst Du Dir auch den knxd installieren, ist aber als Linux-Anfänger nicht ganz einfach. Wenn man weiß, wie man sich weiterhangeln kann, gehts aber sonst ist das ggf. steinig.

                Kommentar


                  #9
                  Moin,
                  danke für den Befehl.
                  Die Ausgabe ist:
                  1436 pts/0 S+ 0:00 grep eibd

                  Ich interpretiere das so, dass der eibd läuft. Sonst hätte grep ja nichts gefunden und der eibd keine ID.
                  Von außen komme ich grundsätzlich drauf. Die Visu ist erreichbar und die Befehle setze ich eh die ganze Zeit über ssh ab.

                  Wenn ich mal langeweile habe ;-) , werde ich mich mal an dem knxd zu schaffen machen.

                  Gruß, Sebastian
                  Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
                  Ruhri? -> Komm zum Stammtisch

                  Kommentar


                    #10
                    Zitat von Bainit Beitrag anzeigen
                    Die Ausgabe ist:
                    1436 pts/0 S+ 0:00 grep eibd
                    Hallo,

                    diese Ausgabe zeigt an, dass Dein grep-Befehl gefunden wurde, aber kein eibd-Prozess (dann müssten zwei Einträge mit "eibd" zu sehen sein), ergo läuft kein eibd auf Deinem System.

                    Greetinx,
                    Udo

                    Kommentar


                      #11
                      Was Udo geschrieben hat, stimmt. Hast Du auch "sudo /etc/init.d/eibd start" ausgeführt nach der Installation? Und hast Du den eib auch mit "sudo insserv eibd" für den Autostart eingetragen?

                      Gruß,
                      Bernd

                      Kommentar


                        #12
                        Ja, beide Befehle gemäß Komplettanleitung ausgeführt. Habe beide Befehle gerade auch nochmal wiederholt. Bei beiden kommt keine sichtbare Rückmeldung. Die Anzeige von grep ändert sich quasi nicht. Das die Zahl vorne bei jedem Ausführen ansteigt, interpretiere ich jetzt mal als irrelevant.
                        Ich nehme mal stark an, dass bei der Installation des eibd irgendwas schief ging. Werde die Tage mal versuchen die Anleitung hier irgendwo aus dem Forum zu nehmen. Da stand dann auch was davon die Source herunterzuladen und selbst zu kompilieren.

                        Die Visu läuft ja erst mal. Da sind auch noch einige Fehler im SH Log, von denen ich dachte, dass sie verschwinden, sobald ich meine Items Liste drin hab. Die war ja direkt nach der Installation noch leer. Ist aber nicht der Fall. Da ist also noch irgendwas krumm. Schaue ich die Tage mal drüber.

                        Gruß, Sebastian
                        Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
                        Ruhri? -> Komm zum Stammtisch

                        Kommentar


                          #13
                          Hm. Dann würde ich die Installation des eibd nochmal genau durchgehen, vielleicht hast Du was anders gemacht als in der Anleitung. Vielleicht fehlt irgendwo ein Recht etwas zu starten oder auszuführen. Startskript hast Du übernommen?

                          Gruß,
                          Bernd

                          Kommentar


                            #14
                            Zitat von sparsematrix Beitrag anzeigen
                            hat jemand eine laufende system Konfiguration für smarthome.py?
                            Ja hab ich. Am eibd liegt es nicht. Smarthome.py läuft auch ohne erreichbaren eibd. Das Verhalten von Post 1 hängt mit systemd zusammen.
                            systemd erwartet bei
                            Code:
                            Type=forking
                            eine PID Datei damit der Dienst überwacht werden kann.
                            Da systemd den Status nicht überprüfen kann beendet er SH.py und startet durch:
                            Code:
                            Restart=always
                            den Service neu.

                            Hier meine /etc/systemd/service/smarthome.service Datei:
                            Code:
                            [Unit]
                              Description=smarthome.py
                              daemon After=network.target  
                            [Service]
                             Type=forking
                             ExecStart=/usr/bin/python3 /usr/local/smarthome/bin/smarthome.py
                             User=smarthome
                             PIDFile=/usr/local/smarthome/var/run/smarthome.pid
                             Restart=on-abort  
                            [Install]
                             WantedBy=default.target
                            Damit das aber läuft muss du noch smarthome.py anpassen damit die PID-Datei geschrieben wird.

                            Die notwendigen Änderungen sind hier drin:
                            https://github.com/smarthomeNG/smarthome/pull/1/files

                            Gruß
                            Christian
                            Zuletzt geändert von cmalo; 11.04.2016, 23:05.

                            Kommentar


                              #15
                              Bei mir funktioniert smarthome zwar, allerdings bekomme ich unter jessie, wenn ich den Status des services abfrage, folgende Fehlermeldung:
                              Code:
                              ● smarthome.service - smarthomeNG daemon
                                 Loaded: loaded (/lib/systemd/system/smarthome.service; disabled)
                                 Active: active (running) since So 2016-06-12 22:09:35 CEST; 43s ago
                                Process: 290 ExecStart=/usr/bin/python3 /usr/smarthome/bin/smarthome.py (code=exited, status=0/SUCCESS)
                               Main PID: 489 (python3)
                                 CGroup: /system.slice/smarthome.service
                                         └─489 /usr/bin/python3 /usr/smarthome/bin/smarthome.py
                              
                              Jun 12 22:09:35 pi systemd[1]: Failed to read PID from file /usr/smarthome/var/run/smarthome.pid: Invalid argument
                              Jun 12 22:09:35 pi systemd[1]: smarthome.service: Supervising process 489 which is not our child. We'll most likely not notice when it exits.
                              Jun 12 22:09:35 pi systemd[1]: Started smarthomeNG daemon.

                              Kommentar

                              Lädt...
                              X