Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd mit Gira 216700 Router -failed service mit Router IP

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

    knxd mit Gira 216700 Router -failed service mit Router IP

    Hallo Leute

    ich habe jetzt schon 2 Tage mit dem knxd gekämpft und bisher "verloren" :-).

    Getestet hab ich bisher auf Linux Mint, Ubuntu und auf dem Raspberry.

    Der letzte Versuch war der Raspy, daher versuchen wir es mal auf ihm fertig zu bekommen.

    Ich habe beobachtet, dass ich sobald ich bei den KNXD_OPTS die Router IP Adresse eintrage, der Service failed. Daher hab ich diese erstmal weg gelassen.
    Die KNX Linie die ich nutze ist die 1.1. Der Router hat die 1.1.0. Die Router IP Adresse (pingbar) ist 192.168.178.45.

    Ausgabe ohne IP Adresse des Routers in der KNXD_OPTS:


    Code:
    pi@iobroker:~ $ ps -ef | grep knx
    iobroker   644   540  0 17:04 ?        00:00:02 io.knx.0
    iobroker   654   540  0 17:04 ?        00:00:02 io.knx.1
    knxd      1421     1  0 17:12 ?        00:00:00 /usr/bin/knxd -e 1.1.100 -E 1.1.101:8 -u /tmp/eib -b ip:
    pi        1553   873  0 17:14 pts/0    00:00:00 grep --color=auto knx
    pi@iobroker:~ $ sudo /etc/init.d/knxd status
    ● knxd.service - KNX Daemon
       Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2019-01-16 17:12:33 CET; 2min 9s ago
     Main PID: 1421 (knxd)
       CGroup: /system.slice/knxd.service
               └─1421 /usr/bin/knxd -e 1.1.100 -E 1.1.101:8 -u /tmp/eib -b ip:
    
    Jan 16 17:12:33 iobroker systemd[1]: Starting KNX Daemon...
    Jan 16 17:12:33 iobroker systemd[1]: Started KNX Daemon.

    /etc/knxd.conf
    Code:
    # configuration for knxd.service
    KNXD_OPTS="-e 1.1.100 -E 1.1.101:8 -u /tmp/eib -b ip:"

    #2
    sobald die Router IP Adresse in den KNXD_OPTS angegeben wird, klappts schon nicht mehr

    /etc/knxd.conf


    Code:
    pi@iobroker:~ $ vim /etc/knxd.conf
    # configuration for knxd.service
    KNXD_OPTS="-e 1.1.100 -E 1.1.101:8 -u /tmp/eib -b ip:192.168.178.45"
    Code:
    pi@iobroker:~ $ sudo systemctl status knxd.service
    ● knxd.service - KNX Daemon
       Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
       Active: activating (auto-restart) (Result: exit-code) since Wed 2019-01-16 17:30:35 CET; 6s ago
      Process: 2671 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE)
     Main PID: 2671 (code=exited, status=1/FAILURE)
    
    Jan 16 17:30:35 iobroker systemd[1]: knxd.service: Main process exited, code=exited, status=1/FAILURE
    Jan 16 17:30:35 iobroker systemd[1]: knxd.service: Unit entered failed state.
    Jan 16 17:30:35 iobroker systemd[1]: knxd.service: Failed with result 'exit-code'.
    pi@iobroker:~ $

    habt ihr noch eine Idee, was ich noch versuchen kann?

    Ich muss dringend mit dem knxtool ein paar Siemens Busankoppler der 1. Generation auf Jung flashen, damit ich meine Jalousien wieder bedienen kann :-(

    Kommentar


      #3
      Zitat von ice77 Beitrag anzeigen
      sobald die Router IP Adresse in den KNXD_OPTS angegeben wird, klappts schon nicht mehr

      /etc/knxd.conf


      Code:
      pi@iobroker:~ $ vim /etc/knxd.conf
      # configuration for knxd.service
      KNXD_OPTS="-e 1.1.100 -E 1.1.101:8 -u /tmp/eib -b ip:192.168.178.45"
      Kein Wunder, denn diese IP ist falsch. Hier käme die Multicast IP, aber die kannst du auch gleich weglassen. Es müsste bereits mit der ersten Variante korrekt laufen. Der Router und knxd sind im gleichen Subnetz? Dann müssten sie sich über Multicast auch problemlos verständigen können. Du könntest noch den Paramter -DTS einfügen, nicht aber -R.
      Statt über Multicast könntest du mit der Schnittstelle auch einen Tunnel aufbauen, mit "-b ipt:192.168.178.45". Vielleicht klappt das besser.
      EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

      Kommentar


        #4
        Oh, danke für den Hinweis Ich hab in der Doku auf Github leider keinen Hinweis darauf gefunden, dass es die multicast Adresse sein soll.
        Ich wüsste ehrlich gesagt auch nicht wo ich die multicast Adresse ausfindig machen sollte, da ich bisher keine definiert habe.
        Und ja natürlich sind die Geräte alle in einem Subnetz, sonst hätte ich diese über Ping auch nicht erreichen können. Es ist ein Standard Netz welches die Fritzbox auf spannt mit einer 24er Netzmaske.

        Ich werde heute nachmittag versuchen ohne die IP-Adresse ein KNX Datagramm auf dem Bus zu senden. Hoffentlich klappt es.

        Herzlichen Dank schon mal für die schnelle Hilfe!!!
        Zuletzt geändert von ice77; 17.01.2019, 08:29.

        Kommentar


          #5
          Zitat von ice77 Beitrag anzeigen
          Ich wüsste ehrlich gesagt auch nicht wo ich die multicast Adresse ausfindig machen sollte, da ich bisher keine definiert habe.
          Und ja natürlich sind die Geräte alle in einem Subnetz, sonst hätte ich diese über Ping auch nicht erreichen können. Es ist ein Standard Netz welches die Fritzbox auf spannt mit einer 24er Netzmaske.
          Du brauchst keine Multicast Adresse anzugeben, dann wird die für KNX zugeteilte Adresse verwendet. Macht auch keinen grossen Sinn eine andere zu verwenden, sonst musst du diese auf allen KNX Routern umstellen.
          Ein erfolreicher Ping ist halt noch kein Anhaltspunkt dass alle Geräte im gleichen Subnetz sind, deshalb habe ich gefragt. Multicast hingegen funktioniert ohne spezielle Massnahmen aber nur im Subnet.
          Ich kenne die Fritzbox nicht, aber es wäre denkbar, dass sie oder ein Switch Multicast nicht durchlässt.
          Es gäbe also mehrere mögliche Ursachen für Multicast Probleme.

          EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

          Kommentar


            #6
            Hallo Tru,

            Dein Einwand war goldrichtig. Mit ipt:IP_ADDRESS funktioniert es einwandfrei. Ich kann jetzt mit

            Code:
            knxtool groupswrite local: 1/3/1 1
            meine Jalousie bedienen. Mit der Option ip: komme ich dennoch nicht weiter. Wo bekomme ich denn die entsprechende MC Adresse her, um den Router direkt adressieren zu können?

            Danke schonmal für deine Hilfe. Ich werd jetzt versuchen den Busankoppler mit Vendor ID 04 zu flashen.

            Kommentar


              #7
              Zitat von ice77 Beitrag anzeigen
              Mit der Option ip: komme ich dennoch nicht weiter. Wo bekomme ich denn die entsprechende MC Adresse her, um den Router direkt adressieren zu können?
              Du kannst mit Multicast nicht direkt adressieren. Das ist ja grad die Eigenschaft von Multicast, dass alle Geräte im lokalen Subnetz die Pakete bekommen (ähnlich wie bei Broadcast) und entsprechend reagieren, wenn sie sich angesprochen fühlen. Damit können im Subnetz "beliebig" viele KNX Router verbunden werden. Die Standard Multicast Adresse von KNX ist 224.0.23.12, wenn ich mich nicht irre.
              Hast du denn überhaupt einen KNX Router und ist das Protokoll aktiviert?

              EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

              Kommentar


                #8
                Ich dachte man muss um sich dem Multicast Stream anschliessen zu können, die MC Gruppe über die MC Adresse joinen. Hierfür müsste ja dann diese MC Adresse der betreffenden Gruppe bekannt sein, da es ja im Prinzip fast beliebig viele MC Streams geben könnte.

                Es gibt ja da wohl 2 MC Verfahren. Beim einen Fragt der Server periodisch wers haben will und ich kann als Client den Stream abonieren, und beim Anderen muss der Client z.B. ein IGMP join schicken, um den Stream zu abonieren, ohne dass der Server den Dienst ins Netz published. Ich hoffe ich habs mir richtig gemerkt.

                Mir war einfach nicht klar, dass mit "IP:" was anderes als eine normale IP Adresse des Routers gemeint sein könnte.
                Mein Interface ist ein Gira 216700 Router - das aktulle IP Router Modell von Gira. Der sollte das defenitiv können. Nicht der Router ist das Problem, sondern eher der Mensch hinterm Bildschirm :-).

                Aktuell kann ich mit

                Code:
                [B]pi@iobroker[/B]:[B]~ $[/B] knxtool groupswrite local: 1/3/1 1
                Send request
                die Jalousien fahren lassen. Das läuft einwandfrei.

                Den Siemens BA hab ich mit der physikalische Adresse 1/1/8 mit der ETS bespielen können.
                Das Jung Programm (welches früher auf einem Jung 2070U BA lief) frisst er jetzt natürlich nicht mehr, da er die Vendor ID von Siemens liest und nicht die 04=Jung.

                Jetzt wäre es an der Zeit, mittels mwrite die Vendor ID von Siemens auf Jung umzuflashen.
                Probiert hab ich folgende Kombinationen

                Code:
                [B]pi@iobroker[/B]:[B]~ $[/B] knxtool mwrite [MARKIEREN]local:[/MARKIEREN] 1/1/8 104 04
                Connect failed: Connection reset by peer
                
                [B]pi@iobroker[/B]:[B]~ $[/B] knxtool mwrite [MARKIEREN]local[/MARKIEREN] 1/1/8 104 04
                Unknown URL prefix, need 'local:' or 'ip:'
                Open failed: Invalid argument
                
                [B]pi@iobroker[/B]:[B]~ $[/B] knxtool mwrite [MARKIEREN]local:/tmp/eib[/MARKIEREN] 1/1/8 104 04
                Open failed: Permission denied
                
                [B]pi@iobroker[/B]:[B]~ $[/B] [MARKIEREN]sudo[/MARKIEREN] knxtool mwrite local:/tmp/eib 1/1/8 104 04
                Connect failed: Connection reset by peer
                
                [B]pi@iobroker[/B]:[B]~ $[/B] sudo knxtool mwrite
                usage: mwrite [-k key] url eibaddr addr [xx xx xx ..]
                
                [B]pi@iobroker[/B]:[B]~ $[/B] sudo knxtool mwrite local: 1/1/8 104 04
                Connect failed: Connection reset by peer

                Ich bin mir sicher, es kann nicht mehr weit sein, bis es funktioniert, da im Prinzip ja die Datagramme für die Jalousiefahrt schon in der ETS sichtbar werden und auch die Jalousien wie gewünscht fahren.

                Wenn jetzt der mwrite Befehl funktionieren würde, könnte ich den Code auf 04 setzen und das Jung Applikationsprogramm auf die BA spielen und ich wäre fertig.

                Kommentar


                  #9
                  Zitat von ice77 Beitrag anzeigen
                  Es gibt ja da wohl 2 MC Verfahren. Beim einen Fragt der Server periodisch wers haben will und ich kann als Client den Stream abonieren, und beim Anderen muss der Client z.B. ein IGMP join schicken, um den Stream zu abonieren, ohne dass der Server den Dienst ins Netz published. Ich hoffe ich habs mir richtig gemerkt.
                  .
                  Es gibt schon zwei Verfahren, aber nicht so. Das eine Verfahren ist Multicast Streaming/Routing, wo der Multicast Client sich über IGMP am lokalen Multicast Router anmeldet und dieser dann über ein Multicast Routing Protokoll dafür sorgt, dass der Stream bis zu ihm gelangt. Lokal schickt der Multicast Router die Pakete an die Layer 2 Multicast MAC Adresse.
                  Das andere Verfahren ist viel einfacher. Hier werden einfach Layer 2 Broadcast Frames an eine bestimmte Multicast IP Adresse geschickt und alle im Subnet können das hören. Es gibt hier auch keinen Multicast Router.
                  Mir war einfach nicht klar, dass mit "IP:" was anderes als eine normale IP Adresse des Routers gemeint sein könnte.
                  Ja, es wird einem nicht aufs Auge gedrückt. Wenn man knxd --help ganz genau liest, dann steht es dort.

                  Ich bin mir sicher, es kann nicht mehr weit sein, bis es funktioniert, da im Prinzip ja die Datagramme für die Jalousiefahrt schon in der ETS sichtbar werden und auch die Jalousien wie gewünscht fahren.

                  Wenn jetzt der mwrite Befehl funktionieren würde, könnte ich den Code auf 04 setzen und das Jung Applikationsprogramm auf die BA spielen und ich wäre fertig.
                  Ich bin mir nicht ganz sicher ob mwrite im knxd wirklich implementiert ist. Sonst müsstest du den alten eibd nehmen.

                  EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                  Kommentar


                    #10
                    Zitat von Tru Beitrag anzeigen
                    .

                    Ich bin mir nicht ganz sicher ob mwrite im knxd wirklich implementiert ist. Sonst müsstest du den alten eibd nehmen.
                    oh - dann könnte es ja sein, dass es gar nicht lauffähig ist :-(?
                    Vielleicht liest ja der KNXD Entwickler mit und sagt was dazu...

                    Hilfsweise muss ich das ganze Prozedere nochmal mit dem Eibd machen...

                    Kommentar


                      #11
                      Zitat von ice77 Beitrag anzeigen
                      Vielleicht liest ja der KNXD Entwickler mit und sagt was dazu...
                      Das wäre wohl User Smurf

                      Und vielleicht solltest Du die Frage im knxd Unterforum posten:
                      https://knx-user-forum.de/forum/projektforen/knxd
                      I am hoping the Internet of Incompatible Things mitigates the bad effects of the Internet of Insecure Things.

                      Kommentar


                        #12
                        Hab das grade mal getestet, knxd 0.14 an Gira USB-Interface. Die Kommandos mwrite, mread, progmodestatus, maskver... funktionieren bei mir auch nicht. Ein alter eibd auf nem anderen Rechner (knxd läuft als Router) kann mread/mwrite ebenfalls nicht ausführen. Die groupsread/groupswrite Befehle dagegen funktionieren einwandfrei.

                        Der Thread sollte wohl ins knxd-Unterforum geschoben werden, da gehört er eigentlich hin.

                        Kommentar


                          #13
                          Danke nochmal fürs Testen!

                          Dann muss ich wirklich nochmal den eibd versuchen zu installieren, damit ich die Busankoppler umgebrandet bekomme. Solange das nicht umgesetzt ist, muss ich die Jalousien über die Shell bedienen, was meine Frau nur mäßig erheitert ;-).

                          Kommentar


                            #14
                            Zitat von ice77 Beitrag anzeigen
                            Solange das nicht umgesetzt ist, muss ich die Jalousien über die Shell bedienen, was meine Frau nur mäßig erheitert ;-).
                            Dann binde den Shellbefehl doch in eine Visu ein und ihr könnt die Jalousien mit dem Smartphone bedienen.

                            EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                            Kommentar


                              #15
                              Ich hab das ja schon mal geschrieben. Wenn das einfache Taster zum Aufstecken auf den Busankoppler sind, dann kann man in der Regel die passende Applikation des BA-Herstellers nehmen. So ein 4-fach-Taster von Jung beispielsweise funktioniert mit der 4-fach-Taster-Applikation von Siemens auf nem Siemens BA genauso. Problematisch ist das Zeug mit "Komfort" im Namen, aber Standardtaster oder auch Bewegungsmelder aus der Zeit der BCU1 laufen schon. Das war ja eher simple Hardware.

                              Dennoch sollten die Befehle beim knxd funktionieren, wenn sie schon da sind.

                              Kommentar

                              Lädt...
                              X