Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd per docker unter Synology (GUI)

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

    knxd per docker unter Synology (GUI)

    Hallo zusammen,

    letztes Wochenende hab ich verzweifelt versucht den KNXD per Docker in der Synology GUI ans laufen zu kriegen.
    Mit folgender Zeile sollte es doch klappen, oder?
    Code:
    knxd -e 15.15.220 -E 15.15.221:8 -DTRS -c -i -B single -b ipt:192.168.188.5
    Eigentlich soll der knxd nur die Verbindung zu der Schnittstelle herstellen und ich möchte zusätzlich noch, bei Bedarf, über die ETS5 Änderungen einspielen. Das wird so gut wie nie passieren, so dass ich auch einfach den KNXD zum Übertragen aus der ETS stoppen könnte. Das wäre auch kein Problem.

    Ich hab in GUI die Möglichkeit ein bash zu öffnen. Dort hab ich versucht per knxtools groupswrite ip:localhost 1/0/0 1 einen Wert zu senden.
    Er schreibt mir dann auch, dass er gesendet hat, aber es kommt dann immer "Retry" oder "Connectretry" oder so ähnlich.
    Ich denke daher, dass der KNXD nicht richtig läuft.
    Auf was muss ich bei der Synology-GUI noch achten? (Port 6720 hab ich auf Port 6720 durchgeschleift)

    Auf was muss ich bei der Synology-GUI noch achten?
    Gefunden hab ich bei der Synology immer die Vorgehensweise per config.yml wo alle docker-Container geladen werden mit samt den Einstellungen.
    Smarthomeng als docker läuft schon, Smartvisu hab ich auch ans laufen bekommen (Apache + php direkt von Synology). Die Verbindung zwischen den beiden klappt auch, nur den KNXD bekomme ich einfach nicht ans Laufen.
    Am Montag leihe ich mir eine andere Schnittstelle aus (Weinzierl 730) aus und möchte das nochmal probieren.

    Gruß wolder

    #2
    net=host ?!

    Kommentar


      #3
      In der gui finde ich keinen net=host.
      es gibt beim erstellen wohl Bridge und ich bin mir nicht ganz sicher ob es da auch Host gab bzw. Ich es auch auswählen konnte.

      Mit Synology Docker können Sie folgende Netzwerkschnittstellentreiber einrichten:
      Bridge: ein isolierter Netzwerk-Namensraum。
      Host: derselbe Netzwerk-Namensraum mit Docker Host 。
      Standardmäßig gibt es nach Installation des Docker-Pakets ein Host-Netzwerk und ein Bridge-Netzwerk. Es wird empfohlen, benutzerdefinierte Bridge-Netzwerke zu verwenden, um zu kontrollieren, welche Container miteinander kommunizieren können, und um die automatische DNS-Auflösung von Container-Namen zu IP-Adressen zu ermöglichen.
      Was heißt "hohe Priorität" bei den docker?
      Schade ist, dass ich den knxd immer neu erstellen muss, da ich das Start-Kommando nicht ändern kann.

      Kommentar


        #4
        Host ist doch dabei.

        Neu bauen ist gar nicht nötig. Du kannst Kommandozeilenparameter übergeben.
        Ich hab hier auch Beispiele irgendwo gepostet.

        Kommentar


          #5
          Wenn ich das Paket mit Kommandozeilenparameter erstellt habe und dieses dann stoppe, um es zu bearbeiten, dann gibt es keine Möglichkeit diese Zeile zu bearbeiten. Sie ist einfach nicht mehr da.
          Wie gesagt, ich lege das bisher händisch an und nicht per docker-compose.yml.
          Deine Pakete waren auch schnell gefunden und installiert. Für Smarthome hab ich einige Ordner nach außen gebracht und auch einige Ports durchgeschliffen.
          Läuft soweit. Nur der knxd nicht.

          Du meinst also, nur auf host stellen könnte schon reichen?
          Port 6720 auf 6720 auch noch durchschleifen oder hat sich das dann mit Host erledigt?
          Zuletzt geändert von wolder; 29.01.2021, 12:09.

          Kommentar


            #6
            Es reicht nicht, nur Port 6720 durchzuschleifen. Der knxd muss ja auch mit dem ipt:-Ding reden. Das sind UDP-Datagrame auf Port 3671.

            Generell eine etwas ketzerische Frage: Wozu um alles in der Welt willst du den knxd unbedingt in einem Docker-Image laufen lassen? das verbrät nur unnötig Ressourcen auf dem Rechner und ist fehlersuchtechnisch eigentlich immer ein Vabanquespiel. Ich halte den Dockerkrempel in diesem Zusammenhang für grundsätzlich sinnfrei.
            DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

            Kommentar


              #7
              Ein Freund hat sich ein Haus gekauft, wo schon KNX von 1998 drin ist. Das ist nicht sonderlich viel.
              Jetzt möchte er etwas automatisieren, besonders bezüglich Zeiten etc.
              Da er sowieso eine NAS für sein Bürokram gekauft hat DS220+, ist mir als erstes in den Sinn gekommen das darüber zu machen.
              Die NAS läuft sowieso immer und er/ich braucht kein neues Gerät anschaffen etc. Genug Ressourcen hat das Ding auch, also warum nicht?

              Natürlich ist fehlersuche nicht schön....

              Kommentar


                #8
                Ja, schon. Aber wenn man darauf einen Docker laufen lassen kann, der Dinge baut (hier: knxd), dann kann man darauf auch direkt und ohne Docker Dinge bauen.
                DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                Kommentar


                  #9
                  Tja, und so weit (so tief) bin ich noch nicht. Ich hab gesehen, dass es das fertig gibt und gehofft, dass es einigermaßen ohne Probleme läuft.
                  Also muss ich
                  - Port 6720 TCP und
                  - Port 3671 UDP
                  durchschleifen.

                  Kommentar


                    #10
                    Hallo,

                    @smurf: Der Vorteil von Docker ist für viele halt, dass sie sich die Kompilier-Orgien sparen, die Linux sonst oft mit sich bringt. Auf Systemen, die ein "apt-get install knxd" erlauben, würde ich auch das bevorzugen. Das dürfte auf einem NAS aber nicht der Fall sein.

                    @wolder: Die Lösung habe ich im #2 genant.
                    Nochmal zur Verdeutlichung:
                    Host: derselbe Netzwerk-Namensraum mit Docker Host
                    Alles andere kannst du dir sparen (Ports durchschleifen).

                    Wenn ich das Paket mit Kommandozeilenparameter erstellt habe und dieses dann stoppe, um es zu bearbeiten, dann gibt es keine Möglichkeit diese Zeile zu bearbeiten. Sie ist einfach nicht mehr da.
                    Ich weiß nicht, welche Einschränkung Synology mit sich bringt.
                    Aber ich starte den knxd bei Bedarf mit:
                    [QUOTE]docker run henfri/knxd:v0.12.6 knxd -e 1.0.200 -E 1.0.201:8 -DTRS -c -i --send-delay=120 -B single -b ipt:192.168.177.8/QUOTE]

                    oder über docker-compose:
                    Code:
                        knxd:
                          image: henfri/knxd:v0.12.6
                          network_mode: "host"
                          command: knxd -e 1.0.200 -E 1.0.201:8 -DTRS -c -i --send-delay=120 -B single -b ipt:192.168.177.8
                    nach einer Änderung der docker-compose.yml musst du ein docker-compose create und danach .. run machen.

                    Neu bauen musst du in beiden Fällen nix.

                    Gruß,
                    Hendrik

                    Kommentar


                      #11
                      Alles klar.
                      dann probiere ich das am Montag mal.

                      Wie gesagt, das docker-compose.yml hab ich nicht und die command Zeile ist nach anlegen nicht mehr verfügbar. Daher muss ich das immer neu machen.

                      Ich meld mich dann Anfang nächster Woche ob es geklappt hat oder eben nicht.

                      Vielen Dank und ein schönes Wochenende!

                      Kommentar


                        #12
                        Zitat von wolder Beitrag anzeigen
                        Wie gesagt, das docker-compose.yml hab ich nicht und die command Zeile ist nach anlegen nicht mehr verfügbar. Daher muss ich das immer neu machen.
                        Das ist dann aber ein Problem der Synology - nicht von Docker. Da würde ich mal in der Richtung suchen.

                        Gruß,
                        Hendrik

                        Kommentar


                          #13
                          Ich wäre mit knxd auf der Synology auch fast verzweifelt.
                          Die Befehle, mit denen auf den raspi funktionierten, haben jetzt nicht funktioniert..

                          Letztlich läuft es mit dem welteki-knd Docker image, und dem Aufruf knxd -t1023 -e 1.1.128 -E 1.1.129:8 -D -R -S -b ipt:192.168.178.200

                          Vielleicht hilft dir das.

                          Viele Grüße
                          Robert

                          Kommentar


                            #14
                            Mahlzeit.
                            Ja, das stimmt.
                            Code:
                            --send-delay=120
                            mag er nicht und
                            Code:
                            -B
                            hat er auch nicht geschluckt.
                            Ich hab ihn aber jetzt am laufen. Host war das entscheidende Kriterium.
                            Und SmarthomeNG hat auch Verbindung zum KNXD.
                            Alles weiter muss ich machen, wenn ich wieder Zeit hab.

                            Kommentar


                              #15
                              Code:
                              Host war das entscheidende Kriterium.
                              Sag ich doch

                              Kommentar

                              Lädt...
                              X