Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

  • jonofe
    antwortet
    Multicast ist es nicht. Der Port 3671 bezieht sich ja auf die Unicast Adresse der KNX IP Schnittstelle.

    Die 50000 und 50001 braucht man wohl, denn sie tauchen beide im netstat -an auf, d.h. Edomi wartet hier auf Verbindungen.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von wolfib Beitrag anzeigen
    Bei dem Port ist ja Multicast in Verwendung soweit ich weiss.
    Was bringt Dich zu dieser Annahme?

    Einen Kommentar schreiben:


  • wolfib
    antwortet
    Bei dem Port ist ja Multicast in Verwendung soweit ich weiss. Könnte also schon sein das alle Clients an diesem Port hören. Habe aber leider keine Doku dazu gefunden.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hoi Andrè

    Zitat von jonofe Beitrag anzeigen
    Mein Verständnis war immer, dass der Port 3671, der Port auf Seiten des KNX Routers und nicht auf Seiten von EDOMI ist.
    Wenn eine Verbindung von EDOMI zum KNX Router aufgebaut wird, müsste EDOMI einen zufälligen hohen Port wählen und sich mit dem Port 3671 am KNX Router verbinden.Ich würde daher vermuten, dass der Port 3671 gar nicht an den Container durchgereicht werden muss. Der Container müsste somit nur ausgehenden Traffic auf Port 3671 erlauben. Und da es dann eine ausgehende Verbindung wäre, müsste dies eigentlich unkritisch sein.
    Du hast völlig recht! Mea culpa, mal wieder zu viele Dinge gleichzeitig gemacht.

    Das Mapping des Ports brauchts eigentlich gar nicht. Wie das allerdings mit den beiden anderen Ports aussieht, weiss ich nicht. Müsste man mal testen...

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von starwarsfan Beitrag anzeigen
    Die Option heisst KNX-IP-Router: UDP-Port.
    Mein Verständnis war immer, dass der Port 3671, der Port auf Seiten des KNX Routers und nicht auf Seiten von EDOMI ist.
    Wenn eine Verbindung von EDOMI zum KNX Router aufgebaut wird, müsste EDOMI einen zufälligen hohen Port wählen und sich mit dem Port 3671 am KNX Router verbinden.Ich würde daher vermuten, dass der Port 3671 gar nicht an den Container durchgereicht werden muss. Der Container müsste somit nur ausgehenden Traffic auf Port 3671 erlauben. Und da es dann eine ausgehende Verbindung wäre, müsste dies eigentlich unkritisch sein.

    Aber wie gesagt, ich kenne das KNX nicht so genau. Aber wie sonst sollte dann von einem PC zwei Clients gleichzeitig auf einen KNX Router zugreifen können.

    Einen Kommentar schreiben:


  • MKHR
    antwortet
    Ich schau es mir (aus Eigeninteresse) später noch mal an. Zumindest der websocket muss zwangsweise gleich sein. Steht seit einem pr auch so in der beschreibung und da kommt auch meine aussage mit "wird automatisch gemacht" her. Für die anderen ports will ich das nicht behaupten.

    Vielleicht war das mit automatisch nicht klar genug:
    Dein script im container sollte automatisch aus den env variablen die edomi config mit dem korrekten port bauen. Wie gesagt, definitiv für websocket, um welchen es mir ging. Die anderen nicht ganz sicher

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander

    Zitat von MKHR Beitrag anzeigen
    wolfib :
    Eigentlich sollte alles automatisch auch in der edomi-config geregelt werden. Fahre das setup schon länger und bin mir keiner manuellen Nacharbeit bewusst.
    Das sind zwei verschiedene paar Schuhe.


    Zitat von MKHR Beitrag anzeigen
    wolfib :
    Wenn man die ports nicht weg lässt dann müssen sie natürlich auf etwas "freies" gemappt werden, sonst kann der container nicht erstellt werden.
    Was genau meine Variante a) aus #757 ist.

    Einen Kommentar schreiben:


  • MKHR
    antwortet
    wolfib :
    Wie beauty sagte kann man die KNX-Ports komplett weg lassen. Aber den Websocket braucht man trotzdem zusätzlich.
    Eigentlich sollte alles automatisch auch in der edomi-config geregelt werden. Fahre das setup schon länger und bin mir keiner manuellen Nacharbeit bewusst.

    Wenn man die ports nicht weg lässt dann müssen sie natürlich auf etwas "freies" gemappt werden, sonst kann der container nicht erstellt werden.
    Beispiel:

    Code:
    sudo docker run -d\
    --name edomi\
    --restart=on-failure\
    -p 9080:80\
    -p 9081:9081\
    -p 3671:3671/udp\
    -p 50000:50000/udp\
    -p 50001:50001/udp\
    -p 9022:22\
    -p 9306:3306\
    -e KNXGATEWAY=10.06.91.7\
    -e KNXACTIVE=true\
    -e HOSTIP=10.06.91.25\
    -e WEBSOCKETPORT=9081\
    -e ROOT_PASS=123456\
    -e PGID=1000\
    -e PUID=1000\
    -e TZ='Europe/Berlin'\
    -v /mnt/backup/edomi/:/var/edomi-backups/\
    starwarsfan/edomi-docker:amd64-latest
    
    sudo docker run -d\
    --name edomiTest\
    --restart=on-failure\
    -p 4080:80\
    -p 4081:4081\
    -p 4671:3671/udp\
    -p 40000:50000/udp\
    -p 40001:50001/udp\
    -p 4022:22\
    -p 4306:3306\
    -e KNXGATEWAY=10.06.91.7\
    -e KNXACTIVE=false\
    -e HOSTIP=10.06.91.25\
    -e WEBSOCKETPORT=4081\
    -e ROOT_PASS=123456\
    -e PGID=1000\
    -e PUID=1000\
    -e TZ='Europe/Berlin'\
    -v /mnt/backup/edomi-test/:/var/edomi-backups/\
    starwarsfan/edomi-docker:amd64-latest

    Einen Kommentar schreiben:


  • wolfib
    antwortet
    Danke

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von wolfib Beitrag anzeigen
    Ich habe aber noch ein weiteres Problem gefunden, in das Fehler-Log wird laufend folgende Fehlermeldung geschrieben:
    Schonmal an die Suche gedacht?

    Einen Kommentar schreiben:


  • wolfib
    antwortet
    Vielen Dank für die Rüchmeldungen, eventuell sehe ich mir das nochmal genauer an.

    Ich habe aber noch ein weiteres Problem gefunden, in das Fehler-Log wird laufend folgende Fehlermeldung geschrieben:
    Datei: /usr/local/edomi/main/include/php/ModbusMaster.php | Fehlercode: 8192 | Zeile: 38 | Methods with the same name as their class will not be constructors in a future version of PHP; ModbusMaster has a deprecated constructor
    Bei meiner vorherigen Installation (CentOS 6 auf VM) trat das nicht auf, liegt das an der im Contaier eingesetzten PHP-Version? Oder muss der LBS 19001030 ModBus TCP Master Read aktualisiert werden?

    LG Wolfgang

    Einen Kommentar schreiben:


  • beauty
    antwortet
    Also ich habs mal bei meiner Syno probiert.
    Also wenn es rein zum öffnen eines Demo Projekts geht ohne Funktionalität auf den Bus, reicht es wenn man den Port 80 mappt. Hab bei mir aussen 82 auf innen 80 gemappt und Edomi ist über Edomi-IP:82/admin erreichbar. Projekt kann auch geöffnet werden.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von wolfib Beitrag anzeigen
    ich habe den Docker Container relativ problemlos auf meiner Synology NAS zum Laufen bekommen, Vielen Dank dafür!
    Freut mich zu hören, danke für das Feedback.


    Zitat von wolfib Beitrag anzeigen
    Ich möchte nun aber gerne eine zweite Instanz laufen lassen. Die http und websocket Ports kann man ja ändern aber den Multicast Port 3671 kann man nicht ändern oder? Und was ist mit den 50000 und 50001 Ports, welchen Zweck haben die?
    Diese drei Ports werden für die KNX-Kommunikation verwendet. Was da wie genau auf welchem Port läuft, kann ich Dir auch nicht sagen. gaert kann dass ggf. genauer beleuchten.

    Aber unabhängig davon: Warum solltest Du diese Ports nicht ändern können? Du hast sogar zwei Möglichkeiten:

    a) Kannst Du einfach ein anderes Mapping machen. Also bspw. 3672:3671, so dass von aussen auf 3672 zugegriffen wird, Docker das intern aber auf 3671 mappt. Damit brauchts an Edomi keinerlei Anpassung.
    b) Falls a) doch nicht funktioniert (hab's nicht ausprobiert), dann so, dass das Mapping auf beiden Seiten gleich ist. Also bspw. 3672:3672, wobei dass dann auch in der Edomi-Basiskonfiguration angepasst werden muss. Die Option heisst KNX-IP-Router: UDP-Port.

    Es ist halt einfach nicht so, dass das automatisch in der Edomi-Konfiguration eingetragen wird sondern Du das händisch machen musst.

    Einen Kommentar schreiben:


  • wolfib
    antwortet
    Um bei der zweiten Instanz ein Beispielprojekt öffnen zu können. Ich bin auf die Lösung aber selbst draufgekommen. MIt dem Parameter KNXACTIVE=false startet Edomi auch ohne KNX Anbindung.

    Einen Kommentar schreiben:


  • beauty
    antwortet
    Wozu eine zweite Instanz??

    Einen Kommentar schreiben:

Lädt...
X