X
-
henfri und Uwe!,
ich hab auch mal geschaut.
"name" scheint der interne Name in der knxprod zu sein, den die Entwickler als Objektreferenz verwenden. Dieser Name erscheint nirgendwo in der ETS und sollte auch in knx-lens nicht verwendet werden.
Ich stimme aber Uwe! zu, dass man in einigen Fällen mehr als einen Begriff zur Indentifizierung braucht. IMO sind das "text" und "function_text", das sind die beiden Spalten "Text" und "Objektfunktion" in der ETS.
Gruß, Waldemar
P.S.: Das obige Beispiel "Wetterstation" würde dann auch noch funktionieren...
- Likes 1
Einen Kommentar schreiben:
-
Meinst Du die xyz..knxproj.cache.json?Zitat von henfri Beitrag anzeigenUnd ihr könnt mal in eurer knxproj.cache (liegt neben eurer knxproj) schauen, was da in den Feldern steht:
Sieht bei mit z. B. so aus:
Da wäre "text" also sinnvoller als "name", aber beides ist gefüllt.Code:"1.0.30/O-1_R-10003": { "name": "Object 1", "text": "Aussentemperatur", "function_text": "", "channel": null, "1.0.30/O-2_R-10009": { "name": "Object 2", "text": "WW Hysterese", "channel": null, "1.0.30/O-4_R-10021": { "name": "Object 4", "text": "WW Temp Max", "function_text": "", "channel": null,
gleiches bei der Enertex Spannungsversorgung:
Oft ist "name" und "text" gleich gefüllt. Wenn nicht ist meistens "text" sinnvoller. Leider aber manchmal auch umgekehrt.Code:"1.0.255/O-139_R-58": { "name": "sEnergyOutLifetimeGO", "text": "Total emitted energy lifetime", "function_text": "Energy meter", "channel": "CH-6", "1.0.255/O-140_R-59": { "name": "sEnergyOutPowerResetGO", "text": "Total emitted energy since power-on", "function_text": "Energy meter", "channel": "CH-6", "1.0.255/O-141_R-60": { "name": "sEnergyOutAnalysisResetGO", "text": "Total emitted energy since last analysis reset", "function_text": "Energy meter", "channel": "CH-6",
Schwer zu sagen, wie man das sinnvoll lösen kann. Interessanterweise sehe ich in der ETS für die entsprechenden Objekte eine deutsche Übersetzung der hier englischen BezeichnungenCode:"1.2.10/O-30_R-109": { "name": "Windgeschwindigkeit", "text": "Limiting value 1", "function_text": "Wind speed", "channel": null,
Nachtrag: Beim letzten Beispiel (Wetterstation) braucht man eigentlich beide Texte um zu verstehen, was das für ein Objekt ist. In der ETS steht da unter "Name" 'Grenzwert 1' und unter "Objektfunktion" 'Windgeschwindigkeit'. Erst beides zusammen macht das Objekt eindeutig. Sowohl Grenzwert 1 als auch Windgeschwindigkeit gibt es innerhalb des Gerätes mehrfach.
Wenn ich es machen müsst (oder könnte) würde ich wohl "name" und "text" mit einem Trennzeichen aneinanderreihen, sofern die beiden Werte unterschiedlich sind.
Wo man die deutschen Bezeichnungen her bekommen würde, weiß ich nicht.Zuletzt geändert von Uwe!; 01.07.2025, 15:37.
Einen Kommentar schreiben:
-
da war Nutzung dieser zwei Befehle/Optionen gemeint. Aber das kommt dann vermutlich auch aus dem Textual, ohne dass Du da was ändern kannst.Zitat von henfri Beitrag anzeigenDa kann ich gerade nicht folgen.
image.png
Einen Kommentar schreiben:
-
Hallo Uwe,
vielen Dank für dein Feedback.
Ich wusste gar nicht, dass man das Farbschema ändern kann - das bringt das textual-framework mit und ich habe es nicht implementiert.
Ja, da kommt man an die Grenze eines Kommandozeilen-Tool (und die Web-Version ist ja wirklich nur eine 1:1 Repräsentation). In einem richtigen GUI würde man das einfach in einem Tooltip anzeigen können.Zitat von Uwe! Beitrag anzeigen[*]in "Gebäude" und "Phy. Adresse" würde ich mir die Möglichkeit wünschen, die GA-Bezeichnungen optional mit anzeigen zu lassen. Wenn's mehrere GA je Objekt sind, wird natürlich schwierig. Evtl. müsste man das dann (oder generell) als eigene Zeile je GA darstellen
Als eigene Zeile pro GA ginge (könnte man ja als weitere Baumebene machen), aber das wird (mir) dann auch irgendwann zu komplex.
Da kann ich gerade nicht folgen.Zitat von Uwe! Beitrag anzeigen[*]wenn man "Maximize" auswählt, hab ich keinen Weg zurück gefunden.[*]gleiches beim Einblenden der Tastenkombinationen rechts. Kann man die wieder ausblenden?
ja... Das wundert mich aber. Ich habe in Windows und Linux getestet und hatte den Effekt noch nicht.Zitat von Uwe! Beitrag anzeigenzz0.a2tal4sq4nzz[*]die Linien werden teilweise mit (glaube ich) den falschen Zeichen dargestellt (sieht für mich nach falschem Zeichensatz aus).
image.png
Aus der ETS. Für viele Geräte passt dieser Eintrag. Es gibt aber noch einen Zweiten, siehe hier ("name", "text" und "function_text").Zitat von Uwe! Beitrag anzeigen[*]Wo kommen die Objektbezeichnungen her?
Irgendwie muss die ETS ja auch wissen, wann welcher angezeigt werden muss. Das muss ich mir nochmal ansehen.
Aktuell nutze ich diese Funktion:
https://github.com/henfri/knx-lens/b...nx-lens.py#L80- channel.get("function_text"):
Wenn das Dictionary channel einen Schlüssel "function_text" hat und dessen Wert nicht leer bzw. nicht None oder False ist, wird dieser Wert zurückgegeben. - Falls "function_text" fehlt oder leer ist, wird channel.get("name") versucht.
- Falls auch "name" fehlt oder leer ist, wird der Fallback-String f"Kanal-{ch_id}" zurückgegeben (also z. B. "Kanal-3" bei ch_id = 3).
Und ihr könnt mal in eurer knxproj.cache (liegt neben eurer knxproj) schauen, was da in den Feldern steht:
image.png
Gruß,
Hendrik
- Likes 1
Einen Kommentar schreiben:
- channel.get("function_text"):
-
erste Ergebnisse, ich schreib mal alles, was mir auffällt, ist aber bisher alles nur Optik oder Sonderwünsche. Also bitte nicht als (negative) Kritik verstehen, das Teil sit in Summe SUPER.Zitat von Uwe! Beitrag anzeigenJetzt kann ich testen.- bei der Auswahl eines anderen Farbschemas (wer hat sich die Namen ausgedacht…) wird die Hintergrundfarbe im Hauptfenster bei der ersten Aktion auf einen anderen Wert geändert und bleibt dann so.
- in "Gebäude" und "Phy. Adresse" würde ich mir die Möglichkeit wünschen, die GA-Bezeichnungen optional mit anzeigen zu lassen. Wenn's mehrere GA je Objekt sind, wird natürlich schwierig. Evtl. müsste man das dann (oder generell) als eigene Zeile je GA darstellen
- wenn man "Maximize" auswählt, hab ich keinen Weg zurück gefunden.
- gleiches beim Einblenden der Tastenkombinationen rechts. Kann man die wieder ausblenden?
- die Linien werden teilweise mit (glaube ich) den falschen Zeichen dargestellt (sieht für mich nach falschem Zeichensatz aus).
image.pngimage.png - Wo kommen die Objektbezeichnungen her?
ETS:
image.png
image.png
KNX-LENS:
image.png
image.png -
Einen Kommentar schreiben:
-
Multicast in Docker is auch ned ganz trivial. Zur leichteren Installation könnte man aber Tools wie `uv` benutzen - die kümmern sich dann um die passende Python Version und die requirements. https://docs.astral.sh/uv/guides/scr...t-dependencies
Dafür muss man das halt vorher installieren... einen Tod muss man sterben.
Einen Kommentar schreiben:
-
ja, hier ;-)Zitat von henfri Beitrag anzeigenInstallationsprobleme nur von einem User
richtig. Also MIR hätte ein Container vermutlich nicht geholfen. In Windows und der Hardware bin ich zuhause, Linux, Docker, Python ist leider alles nicht mein Fachgebiet. Fehlt einfach die Zeit sich damit ausreichend zu beschäftigen.Zitat von henfri Beitrag anzeigenWenn man jetzt vorher kein Python hat.... hat man möglicherweise vorher auch kein Docker.
Einen Kommentar schreiben:
-
Es sollten alle (Schnittstellen und Router) gefunden werden. Dann wählst du einfach den Router.Zitat von philipp900 Beitrag anzeigenHätte ich jetzt so direkt nicht aus dem Code herauslesen können. Wie wähle ich das vor?
xknx unterstützt Routing, aber in Lens gibt es keine Einstellung dafür.
Oder zu anderen...Zitat von philipp900 Beitrag anzeigenWenn man die letzten 2 Seiten mit Installationsproblemen hier verfolgt, würde ein fertiges Image im Dockerhub vermutlich zu weniger Problemen führen
Und bisher haben wir Installationsprobleme nur von einem User. Die lagen teilweise an mir, da ich nicht die nötige Python-Version angegeben habe.
Aber prinzipiell ist die Installation doch nur ein
und wenn man es ganz sauber haben will vorher ein venv erzeugen.pip install -r requirements.txt
Wenn man jetzt vorher kein Python hat.... hat man möglicherweise vorher auch kein Docker.
Und wenn doch, kann man sich auch einen Docker-Container mit Python schnappen und dort obiges Kommando eingeben.
Wie gesagt: Ich nutze auch fast alles im Docker-Container. Aber gerade bei KNX ist das manchmal nicht einfach (Multicast); der KNXD geht z.B. auch nur mit net=host.
Gruß,
HendrikZuletzt geändert von henfri; 01.07.2025, 08:23.
Einen Kommentar schreiben:
-
Hätte ich jetzt so direkt nicht aus dem Code herauslesen können. Wie wähle ich das vor?Zitat von henfri Beitrag anzeigenKNX routing wird schon unterstützt.
xknx unterstützt Routing, aber in Lens gibt es keine Einstellung dafür.
Wenn man die letzten 2 Seiten mit Installationsproblemen hier verfolgt, würde ein fertiges Image im Dockerhub vermutlich zu weniger Problemen führenWo siehst du die Vorteile eines Containers?
- Likes 1
Einen Kommentar schreiben:
-
so...
Nachdem ich dotenv einzeln nachinstalliert habe, war der Fehler weg. Dafür kam ein Fehler wegen "textual", ein weiterer Eintrag aus Requirements. Also noch mla "pip install -r requirements.txt".
Jetzt sind alle Fehler weg. Eigentlich bin ich mir sicher, dass ich die requirements nach Installation der aktuellen Python wieder installiert habe. Den Fehlermeldungen nach, spricht aber alles dafür, dass das nicht der Fall war.
Egal. Allen vielen Dank für alle Tips. Jetzt kann ich testen.
- Likes 1
Einen Kommentar schreiben:
-
In die Richtung hab ich auch überlegt.
Requirements hab ich installiert, ohne Fehler.
werd nachher dotenv noch mal manuell hinterher installieren
Einen Kommentar schreiben:
-
pip install python-dotenv, meine ich
oder
pip install -r requirements.txt
Einen Kommentar schreiben:
-
irgendwie ist bei mir der Wurm drin.
Hab Python 3.9.13 runter geschmissen und 3.13.5 neu installiert. Zwischendurch vorsichthalber Neustart.
KNX-Lens neu geladen und ausgepackt. Anleitung Schritt für Schritt abgearbeitet.
Das Setup Script funktioniert und das Logger Script jetzt auch. Zeigt auch hübsch alle Telegramme.
Dafür geht jetzt das Lens Script nicht mehr, was vorher ging.
C:\Program Files\knx-lens-main>python knx-lens.py
Traceback (most recent call last):
File "C:\Program Files\knx-lens-main\knx-lens.py", line 26, in <module>
from dotenv import load_dotenv, set_key, find_dotenv
ModuleNotFoundError: No module named 'dotenv'
Einen Kommentar schreiben:
-
ok. Die Sortierung hat mich auf's Glatteis geführt. 3.10 (und 3.11, 3.12, 3.13) stehen vorne bei 3.1.
Daher war 3.9 die "letzte" in der Liste...
Also bisher mal wieder alles Fehler auf User-Seite....
Einen Kommentar schreiben:


Einen Kommentar schreiben: