Ankündigung

Einklappen
Keine Ankündigung bisher.

Vorstellung: KNX-Lens

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

    Ok, dann warte ich mal ab, bis der eventuelle Bug beseitigt ist.
    Gruß Ingolf

    Kommentar


      Hi Hendrik,

      Zitat von henfri Beitrag anzeigen
      Aber genau das ist doch oben in meinem Screenshot aud
      Nein, das sind verschiedene Objekte. Das mit "Channel-in-Channel" sieht man an den Icons: Im alten siehst Du, dass ein Kanal als Kind eines Kanals enthalten ist:
      image.png
      In neuen ist nur das Modul ein Kanal, darunter ist ein ParameterBlock (als Folder dargestellt), und darunter dann Kommunikationsobjekte:
      image.png
      ​Wie gesagt, ich weiß gar nicht, ob diese Info in xknx landet, weil sie womöglich gar nicht wichtig für das Processing ist.

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        Hallo,

        ich habe gerade ein Update hochgeladen.
        Übrigens: der Stand auf Github war leider einige Versionen hinterher, da ich das git push vergessen hatte.
        Für die Nutzer der reinen python Version ist das Update also größer :-)

        Gruß
        Hendrik

        Kommentar


          Hallo,

          ich versuche schon den ganzen Sonntag KNX-Lens mit Docker/Portainer zum Laufen zu bekommen. Die Verbindung zum Bus ist da und alles wird geloggt, aber die Projektdatei wird nicht gefunden. Wo ist mein Denkfehler? Der Pfad ist korrekt.


          2025-11-23 20:31:50,040 [WARNING] root: ETS-Projektdatei nicht unter '/srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/mes47.knxproj' gefunden. Telegramme werden nicht dekodiert.​
          .env:
          DOCKERCONFIG=/srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens
          LOG_PATH=/app/logs
          LOG_FILE=/app/logs/knx_bus.log
          KNX_PROJECT_PATH=/srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/mes47.knxproj
          KNX_PASSWORD='xxxxx'
          KNX_GATEWAY_IP='192.168.0.xx'
          KNX_GATEWAY_PORT='3671'
          WEBSERVER_PORT=8001
          services:
          logger:
          image: henfri/knx-lens:latest
          container_name: knx_logger
          command:
          - python
          - knx-lens-logger.py
          # network_mode: "host"
          volumes:
          # Mountet lokale Verzeichnisse in den Container
          - /srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/logs:/app/logs
          - /srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/project:/app/project
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
          env_file:
          - .env
          restart: unless-stopped
          web:
          image: henfri/knx-lens:latest
          container_name: knx_web
          command:
          - python
          - knx-lens-web.py
          network_mode: host
          volumes:
          # Lesezugriff auf die Logs
          - /srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/logs:/app/logs:ro
          - /srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/project:/app/project
          env_file:
          - .env
          restart: unless-stopped
          networks: {}​

          Kommentar


            KNX_PROJECT_PATH=/srv/dev-disk-by-uuid-24afbf8f-3af9-440f-8e55-99297f9f1fc0/knxlens/mes47.knxproj
            Code:
            KNX_PROJECT_PATH=/app/project/mes47.knxproj
            Das wäre doch der Pfad wenn es in den Container gemapped wird.
            Gruss Daniel

            Kommentar


              Ja, genau.
              Übrigens ist KI bei solchen Problemen echt eine Hilfe. Gerade wenn man alles schon fünf mal gecheckt und fünf mal übersehen hat.

              P.s. bitte Code in Code Tags und nicht in quote Tags
              Zuletzt geändert von henfri; 23.11.2025, 21:51.

              Kommentar


                Zitat von abeggled Beitrag anzeigen
                Code:
                KNX_PROJECT_PATH=/app/project/mes47.knxproj
                Das wäre doch der Pfad wenn es in den Container gemapped wird.
                Code:
                KNX_PROJECT_PATH=/app/mes47.knxproj
                ist richtig. Jetzt läuft es.

                Kommentar


                  Hallo,
                  ich würde dieses tolle Projekt gerne in Docker laufen lassen, habe aber vermutlich irgendwas mit den Verzeichnisstrukturen falsch gemacht.

                  Was ich gemacht habe:
                  1. Ausgangslage ist ein bestehender Proxmox Container mit diversen Docker Containern.
                    Diese haben ihre Daten unter /data/Projektname liegen
                  2. /data/knx-lens angelegt, sowie
                    /data/knx-lens/app
                    /data/knx-lens/project
                    /data/knx-lens/logs
                  3. Meine Projektdatei in data/knx-lens/project kopiert
                  4. in /data/knx-lens eine docker-compose.yml angelegt mit folgendem Inhalt:
                    Code:
                    services:
                    	logger:
                    	image: henfri/knx-lens:latest
                    	container_name: knx_logger
                    	command:
                    	 - python
                    	 - knx-lens-logger.py
                    	#    network_mode: "host"
                    	volumes:
                    	 # Mountet lokale Verzeichnisse in den Container
                    	 - /data/knx-lens/logs:/app/logs
                    	 - /data/knx-lens/project:/app/project
                    	 - /etc/timezone:/etc/timezone:ro
                    	 - /etc/localtime:/etc/localtime:ro
                    	env_file:
                    	 - .env
                    	restart: unless-stopped
                    	web:
                    	image: henfri/knx-lens:latest
                    	container_name: knx_web
                    	command:
                    	 - python
                    	 - knx-lens-web.py
                    	network_mode: host
                    	volumes:
                    	 # Lesezugriff auf die Logs
                    	 - /data/knx-lens/logs:/app/logs:ro
                    	 - /data/knx-lens/project:/app/project
                    	env_file:
                    	 - .env
                    	restart: unless-stopped
                    	networks: {}​
                  5. in /data/knx-lens eine .env angelgt mit diesem Inhalt, wobei mir die erste Zeile unklar ist. Wo muss die hinzeigen?:
                    Code:
                    DOCKERCONFIG=/data/knx-lens/dockerconfig/
                    	LOG_PATH=/app/logs
                    	LOG_FILE=/app/logs/knx_bus.log
                    	KNX_PROJECT_PATH=/app/project/meinProjekt.knxproj
                    	KNX_PASSWORD='MeinPW'
                    	KNX_GATEWAY_IP='192.168.178.22'
                    	KNX_GATEWAY_PORT='3671'
                    	WEBSERVER_PORT=8099
                    	​

                  Der Webserver läuft auch, enthält aber keine Daten.
                  In der Console habe ich auch einen Haufen Fehler nachdem ich den Container mit docker-compose up starte:
                  Code:
                  knx_web  | IP-Adresse automatisch ermittelt: 192.168.178.95. Falls eine andere IP genutzt werden soll, setzen Sie WEBSERVER_IP in der .env-Datei.
                  knx_web  | Port aus .env-Datei geladen: 8099
                  knx_web  | ------------------------------
                  knx_web  | ___ ____ _  _ ___ _  _ ____ _       ____ ____ ____ _  _ ____
                  knx_web  |  |  |___  \/   |  |  | |__| |    __ [__  |___ |__/ |  | |___
                  knx_web  |  |  |___ _/\_  |  |__| |  | |___    ___] |___ |  \  \/  |___ v1.1.3
                  knx_web  |
                  knx_web  | Serving 'python -m knx-lens' on http://192.168.178.95:8099
                  knx_web  |
                  knx_web  | Press Ctrl+C to quit
                  knx_logger  | 2025-12-15 17:01:25,239 [ERROR] root: Ein unerwarteter Fehler hat die Anwendung beendet:
                  knx_logger  | Traceback (most recent call last):
                  knx_logger  |   File "/app/knx-lens-logger.py", line 312, in main
                  knx_logger  |     asyncio.run(start_logger_mode())
                  knx_logger  |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
                  knx_logger  |     return runner.run(main)
                  knx_logger  |            ^^^^^^^^^^^^^^^^
                  knx_logger  |   File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
                  knx_logger  |     return self._loop.run_until_complete(task)
                  knx_logger  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                  knx_logger  |   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
                  knx_logger  |     return future.result()
                  knx_logger  |            ^^^^^^^^^^^^^^^
                  knx_logger  |   File "/app/knx-lens-logger.py", line 218, in start_logger_mode
                  knx_logger  |     bus_logger = setup_knx_bus_logger(log_path, is_daemon_mode)
                  knx_logger  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                  knx_logger  |   File "/app/knx-lens-logger.py", line 76, in setup_knx_bus_logger
                  knx_logger  |     file_handler = ZipTimedRotatingFileHandler(
                  knx_logger  |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                  knx_logger  |   File "/usr/local/lib/python3.11/logging/handlers.py", line 214, in __init__
                  knx_logger  |     BaseRotatingHandler.__init__(self, filename, 'a', encoding=encoding,
                  knx_logger  |   File "/usr/local/lib/python3.11/logging/handlers.py", line 58, in __init__
                  knx_logger  |     logging.FileHandler.__init__(self, filename, mode=mode,
                  knx_logger  |   File "/usr/local/lib/python3.11/logging/__init__.py", line 1181, in __init__
                  knx_logger  |     StreamHandler.__init__(self, self._open())
                  knx_logger  |                                  ^^^^^^^^^^^^
                  knx_logger  |   File "/usr/local/lib/python3.11/logging/__init__.py", line 1213, in _open
                  knx_logger  |     return open_func(self.baseFilename, self.mode,
                  knx_logger  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                  knx_logger  | PermissionError: [Errno 13] Permission denied: '/app/logs/knx_bus.log'
                  knx_logger  | 2025-12-15 17:01:25,241 [INFO] root: Anwendung heruntergefahren.
                  knx_logger exited with code 0 (restarting)
                  
                  ​​
                  Zuletzt geändert von jolt19; Gestern, 20:21.

                  Kommentar


                    Code:
                    PermissionError: [Errno 13] Permission denied: '/app/logs/knx_bus.log'
                    Das sollte eigentlich nicht passieren, wenn die Log-datei auch vom Container erstellt wird.
                    Ggf. mal stoppen, datei löschen, starten.

                    Kommentar


                      Unter
                      Code:
                      /data/knx-lens/app
                      wurde zwar durch das starten des Containers ein Unterverzeichnis logs angelegt, dieses ist aber leer. Das von mir unter
                      Code:
                      /data/knx-lens/logs
                      angelegten Verzeichnis ist ebenfalls leer. Eine knx_bus.log scheint es nicht zu geben. Habe beide Verzeichnisse mal gelöscht und neu erstellt. Hat aber nichts geändert.

                      Hat das irgendwas mit der .env zu tun und der mir unverständlichen ersten Zeile darin?
                      Code:
                      DOCKERCONFIG=/data/knx-lens/dockerconfig/
                      Zuletzt geändert von jolt19; Gestern, 20:29.

                      Kommentar



                        Hat das irgendwas mit der .env zu tun und der mir unverständlichen ersten Zeile darin?
                        Nein, die wird ja gar nicht verwendet.

                        Ich bin ziemlich sicher, dass du einen Problem mit den Berechtigungen hast.

                        Der Container kann in das Verzeichnis einfach nicht schreiben

                        Kommentar


                          Hallo miteinander

                          Zitat von jolt19 Beitrag anzeigen
                          ich würde dieses tolle Projekt gerne in Docker laufen lassen, habe aber vermutlich irgendwas mit den Verzeichnisstrukturen falsch gemacht.
                          Hab's mal auf die Schnelle nachgestellt.

                          Dein Compose-File entspricht so ziemlich dem aus dem Repo aber ich frage mich, wie das damit überhaupt laufen soll. Zumindest die Zeile "network_mode: host" muss weg, damit die Container überhaupt starten Ich habe die Zeilen komplett entfernt und nur den Port 8099 gemappt. Weiterhin ist wie vermutet die Berechtigung das Problem aber da kannst Du eigentlich in der Form gar nichts machen. Der User im Container hat die ID 999 und ein User mit dieser ID kann offenbar nicht in die von Dir angelegten Verzeichnisse schreiben.

                          Ich hatte genau den gleichen Effekt hier. Es funktioniert aber problemlos, wenn Du stattdessen für die Logs ein Docker-Volume verwendest. Dann brauchst Du nur Dein Projektfile in den Container mounten. Versuch's mal so:

                          Code:
                          services:
                            logger:
                              image: henfri/knx-lens:latest
                              container_name: knx_logger
                              command:
                                - python
                                - knx-lens-logger.py
                              volumes:
                                - /home/starwarsfan/knx-lens/project:/app/project
                                - logs:/app/logs
                                - /etc/timezone:/etc/timezone:ro
                                - /etc/localtime:/etc/localtime:ro
                              env_file:
                                - .env
                              restart: unless-stopped
                            web:
                              image: henfri/knx-lens:latest
                              container_name: knx_web
                              command:
                                - python
                                - knx-lens-web.py
                              ports:
                                - 8099:8099
                              volumes:
                                - logs:/app/logs:ro
                                - /home/starwarsfan/knx-lens/project:/app/project
                              env_file:
                                - .env
                              restart: unless-stopped
                          volumes:
                            logs:​
                          Allerdings sehe ich Browser nur den Splash-Screen, danach passiert nichts mehr. Aber auf der Konsole gibt es schön Output:

                          knx_logger | 2025-12-16 03:08:48.957 | 1.0.52 | Burli | 3/2/69 | Burli - Status R04 (0=GMZ aust | (0,)
                          knx_logger | 2025-12-16 03:08:49.976 | 1.0.113 | BE-GTT4x.01 (Taster Gäste | 3/4/10 | Temperatur Gästezimmer | 22.4 °C
                          knx_logger | 2025-12-16 03:08:54.662 | 1.0.15 | AMI-1216.01 Schaltaktor 4 | 2/2/104 | Stromverbrauch St38 (Büro) | 35 mA
                          knx_logger | 2025-12-16 03:09:00.659 | 1.0.15 | AMI-1216.01 Schaltaktor 4 | 2/2/104 | Stromverbrauch St38 (Büro) | 34 mA
                          knx_logger | 2025-12-16 03:09:07.268 | 1.0.62 | | 2/3/14 | Stromzähler 1.8.0 Gesamtbezug | 147068 kWh
                          knx_logger | 2025-12-16 03:09:18.655 | 1.0.15 | AMI-1216.01 Schaltaktor 4 | 2/2/104 | Stromverbrauch St38 (Büro) | 35 mA
                          knx_logger | 2025-12-16 03:09:21.303 | 1.0.52 | Burli | 3/2/69 | Burli - Status R04 (0=GMZ aust | (0,)
                          knx_logger | 2025-12-16 03:09:24.657 | 1.0.15 | AMI-1216.01 Schaltaktor 4 | 2/2/104 | Stromverbrauch St38 (Büro) | 34 mA
                          knx_logger | 2025-12-16 03:09:31.850 | 1.0.255 | KNX-Netzteil | 3/2/31 | Spannungsversorgung - Abgegebe | 1.427179e-39 J
                          knx_logger | 2025-12-16 03:09:31.887 | 1.0.255 | KNX-Netzteil | 3/2/32 | Spannungsversorgung - Abgegebe | 1.556857e-40 J​
                          Kind regards,
                          Yves

                          Kommentar

                          Lädt...
                          X