Ankündigung

Einklappen
Keine Ankündigung bisher.

alternatives Docker Image

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

  • brunosa3
    antwortet
    Hi jentz1986

    benutzt Du immer noch das develop image 1.10 ? https://knx-user-forum.de/forum/supp...22#post1960622

    ich habe versucht, von deinem Master-Image auf das Develop-Image umzusteigen, aber leider hat es nicht geklappt. Du hattest erwähnt, dass Du einige Pfad-Änderungen vornehmen musstest. Könntest Du bitte kurz erläutern, welche Anpassungen genau notwendig sind, damit das Develop-Image genauso reibungslos läuft wie dein Master-Image?

    Vielen Dank im Voraus für deine Hilfe – ich bin sehr begeistert von deinem Setup!

    Liebe Grüße,

    Einen Kommentar schreiben:


  • brunosa3
    antwortet
    ach du kake .... das war es. Wow ... dann hab ich das ganze knxd Zeugs immer noch nicht verstanden hahaha.

    vielen vielen Dank Dir! Jetzt freu ich mich es endlich geschafft zu haben und mein ganzes System zu transferieren! Vielen Dank jentz1986

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    Ach ich Honk: in Deiner plugin.yaml muss natürlich 127.0.0.1 als IP des KNXD rein. 127.0.0.1 = das lokale IP Interface, was durch Network= host in beiden Containern der Host selbst ist und dadurch passt.


    SHNG soll sich ja mit KNXD verbinden und nicht mit dem KNX IP Interface.

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    Wie Host Server ist verbunden? Versuchst Du auf zwei Ebenen einen KNXD zu betreiben? Also einen auf dem Host und einen in Docker, wo der KNXD dann im Docker wieder so tut, als wäre er auf dem Host? Ich bin gerade ein bisschen lost.

    Das Schwärzen der IPs ist nun auch nicht gerade hilfreich. Ich nehme an Du hast ein /24 Netz, also irgendwas 192.168.178.x oder 192.168.2.x dann lass bitte die letzte Zahl sichtbar, damit man weiß was da womit reden will, bzw. redet. Wenn Du was komplizierteres hast (/23 oder größer) muss man halt entsprechend mehr sehen.

    Der KNXD sagt im übrigen auch: „Link down, terminating.“ so wie „kein Kabel drin, ich schalt’ ab“. Das ist wild. Das ist übrigens schon lange keine Frage mehr vom SmartHomeNG Docker Container. Der startet und verbindet sich mit dem KNXD, bzw. eben nicht, da der KNXD sich abgeschaltet hat.

    Hast Du auf dem Host noch andere Sachen laufen, die potenziell mit dem KNXD kollidieren?

    ich muss ja gestehen, dass ich froh war, als ich den KNXD am laufen hatte. Das Ding ist echt nicht leicht. Wenn der Tag mehr Stunden hätte, oder nicht so viel Kram anstehen würde, hätte ich gern die direkte KNX Verbindung in Python implementiert - ohne KNXD. Hätte hätte, hilft Dir auch nicht. 😁

    Einen Kommentar schreiben:


  • brunosa3
    antwortet
    Hey jentz1986,

    vielen dank für Deine Hilfe. Ich denke ich bin schon um einiges Näher dran.

    Ich sehe, dass mein Host Server nun mit dem KNX Interface verbunden ist.

    image.png

    jedoch im log scheint es als könnte er sich nicht verbinden und bricht nach paar versuchen ab.

    mein docker compose file
    Code:
    services:
      shng:
        build:
          context: .
          dockerfile: Dockerfile
        restart: "unless-stopped"
        volumes:
          - ./volumes:/mnt
        network_mode: "host"
    ​
      smartvisu:
        image: richarvey/nginx-php-fpm:1.10.3
        restart: "unless-stopped"
        depends_on:
          - shng
        volumes:
          - ./volumes/html:/var/www/html/
        network_mode: "host"
    
      knxd:
        image: welteki/knxd:latest
        container_name: knxd
        user: "1000:1000"
        command: knxd /knxd/knxd.ini
        volumes:
          - ./volumes/knxd:/knxd
        restart: always
        network_mode: "host"
    
    ​


    knxd.ini
    Code:
    [M.debug]
    error-level = 0x9
    trace-mask = 0x0
    [M.cache]
    max-size=2000
    [A.tcp]
    server = knxd_tcp
    port = 6720
    [B.ipt]
    driver = ipt
    filters = F.pace
    ip-address = ip to knx interface
    [F.pace]
    delay = 30
    filter = pace
    [main]
    addr = 0.0.1
    debug = M.debug
    client-addrs=0.0.2:8
    cache = M.cache
    connections = A.tcp,B.ipt
    background = false
    ​

    plugin.yaml
    Code:
    knx:
        plugin_name: knx
        provider: knxd
        host: ip to knx interface
        busmonitor: logger
        enable_stats: true
        log_own_packets: true​

    log from docker
    Code:
    knxd         | I00000131: [ 1:main] 0.14.56.2: knxd /knxd/knxd.ini
    knxd         | N00000127: [12:F.pace] The 'pace' filter without a queue acts globally.
    knxd         | I00000129: [ 1:main] Connected: cfg:B.ipt.
    knxd         | I00000129: [ 1:main] Connected: cfg:A.tcp.
    knxd         | I00000129: [ 1:main] Connected: cfg:M.cache.
    ​
    Code:
    knxd         | F00000105: [10:B.ipt] Link down, terminating
    knxd         | N00000128: [ 1:main] Shutting down.
    knxd exited with code 1
    ​
    log in smarthomeNG backend
    Code:
    2024-11-15  14:44:19 WARNING  lib.network         (plugins.knx_192.168.33.42:6720) TCP connection failed 1/5 times, last error was: [Errno 111] Connection refused
    ​2024-11-15  14:44:24 WARNING  lib.network         (plugins.knx_ip to knx interface:6720) TCP connection failed 2/5 times, last error was: [Errno 111] Connection refused
    2024-11-15  14:44:29 WARNING  lib.network         (plugins.knx_192.168.33.42:6720) TCP connection failed 3/5 times, last error was: [Errno 111] Connection refused
    ​2024-11-15  14:44:34 WARNING  lib.network         (plugins.knx_ip to knx interface:6720) TCP connection failed 4/5 times, last error was: [Errno 111] Connection refused
    2024-11-15  14:44:39 WARNING  lib.network         (plugins.knx_ip to knx interface:6720) TCP connection failed 5/5 times, last error was: [Errno 111] Connection refused
    ​

    fällt Dir irgendwas auf was ich falsch eingestellt habe?

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    Ich nutze das nicht, sondern erstelle den Kram über Terraform und Gitlab Pipelines.

    Die knxd.ini wird dabei dynamisch zusammengestellt. Sorry, etwas komplexer.

    Aber das wäre ja einfach adaptierbar. Ein knxd.ini in dein ./volumes/knxd/ ablegen und dann das command auf „knxd /knxd/knxd.ini“ ändern.

    knxd.ini:

    PHP-Code:
    [main]
    addr 0.0.20
    debug 
    M.debug
    client
    -addrs=0.0.21:6
    cache 
    M.cache
    connections 
    A.tcp,B.ipt
    background 
    false

    [M.debug]
    error-level 0x9
    trace
    -mask 0x0

    [M.cache]
    max-size=2000

    [A.tcp]
    server knxd_tcp
    port 
    6720

    [B.ipt]
    driver ipt
    filters 
    F.pace
    ip
    -address 192.168.149.3

    [F.pace]
    filter pace
    delay 
    30​ 
    Das ist ein IP-Tunnel zum Interface auf 192.168.149.3, da muss natürlich eine andere IP, rein.

    Die physikalischen Adressen musst du auf deine Umgebung anpassen.
    Zuletzt geändert von jentz1986; 14.11.2024, 23:46.

    Einen Kommentar schreiben:


  • brunosa3
    antwortet
    Danke Euch zwei.

    jentz1986 kannst Du mit mir dein docker compose file teilen, bitte?

    Code:
      knxd:
        image: welteki/knxd:latest
        container_name: knxd
        command: knxd -e 0.0.1 -E 0.0.2:8 -c -b ipt:1xxx.xxx.xx.xx
        volumes:
          - ./volumes/knxd:/knxd
        restart: always
    ​
    habe es so probiert aber ohne Erfolg

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Ich nutze schon länger den knxd direkt in Debian, ohne Docker.

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    Auch wenn ich henfris Arbeit sehr schätze nutze ich dieses hier: welteki/knxd:latest
    Dort kann man eine wunderbare knxd.ini reinplatzieren und dann drehts.

    weiß nixht, ob das jetzt hilft.

    Einen Kommentar schreiben:


  • brunosa3
    antwortet
    Hi henfri

    ist das das knxd docker image das Du verwendest?

    Code:
      knxd:
        image: henfri/knxd
        network_mode: "host"
        command: knxd -e 0.0.1 -E 0.0.2:8 -c -b ipt:xxx.xxx.xx.xx
        restart: always
    ​
    irgendwie krieg ich es nicht hin - und wollte nur kurz bei Dir erfragen ob dies das richtige image ist bevor ich hier noch Wochen damit verbringe

    Code:
     ! smartvisu Published ports are discarded when using host network mode                                                                                  0.0s
    Attaching to knxd-1, shng-1, smartvisu-1
    knxd-1       | I only have one interface. Nothing to do. Giving up.
    shng-1       | SHNG-PREPAIR: Prepare Volumes
    knxd-1 exited with code 1​
    schaut so aus als wäre mein knx IP interface noch mit meinem alten server verbunden - habe es jedoch abgeschaltet

    Code:
    sudo systemctl stop knxd.socket
    sudo systemctl stop knxd.service​

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ich habe das Problem auch mit dem Update von meiner Heiminstallation von Bullseye auf Bookworm. Dort mussten ja auch alle Python Packages neu installiert werden. Ich habe daraufhin Requirements im Develop für das websocket Modul angepasst. Breaking changes sind immer ärgerlich :-(

    Einen Kommentar schreiben:


  • jentz1986
    antwortet
    Mein Flatcar hat sich heute geupdatet und danach lag mein SmartVisu 3.4 bzw. Smarthome 1.10 flach.

    PHP-Code:
    TypeErrorWebsocket.handle_new_connection() missing 1 required positional argument'path'
    2024-11-13  16:38:17 ERROR    websockets.server   connection handler failed
    Traceback (most recent call last):
    >   
    File "/home/smarthome/.local/lib/python3.10/site-packages/websockets/asyncio/server.py"line 373in conn_handler
    >     await self.handler(connection)​ 
    Grund ist ein Breaking Change in der Websockets library von version 12 nach 14.1 (ich weiß nicht genau welcher Versionswechsel, aber wahrscheinlich der nach 14.0, von vor vier Tagen, siehe hier: https://websockets.readthedocs.io/en...changelog.html)

    Ich habe meine Umgebung wieder ans laufen bekommen indem ich in der modules/websocket/requirements.txt die Version auf 12.0 festgelegt habe und den Container neugestartet habe. Dazu habe ich die Zeile so umformuliert: websockets==12.0
    FYI Msinn / Onkelandy

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Ah, das freut mich. Danke für die Rückmeldung.

    Einen Kommentar schreiben:


  • brunosa3
    antwortet
    Hi Hendrik,

    hab es endlich zum Laufen bekommen. Wie gesagt bin noch an meinen ersten docker Geh-Versuche, deshalb verzeiht mir meine grünen Ohren. Die Ports waren nur im internen Netzwerk zugänglich. Wenn ich jetzt das Netzwerk bridge siehe unten funktioniert es

    (funktioniert nicht)
    Code:
    networks:
      shng-net:
        internal: true
    ​
    (funktioniert)
    Code:
    networks:
      shng-net:
        internal: false
    ​
    (funktioniert)
    Code:
    networks:
      shng-net:
        driver: bridge
    Vielen Dank Hendrik für Deine Hilfe.

    Jetzt versuche ich mich Mal ran das ganze zu konfigurieren und weitere container einzupflegen (zB knxd)

    Einen Kommentar schreiben:


  • aldaris
    antwortet
    Hi,

    ich weiß nicht ob das hier passt. Sonst einfach ignorieren.

    Ich hatte mal von henfri abgeforkt und etwas gefixt. Ich nutze jetzt den hier:
    https://github.com/AAPohl/docker_smarthomeNG

    PR zurück habe ich nicht gestellt, weil doch einiges noch gebastelt ist. Insbesondere der Workflow. War ein Versuch, mal zu schauen, ob der Container hochfährt.

    Einen Kommentar schreiben:

Lädt...
X