Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie muss KNX-Plugin konfiguriert sein, um mit KNXD zusammenzuspielen?

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

    Wie muss KNX-Plugin konfiguriert sein, um mit KNXD zusammenzuspielen?

    Hallo,

    ich habe in den letzten Tagen auf meinem neuen Raspi3 smarthomeNG installiert sowie KNXD. Mein Interface ist eine KNX/IP-Schnittstelle.

    KNXD funktioniert, ich kann von Hand Gruppenadressen ein- und ausschalten.

    Allerdings zeigt mir das Log von smarthome für das KNX-Plugin einen Fehler an. Hier meine plugin.conf:

    Code:
    # plugin.conf
    
    [knx]
       class_name = KNX
       class_path = plugins.knx
       host = 192.168.1.210
    #   port = 6720
       send_time = 600 # update date/time every 600 seconds, default none
       time_ga = 14/2/2 # default none
       date_ga = 14/2/1 # default none
    
    #[ow]
    #    class_name = OneWire
    #    class_path = plugins.onewire
    #    host = 127.0.0.1
    #    port = 4304
    
    [cli]
        class_name = CLI
        class_path = plugins.cli
        ip = 0.0.0.0
        update = True
    
    [visu]
        class_name = WebSocket
        class_path = plugins.visu
    #   ip=0.0.0.0
    #   port=2424
        smartvisu_dir = /var/www/smartvisu
        acl = rw
    
    [sql]
        class_name = SQL
        class_path = plugins.sqlite
    
    [rrd]
        class_name = RRD
        class_path = plugins.rrd
        step = 300
    
    [fritzbox]
        class_name = FritzBox
        class_path = plugins.fritzbox
        host = 192.168.1.250
        password = geheim!!!
    # conf2-1.0.sh - marker to run conversion script only once
    Hier das Log-File:
    Code:
    2016-08-09 22:20:21 INFO     Main         Start SmartHome.py 1.1.1
    2016-08-09 22:20:21 INFO     Main         Init Scheduler
    2016-08-09 22:20:21 INFO     Main         Init Plugins
    2016-08-09 22:20:21 INFO     Main         Init Items
    2016-08-09 22:20:21 INFO     Main         Items: 22
    2016-08-09 22:20:21 INFO     Main         Start Logics
    2016-08-09 22:20:21 INFO     Main         Start Plugins
    2016-08-09 22:20:21 WARNING  visu         Could not find directory: /var/www/smartvisu/temp
    2016-08-09 22:20:21 ERROR    Connections  KNX: could not connect to 192.168.1.210:6720 (TCP): [Errno 111] Verbindungsaufbau abgelehnt
    Die angegebene IP-Adresse ist die meines Raspi. Ich kann auch die der IP-Schnittstelle angeben, dann kommt der Fehler Time-Out oder gar keine, dann kommt die gleiche wie hier angegeben nur mit Adresse 127.0.0.1.

    Wer weiß Abhilfe? Google hat mir leider nicht geholfen :-(

    Danke & Gruß
    Peter
    Zuletzt geändert von bmx; 12.08.2016, 07:07. Grund: Passwort ist geheim und gehört sicher nicht ins Forum

    #2
    Gib einfach keine ip an. Standardmäßig ist das Attribut auskommentiert. Du brauchst es nur, wenn Du keinen KNXD laufen hast und einen KNXD auf einem anderen System ansprechen willst.
    Viele Grüße
    Martin

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

    Kommentar


      #3
      Was zeigen denn sudo systemctl status knxd.service und sudo systemctl status knxd.socket an?

      Und was steht in der /etc/knxd.conf bei KNXD_OPTS?

      Kommentar


        #4
        Code:
        /etc/knxd.conf:   KNXD_OPTS="-u /tmp/eib -b ipt:192.168.1.212"
        knxd.service: active (running)
        knxd.socket: geladen aber inactive (dead):
        Code:
        * knxd.socket - KNX Daemon (socket)
           Loaded: loaded (/lib/systemd/system/knxd.socket; disabled)
           Active: inactive (dead)
           Listen: /var/run/knx (Stream)
                   [::]:6720 (Stream)

        Kommentar


          #5
          Normalerweise solltest Du den Host Eintrag leer lassen, wenn KNXD auf dem selben Rexhner läuft. Hast Du evtl. eine weitere Software (z.B. eine weitere sh Instanz) laufen, die den Port bereits nutzt und damit blockt?
          Viele Grüße
          Martin

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

          Kommentar


            #6
            Gute Frage. Ich hab' von Linux null Ahnung.

            Bin zum Raspi gekommen, weil es für smarthome.py + smartVisu ein Image gab, das ohne Kenntnisse betriebsfertig war. Durch Blitzschlag ist mein Raspi2 zerstört worden und ich hab mir einen Raspi3 gekauft. Dann habe ich von smarthomeNG gelesen und dachte, dass ich das aufgrund der Schritt-für-Schritt Anleitung wohl auch hinkriege. :-(

            Bestimmt gibt es einen schlauen Befehl, mit dem ich abfragen kann, wer den Port nutzt, oder?

            Kommentar


              #7
              Moin Peter,

              auf einem Debian System 8.x läuft der knxd durch den Start vom systemd. Dieser systemd ist dafür zuständig Programme zu starten, die im Hintergrund ohne Benutzerinteraktion laufen sollen. Für den knxd gibt es zwei Einträge, die der systemd unter seine Fittiche nimmt:

              knxd.socket und knxd.service

              Du kannst prüfen, wie oben beschrieben, ob die beiden Dienst laufen und verfügbar sind. Das hast Du oben gemacht (sudo systemctl status knxd.service und sudo systemctl status knxd.socket) und das Ergebnis war, das der knxd zwar öläuft, aber nicht der socket für die Kommunikation von SmartHomeNG mit dem knxd über Port 6720.

              Du kannst jetzt mal folgendes probieren:
              Code:
              sudo systemctl stop knxd.service
              sudo systemctl enable knxd.socket
              sudo systemctl start knxd.socket
              sudo systemctl start knxd.service
              Zum prüfen gibst Du noch einmal ein:
              Code:
              sudo systemctl status knxd.socket
              sudo systemctl status knxd.service
              Ein Prüfung mit dem knxtool
              Code:
              knxtool groupswrite ip:localhost  1/0/20 1
              knxtool groupswrite ip:localhost  1/0/20 0
              sollte jetzt Erfolg haben und die Verbindung zwischen SmartHomeNG und knxd sollte auch klappen. Bitte gib' mal Feedback ...

              Gruß,
              Bernd

              Kommentar


                #8
                Danke für die ausführliche Hilfe :-) Habe erst morgen Abend wieder Zeit für meinen Raspi. Melde mich dann wieder.

                Kommentar


                  #9
                  Hallo Bernd,

                  hat funktioniert, Danke!

                  Ich habe Groupswrite direkt nach dem Installieren probiert. Da hat es funktioniert. Nach dem Reboot nicht mehr, weil knxd.socket gar nicht mehr gestartet wurde. Das habe ich nicht gewusst und auch nicht mehr probiert.

                  Was muss ich tun, damit knxd.service und socket beim Boot automatisch gestartet werden?

                  Danke vorab!

                  Gruß
                  Peter

                  Kommentar


                    #10
                    Code:
                     
                     sudo systemctl enable knxd.socket   
                     sudo systemctl enable knxd.service

                    Kommentar


                      #11
                      Danke. Rückmeldung kommt morgen ...

                      Kommentar


                        #12
                        Hinsichtlich der Installation von KNXD, SmartHomeNG und SmartVisu gibt es im Wiki von SmartHomeNG unter https://github.com/smarthomeNG/smart...plettanleitung eine wunderbare Komplettanleitung, die auch für den Raspi3 funktioniert ... Hab ich grade letztes WE ausprobieren dürfen ...

                        Grüße
                        offline

                        Kommentar


                          #13
                          Die Komplettanleitung ist klasse, aber das Enabling des knxd-Socket ist darin nicht beschrieben. Bei manchen Anwendern scheint es also auch ohne den Socket zu klappen.

                          Warum das im vorliegenden Fall die Lösung war, ist mir nicht wirklich klar. AFAIK hat ein Socket die Aufgabe, den zugehörigen Service zu laden, sobald dieser benötigt wird. Wenn der knxd-Service sowieso beim Booten gestartet und für Smarthome ständig gebraucht wird, dann sollte doch der Socket eigentlich nicht zusätzlich gestartet werden müssen. Oder habe ich da eine Wissenslücke bzw. Denkfehler?

                          Fehlt vielleicht einfach nur ein
                          Code:
                          sudo systemctl daemon-reload
                          vor dem Enabling des knxd-Service?

                          Sorry, wenn das ein bisschen akademisch ist. Aber für's Verständnis der Zusammenhänge wäre mir das wichtig zu wissen.
                          ​​​​​​​
                          Gruß
                          Wolfram

                          Kommentar


                            #14
                            Zitat von wvhn Beitrag anzeigen
                            Wenn der knxd-Service sowieso beim Booten gestartet und für Smarthome ständig gebraucht wird, dann sollte doch der Socket eigentlich nicht zusätzlich gestartet werden müssen. Oder habe ich da eine Wissenslücke bzw. Denkfehler?
                            Wenn ich mich nicht irre ist es umgekehrt:
                            Wenn der Socket gestartet wird, muss der Service nicht explizit gestartet werden, weil der Socket dies macht.
                            Ist hingegen der Socket nicht gestartet, hört der Service nicht auf Port 6720.

                            Kommentar


                              #15
                              Ich habe die Komplettanleitung mal ergänzt. Es kann sein, das in bestimmten Situationen bereits das eine oder ander enabled ist und schon der einen oder andere Teil installiert ist und läuft. Theoretisch ist halt wichtig, das beide Teile vom knxd laufen, sowohl der service als auch der socket - zumindest für SmartHomeNG der den socket nutzt.

                              Kommentar

                              Lädt...
                              X