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.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Edomi im Docker-Container - revised
Einklappen
X
-
Hi
Was bringt Dich zu dieser Annahme?Zitat von wolfib Beitrag anzeigenBei dem Port ist ja Multicast in Verwendung soweit ich weiss.
Einen Kommentar schreiben:
-
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:
-
Hoi Andrè
Du hast völlig recht! Mea culpa, mal wieder zu viele Dinge gleichzeitig gemacht.Zitat von jonofe Beitrag anzeigenMein 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.
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:
-
Mein Verständnis war immer, dass der Port 3671, der Port auf Seiten des KNX Routers und nicht auf Seiten von EDOMI ist.Zitat von starwarsfan Beitrag anzeigenDie Option heisst KNX-IP-Router: UDP-Port.
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:
-
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:
-
Hallo miteinander
Das sind zwei verschiedene paar Schuhe.Zitat von MKHR Beitrag anzeigenwolfib :
Eigentlich sollte alles automatisch auch in der edomi-config geregelt werden. Fahre das setup schon länger und bin mir keiner manuellen Nacharbeit bewusst.
Was genau meine Variante a) aus #757 ist.Zitat von MKHR Beitrag anzeigenwolfib :
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.
Einen Kommentar schreiben:
-
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:
-
Hi
Schonmal an die Suche gedacht?Zitat von wolfib Beitrag anzeigenIch habe aber noch ein weiteres Problem gefunden, in das Fehler-Log wird laufend folgende Fehlermeldung geschrieben:
Einen Kommentar schreiben:
-
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:
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?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
LG Wolfgang
Einen Kommentar schreiben:
-
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:
-
Hi
Freut mich zu hören, danke für das Feedback.Zitat von wolfib Beitrag anzeigenich habe den Docker Container relativ problemlos auf meiner Synology NAS zum Laufen bekommen, Vielen Dank dafür!
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.Zitat von wolfib Beitrag anzeigenIch 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?
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:
-
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:


Einen Kommentar schreiben: