Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Vorstellung: KNX-Lens

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

  • Seltrecht
    antwortet
    Ich habe heute mal die aktuelle Version installiert. Jetzt werden aber die Wert der Gruppenadressen nicht mehr automatisch aktualisiert.
    Das Log-File steht auf auto-reload und zeigt auch die aktuellen Werte an, aber erst wenn ich es manuell neu lade sehe bei den Gruppenadressen den aktuellen Wert.
    Muss ich da noch irgendwas einstellen?
    Zuletzt geändert von Seltrecht; 19.11.2025, 08:58.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Also erstmal vorweg: Die ETS kann keine Kanäle in Kanälen (zumindest nicht immer und in allen Varianten), deswegen mussten wir hier umbauen. Es gibt jetzt (schon seit ca. 1 Jahr) nur noch einen ETS-Kanal pro Modul.
    Aber genau das ist doch oben in meinem Screenshot aud
    Sensor-Wire-PM-Logic-Button-BL v3.15
    Der Fall:
    Präsenzmelder-> PM1, PM2, ...

    Ob und wo sie dann in xknx landen, kann ich Dir leider nicht sagen.
    Hm, meti kannst du hier weiterhelfen?

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Hendrik,

    ich kann Dir nur sagen, wo sie im xml für die knxprod sind. Bzw. wo sie nicht sind .
    Also erstmal vorweg: Die ETS kann keine Kanäle in Kanälen (zumindest nicht immer und in allen Varianten), deswegen mussten wir hier umbauen. Es gibt jetzt (schon seit ca. 1 Jahr) nur noch einen ETS-Kanal pro Modul.
    Die Kanäle der OpenKNX-Module stecken in einem ParameterBlock mit der Eigenschaft ShowInComObjectTree="true".

    Ob und wo sie dann in xknx landen, kann ich Dir leider nicht sagen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • henfri
    antwortet
    meti mumpf

    Ich bräuchte mal Eure Unterstützung.
    Ich beiße mir die Zähne daran aus, die Kanäle der Geräte in KNX-Lens darzustellen.
    25-11-17__447-19.38.55_knx-lens.py_-_knx_parse_-_Visual_Studio_Code.png 25-11-17__450-19.48.06_ETS6_-_Familie_Friedel.png
    25-11-17__448-19.39.17_knx-lens.py_-_knx_parse_-_Visual_Studio_Code.png


    25-11-17__452-19.48.42_ETS6_-_Familie_Friedel.png


    Beim älteren Sensormodul (WP-Sensor-PM-Logic 1.6) gibt es die Kanäle, beim neuen (Sensor-Wire-PM-Logic-Button-BL v3.15) fehlen sie in KNX-Lens.

    Das liegt aber daran, das xknx nur einen Kanal findet.
    Code:
    from knx_project_utils import load_or_parse_project
    import json
    import os
    from dotenv import load_dotenv
    # Lade Config
    load_dotenv()
    knxproj_path = os.getenv('KNX_PROJECT_PATH')
    password = os.getenv('KNX_PASSWORD')
    print(f"Lade Projekt: {knxproj_path}...")
    data = load_or_parse_project(knxproj_path, password)
    # Daten aus Wrapper holen
    if "project" in data:
        data = data["project"]
    # Gerät suchen
    target_pa = "1.0.1"
    device = data.get("devices", {}).get(target_pa)
    if device:
        print(f"Gerät {target_pa} gefunden!")
        print("Schreibe Dump nach 'debug_device_1.0.1.json'...")
      
        # Wir dumpen das gesamte Device-Objekt, um alles zu sehen
        with open("debug_device_1.0.1.json", "w", encoding="utf-8") as f:
            json.dump(device, f, indent=2, default=str)
          
        print("Fertig.")
    else:
        print(f"Gerät {target_pa} nicht gefunden!")​
    Erzeugt diesen Output:
    Code:
    {
      "name": "OpenKNX: Sensormodul-Vpm Elternbad",
      "hardware_name": "OpenKNX: Sensormodul-Vpm",
      "order_number": "OpenKnxSensorVpm",
      "description": "(SAMD)",
      "manufacturer_name": "KNX Association",
      "individual_address": "1.0.1",
      "application": "M-00FA_A-A040-16-C6E5",
      "project_uid": 113420,
      "communication_object_ids": [
        "1.0.1/O-2_R-100000201",
        "1.0.1/O-3_R-100000301",
        "1.0.1/O-60_R-300006001",
        "1.0.1/O-61_R-300006101",
        "1.0.1/O-62_R-300006201",
        "1.0.1/O-63_R-300006301",
        "1.0.1/O-65_R-300006501",
        "1.0.1/O-103_R-200101304",
        "1.0.1/O-91_R-200100101",
        "1.0.1/O-96_R-200100701",
        "1.0.1/O-98_R-200100901",
        "1.0.1/O-101_R-200101101",
        "1.0.1/O-105_R-200101501",
        "1.0.1/O-93_R-200100301",
        "1.0.1/O-95_R-200100501",
        "1.0.1/O-90_R-200100001",
        "1.0.1/O-99_R-200101001",
        "1.0.1/O-202_R-100100210",
        "1.0.1/O-7_R-100000701",
        "1.0.1/O-205_R-100200210",
        "1.0.1/O-208_R-100300210",
        "1.0.1/O-211_R-100400210",
        "1.0.1/O-1_R-100000101",
        "1.0.1/O-69_R-300006901",
        "1.0.1/O-66_R-300006601",
        "1.0.1/O-216_R-100600104",
        "1.0.1/O-217_R-100600201",
        "1.0.1/O-218_R-100700001",
        "1.0.1/O-220_R-100700201",
        "1.0.1/O-215_R-100600004",
        "1.0.1/O-223_R-100800206",
        "1.0.1/O-222_R-100800106",
        "1.0.1/O-128_R-200201801",
        "1.0.1/O-226_R-100900201",
        "1.0.1/O-110_R-200200001",
        "1.0.1/O-111_R-200200101",
        "1.0.1/O-123_R-200201302",
        "1.0.1/O-224_R-100900004",
        "1.0.1/O-225_R-100900104"
      ],
      "channels": {
        "CH-1": {
          "identifier": "CH-1",
          "name": "Standardsensoren",
          "communication_object_ids": [
            "1.0.1/O-60_R-300006001",
            "1.0.1/O-50_R-300005001",
            "1.0.1/O-61_R-300006101",
            "1.0.1/O-62_R-300006201",
            "1.0.1/O-63_R-300006301",
            "1.0.1/O-65_R-300006501",
            "1.0.1/O-66_R-300006601",
            "1.0.1/O-69_R-300006901"
          ]
        },
        "CH-PM01": {
          "identifier": "CH-PM01",
          "name": "PM 01: Elternbad",
          "communication_object_ids": [
            "1.0.1/O-101_R-200101101",
            "1.0.1/O-105_R-200101501",
            "1.0.1/O-106_R-200101601",
            "1.0.1/O-107_R-200101701",
            "1.0.1/O-108_R-200101801",
            "1.0.1/O-93_R-200100301",
            "1.0.1/O-94_R-200100401",
            "1.0.1/O-95_R-200100501",
            "1.0.1/O-97_R-200100801",
            "1.0.1/O-102_R-200101201",
            "1.0.1/O-99_R-200101001",
            "1.0.1/O-90_R-200100001",
            "1.0.1/O-91_R-200100101",
            "1.0.1/O-103_R-200101304",
            "1.0.1/O-96_R-200100701",
            "1.0.1/O-98_R-200100901"
          ]
        },
        "CH-PM02": {
          "identifier": "CH-PM02",
          "name": "PM 02: Kinderbad",
          "communication_object_ids": [
            "1.0.1/O-121_R-200201101",
            "1.0.1/O-125_R-200201501",
            "1.0.1/O-126_R-200201601",
            "1.0.1/O-127_R-200201701",
            "1.0.1/O-128_R-200201801",
            "1.0.1/O-113_R-200200301",
            "1.0.1/O-114_R-200200401",
            "1.0.1/O-115_R-200200501",
            "1.0.1/O-117_R-200200801",
            "1.0.1/O-122_R-200201201",
            "1.0.1/O-119_R-200201001",
            "1.0.1/O-110_R-200200001",
            "1.0.1/O-111_R-200200101",
            "1.0.1/O-123_R-200201302",
            "1.0.1/O-118_R-200200902"
          ]
        },
        "CH-L01": {
          "identifier": "CH-L01",
          "name": "Logik 01: PM Tagesphase Elternbad Tag",
          "communication_object_ids": [
            "1.0.1/O-202_R-100100210"
          ]
        },
        "CH-L02": {
          "identifier": "CH-L02",
          "name": "Logik 02: PM Tagesphase Nacht",
          "communication_object_ids": [
            "1.0.1/O-205_R-100200210"
          ]
        },
        "CH-L03": {
          "identifier": "CH-L03",
          "name": "Logik 03: PM Tagesphase Elternbad Morgen",
          "communication_object_ids": [
            "1.0.1/O-208_R-100300210"
          ]
        },
        "CH-L04": {
          "identifier": "CH-L04",
          "name": "Logik 04: PM Tagesphase Elternbad Abend",
          "communication_object_ids": [
            "1.0.1/O-211_R-100400210"
          ]
        },
        "CH-L05": {
          "identifier": "CH-L05",
          "name": "Logik 05: Dimmwert weiterleiten",
          "communication_object_ids": [
            "1.0.1/O-212_R-100500004",
            "1.0.1/O-213_R-100500101",
            "1.0.1/O-214_R-100500204"
          ]
        },
        "CH-L06": {
          "identifier": "CH-L06",
          "name": "Logik 06: HCL Template ausschalten",
          "communication_object_ids": [
            "1.0.1/O-215_R-100600004",
            "1.0.1/O-216_R-100600104",
            "1.0.1/O-217_R-100600201"
          ]
        },
        "CH-L07": {
          "identifier": "CH-L07",
          "name": "Logik 07: HCL Template anschalten",
          "communication_object_ids": [
            "1.0.1/O-218_R-100700001",
            "1.0.1/O-220_R-100700201"
          ]
        },
        "CH-L08": {
          "identifier": "CH-L08",
          "name": "Logik 08: HCL - N\u00e4chstes Anschalten Weiss",
          "communication_object_ids": [
            "1.0.1/O-222_R-100800106",
            "1.0.1/O-223_R-100800206"
          ]
        },
        "CH-L09": {
          "identifier": "CH-L09",
          "name": "Logik 09: PM Sperre Schlafzimmer durch Rollo",
          "communication_object_ids": [
            "1.0.1/O-224_R-100900004",
            "1.0.1/O-225_R-100900104",
            "1.0.1/O-226_R-100900201"
          ]
        },
        "CH-L10": {
          "identifier": "CH-L10",
          "name": "Logik 10:  ...",
          "communication_object_ids": [
            "1.0.1/O-227_R-101000004",
            "1.0.1/O-228_R-101000104",
            "1.0.1/O-229_R-101000201"
          ]
        },
        "CH-L11": {
          "identifier": "CH-L11",
          "name": "Logik 11:  ...",
          "communication_object_ids": [
            "1.0.1/O-230_R-101100001",
            "1.0.1/O-232_R-101100201"
          ]
        }
      }
    }​
    Code:
    {
      "name": "OpenKNX: Sensormodul, VPM, G\u00e4stebad (Abstellkammer)",
      "hardware_name": "OpenKNX: Sensormodul-Big",
      "order_number": "OpenKnxSensorBig",
      "description": "Sen-UP1-8xTH, \r\nEingang E ist I2C\r\nC&D sind Bin\u00e4reing\u00e4nge (+VCC)",
      "manufacturer_name": "KNX Association",
      "individual_address": "1.0.35",
      "application": "M-00FA_A-A012-3F-6029",
      "project_uid": 113556,
      "communication_object_ids": [
        "1.0.35/O-2_R-100000201",
        "1.0.35/O-3_R-100000301",
        "1.0.35/O-7_R-100000701",
        "1.0.35/O-60_R-400006001",
        "1.0.35/O-61_R-400006101",
        "1.0.35/O-62_R-400006201",
        "1.0.35/O-63_R-400006301",
        "1.0.35/O-65_R-400006501",
        "1.0.35/O-133_R-300101304",
        "1.0.35/O-120_R-300100001",
        "1.0.35/O-125_R-300100501",
        "1.0.35/O-128_R-300100901",
        "1.0.35/O-121_R-300100101",
        "1.0.35/O-45_R-600100001",
        "1.0.35/O-923_R-100200001",
        "1.0.35/O-925_R-100200201",
        "1.0.35/O-1_R-100000101",
        "1.0.35/O-926_R-100300001",
        "1.0.35/O-927_R-100300101",
        "1.0.35/O-929_R-100400001",
        "1.0.35/O-930_R-100400101",
        "1.0.35/O-932_R-100500001",
        "1.0.35/O-933_R-100500101",
        "1.0.35/O-935_R-100600001",
        "1.0.35/O-936_R-100600101",
        "1.0.35/O-938_R-100700001",
        "1.0.35/O-939_R-100700101",
        "1.0.35/O-940_R-100700201",
        "1.0.35/O-941_R-100800001",
        "1.0.35/O-942_R-100800101",
        "1.0.35/O-944_R-100900001",
        "1.0.35/O-945_R-100900101",
        "1.0.35/O-947_R-101000001",
        "1.0.35/O-948_R-101000101",
        "1.0.35/O-950_R-101100001",
        "1.0.35/O-951_R-101100101",
        "1.0.35/O-952_R-101100201",
        "1.0.35/O-953_R-101200001",
        "1.0.35/O-955_R-101200201",
        "1.0.35/O-956_R-101300001",
        "1.0.35/O-958_R-101300201",
        "1.0.35/O-961_R-101400201",
        "1.0.35/O-964_R-101500201",
        "1.0.35/O-965_R-101600001",
        "1.0.35/O-967_R-101600201",
        "1.0.35/O-966_R-101600101",
        "1.0.35/O-69_R-400006901",
        "1.0.35/O-66_R-400006601",
        "1.0.35/O-153_R-300201301",
        "1.0.35/O-140_R-300200001",
        "1.0.35/O-145_R-300200501",
        "1.0.35/O-142_R-300200204",
        "1.0.35/O-968_R-101700001",
        "1.0.35/O-141_R-300200102",
        "1.0.35/O-970_R-101700201",
        "1.0.35/O-171_R-300301101",
        "1.0.35/O-161_R-300300102",
        "1.0.35/O-173_R-300301301",
        "1.0.35/O-191_R-300401101",
        "1.0.35/O-165_R-300300501",
        "1.0.35/O-193_R-300401301",
        "1.0.35/O-185_R-300400501",
        "1.0.35/O-978_R-102000101",
        "1.0.35/O-979_R-102000201",
        "1.0.35/O-977_R-102000001",
        "1.0.35/O-974_R-101900001",
        "1.0.35/O-976_R-101900201",
        "1.0.35/O-983_R-102200004",
        "1.0.35/O-984_R-102200104",
        "1.0.35/O-985_R-102200201",
        "1.0.35/O-986_R-102300001",
        "1.0.35/O-988_R-102300201",
        "1.0.35/O-991_R-102400206",
        "1.0.35/O-990_R-102400106",
        "1.0.35/O-122_R-300100204",
        "1.0.35/O-994_R-102500201"
      ],
      "channels": {
        "CH-BASE": {
          "identifier": "CH-BASE",
          "name": "OpenKNX",
          "communication_object_ids": [
            "1.0.35/O-1_R-100000101",
            "1.0.35/O-2_R-100000201",
            "1.0.35/O-3_R-100000301",
            "1.0.35/O-7_R-100000701"
          ]
        }
      }
    }​

    Ich hänge mal den ganzen output von xknxproj.parse() an.

    Könnt ihr mir sagen, wo sich die Kanäle in der neuen Version verstecken?

    Gruß,
    Hendrik

    Angehängte Dateien

    Einen Kommentar schreiben:


  • Amenophis
    antwortet
    Mega das Update. Vielen Dank dafür

    Einen Kommentar schreiben:


  • Noschvie
    antwortet
    Als Anregung, InfluxDB statt Tagesdateien: https://github.com/greiginsydney/captureKNX

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Top! Und ich sehe nun auch unten wieder alle Einträge

    Ich weiß nicht, ob du darauf überhaupt Einfluss hast, aber gerade da jetzt eh kein horizontales Scrollen mehr vorhanden ist wäre Home/End für Anfang/Ende der Liste super. Mit Ctrl+Home/End geht das zwar schon, aber ohne Ctrl wäre es natürlich noch angenehmer

    Einen Kommentar schreiben:


  • henfri
    antwortet
    So, ich hab gerade nochmal ein größeres Update hochgeladen.

    Es gibt jezt benannte Filter. Man kann den aktuell gewählten Filter mit S speichern. Man kann aber auch im entsprechenden Tab benannte Filter erstellen und editieren.
    Das geht alternativ auch in der entsprechenden YAML im Projekt-Verzeichnis.
    Es werden auch regex für Named-Filter unterstützt.
    Diese sind mit OR verknüpft.

    Wer das log weiter filtern will (einschränkend) kann den Filter über den Log-Zeilen nehmen. Der kann auch regex und die sind AND verknüpft.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Hi Hendrik,

    ich hab gerade mal aktualisiert, das lief schonmal erfreulich problemlos (systemctl stop für beide Dienste, git pull, systemctl start *2)
    Hat sich ja schon deutlich was getan, danke für deine Arbeit daran!

    Ich hab mal soweit Tickets abgearbeitet, kann aber auf Grund der Rechte keine Tickets wieder öffnen. #19 (Spaltenbreite) hat noch etwas Probleme aus meiner Sicht.

    Und die KO Namen sind jetzt *deutlich* besser als vorher. Da stand bei mir bei vielen MDT-Geräten vorher nur ganz grob nutzbarer Kram, jetzt passt das eigentlich alles.


    Ansonsten ist mir aufgefallen, dass die Home/End-Tasten nur nach ganz links/rechts scrollen. Ich fände es deutlich besser, wenn das ans Anfang/Ende der Liste scrollen würde (nach Links/Rechts scrollen sollte ja im Idealfall gar nicht nötig sein ).

    Außerdem scheint es mir, als ob zwei Zeilen unten "Abgeschnitten" würden. Wenn die letzte sichtbare Zeile markiert ist kann ich noch zweimal nach unten gehen, ohne dass die Liste hochgescrollt wird. Das passt auch zu den Daten, die da eigentlich noch sein müssten, da ich weiß, dass da noch zwei Telegramme nach dem letzten Sichtbaren kamen.

    LG,
    Chris

    Einen Kommentar schreiben:


  • Tru
    antwortet
    Ja, jetzt kommt der Fehler nicht mehr. Vielen Dank

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Funktioniert es mit dem Update von gerade?

    Einen Kommentar schreiben:


  • Tru
    antwortet
    Hab grad gesehen: ist nicht nur web, sondern das gleiche auch im Terminal ...

    Einen Kommentar schreiben:


  • henfri
    antwortet
    oh, das ist hier auch so - hab die web-version wohl nicht getestet. Ich schau mal. kein issue nötig

    Einen Kommentar schreiben:


  • Tru
    antwortet
    henfri Hab heute einen git pull gemacht, nun funktioniert knx-lens-web leider nicht mehr. Beim Start der Browser Session wird in der oberen Fensterhälfte ein Fehler angezeigt. Ich muss die Fehlermeldung aus dem Browser abtippen, kopieren geht nicht.
    Code:
    FEHLER BEIM LADEN
    Meldung: no nodes match '#building_tree' on KNXLens(title='KNXLens', classes={' -darkmode'}, pseude_classes={'dark', 'focus'}}
    Das Aufstarten von knx-lens-logger und knx-lens-web klappt wie bisher. Der Logger funktioniert und zeigt die Daten gemäss .knxproj an.
    Soll ich noch einen Issue dafür eröffnen?

    Danke noch für die Anpassung der Datum- und Zeitwerte.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Ich würde damit klar kommen, ist auf jeden Fall besser als gar nichts. Wobei es mir nicht klar ist, wie das dann mit Docker funktioniert, aber das liegt daran, dass ich mich nicht gut genug mit Docker auskenne.

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X