Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Jetzt habe ich aber gerade einen Fix gepusht, welcher das Problem beim Parsen des "<" behebt als auch Support für den DPT 5.001 einführt.
Da ich gerade weder ein KNX System zur Hand habe, noch den DPT 5.001 irgendwo in meiner Installation benutze, habe ich diesen Fix "blind" gemacht - kann also gut sein, dass es noch nicht so funktioniert, wie es soll.
Wenn Du aber schonmal testen möchstest, nur zu! Bin auf Dein Feedback gespannt
Würd ich gerne, allerdings ist Euer Repository nicht sehr intuitiv strukturiert.
Ich verwende noch das 1.0.0 Bundle aus dem Download-Bereich. Ich hab das Repro schon ausgeheckt. Reicht es, die knx-Bindings zu ersetzen oder muss ich auch an den Core dran.
Könntet Ihr so was wie ein Nightly-Bundle anbieten, dann ist das Testen einfacher?
Sorry, hat etwas gedauert.
Jetzt habe ich aber gerade einen Fix gepusht, welcher das Problem beim Parsen des "<" behebt als auch Support für den DPT 5.001 einführt.
Da ich gerade weder ein KNX System zur Hand habe, noch den DPT 5.001 irgendwo in meiner Installation benutze, habe ich diesen Fix "blind" gemacht - kann also gut sein, dass es noch nicht so funktioniert, wie es soll.
Wenn Du aber schonmal testen möchstest, nur zu! Bin auf Dein Feedback gespannt
Ok, da scheint es mir also gleich mehrere Bugs auf einmal zu geben.
Erstens wird das "<" nicht richtig entfernt, wenn der DPT herausgefunden werden soll. Dann gibt es NPEs bei der Nutzung des DPT 5.001. Und last but not least würde vermutlich auch noch der Prozentwert falsch abgebildet.
Ich schaue mir das bei Gelegenheit mal an, um es gerade zu ziehen.
11:48:43.062 WARN o.o.b.k.i.d.KNXCoreTypeMapper[:151] - Failed creating a translator for datapoint type ‘<5.0001‘.
tuwien.auto.calimero.exception.KNXException: main number not found for <5.0001
at tuwien.auto.calimero.dptxlator.TranslatorTypes.cre ateTranslator(TranslatorTypes.java:442)
Diese Meldung kann ich mir bei einer korrekten Konfiguration mit 5.001 nicht vorstellen...
Ok, dann hier noch mal die Meldung für einen korrekten Eintrag in der items-Datei mit DPT 5.001:
Code:
Number Betriebsart_DG_Arbeitszimmer_Status "Status [(%d)]" <heating> (DG_Arbeitszimmer) { knx="<5.001:1/2/10" }
Code:
4:57:15.642 WARN o.o.b.k.i.d.KNXCoreTypeMapper[:151] - Failed creating a translator for datapoint type ‘<5.001‘.
tuwien.auto.calimero.exception.KNXException: main number not found for <5.001
Wie gesagt. ich habs mit mehreren in Frage kommenden DPT´s versucht. Immer das gleiche.
Interessant ist, wenn ich folgende Definition nehme:
Code:
Number Betriebsart_DG_Arbeitszimmer_Status "Status [(%d)]" <heating> (DG_Arbeitszimmer) { knx="5.001:1/2/10" }
bekomme ich folgende Fehlermeldung:
Code:
15:03:58.536 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: java.lang.NullPointerException
und bei der Angabe von keinem DTP:
Code:
Number Betriebsart_DG_Arbeitszimmer_Status "Status [(%d)]" <heating> (DG_Arbeitszimmer) { knx="1/2/10" }
folgendes:
Code:
15:07:06.447 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: tuwien.auto.calimero.exception.KNXIllegalArgumentException: data length 0 < KNX data type width 2
bzw:
bei:
Code:
Number Betriebsart_DG_Arbeitszimmer_Status "Status [(%d)]" <heating> (DG_Arbeitszimmer) { knx="<1/2/10" }
als Fehler:
Code:
15:07:57.896 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: tuwien.auto.calimero.exception.KNXIllegalArgumentException: data length 0 < KNX data type width 2
15:07:57.898 WARN o.o.b.k.i.bus.KNXBinding[:464] - Error sending KNX read request for 'Betriebsart_DG_Arbeitszimmer_Status': data length 0 < KNX data type width 2
Ja, sorry. War ein Schreibfehler. Ich habe es nur mit 5.001 versucht, auch wenn der letzte Post so aussieht.
Bist Du Dir da ganz sicher? Dein Logauszug sagte:
Code:
11:48:43.062 WARN o.o.b.k.i.d.KNXCoreTypeMapper[:151] - Failed creating a translator for datapoint type ‘<5.0001‘.
tuwien.auto.calimero.exception.KNXException: main number not found for <5.0001
at tuwien.auto.calimero.dptxlator.TranslatorTypes.cre ateTranslator(TranslatorTypes.java:442)
Diese Meldung kann ich mir bei einer korrekten Konfiguration mit 5.001 nicht vorstellen...
Ja, sorry. War ein Schreibfehler. Ich habe es nur mit 5.001 versucht, auch wenn der letzte Post so aussieht. Das war nur ein kurzer Hack um die Fehlermeldung zu reproduzieren.
Bei 5.001 kann die oben genannte Fehlermeldung auch.
Meine Vermutung ist, das die Fehlermeldung kommt, wenn KEIN DPT im Telegram gesetzt ist. Denn für dieses Telegramm ist halt kein DPT definiert (laut Manuel von Jung). Ich habe hier auch noch Temperatursensoren von MDT im Einsatz, die auf die gleiche Weise den Betriebszustand melden. Sie nennen den Zustand DPT_HVAC Status mit fast der gleichen Bit-Kodierung wie die Jung-Regler (nur Bit 4 und Bit 6 sind nicht definiert).
Auch für dieses Objekt wird kein Standart DPT benutzt sondern in der ETS ist für das Datagram der DPT ungesetzt eingetragen, genauso wie beim Jung-Regler.
MDT gibt extra an, das diese Objekte zur Visualisierung benutzt werden können.
Wie geht openhab damit um, wenn kein DPT gesetzt ist?
Welchen DPT hat die Adresse 1/2/10 denn? Wenn es 1byte ist, dann wohl eine 5.xxx, richtig? Versuche mal ein knx="<5.001:1/2/10", ob er es dann schafft, diese GA korrekt auszulesen.
Grüße,
Kai
Hallo,
genau da ist das Problem. Es hat keine Standart DPT.
Nun bekomme ich folgende Fehlermeldung:
11:48:43.062 WARN o.o.b.k.i.d.KNXCoreTypeMapper[:151] - Failed creating a translator for datapoint type ‘<5.0001‘.
tuwien.auto.calimero.exception.KNXException: main number not found for <5.0001
at tuwien.auto.calimero.dptxlator.TranslatorTypes.cre ateTranslator(TranslatorTypes.java:442)
Die Definition im items-File lautet:
Number Betriebsart_DG_Arbeitszimmer_Status "Status [(%d)]" <heating> (DG_Arbeitszimmer) { knx="<5.0001:1/2/10" }
Ich habs nicht nur mit 5.001 versucht sondern auch mit fast jedem anderen, den ich im Standart gefunden habe (9.0001 usw.)
Wenn ich den DPT weglasse:
11:51:09.876 WARN o.o.b.k.i.bus.KNXBinding[:464] - Error sending KNX read request for 'Betriebsart_DG_Arbeitszimmer_Status': data length 0 < KNX data type width 2
11:51:09.873 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: tuwien.auto.calimero.exception.KNXIllegalArgumentE xception: data length 0 < KNX data type width 2
Das ganze wird in der Jung-Doku als "Non-Standart) beschrieben und auch in der ETS wird er als "undefiniert" geführt.
Welchen DPT hat die Adresse 1/2/10 denn? Wenn es 1byte ist, dann wohl eine 5.xxx, richtig? Versuche mal ein knx="<5.001:1/2/10", ob er es dann schafft, diese GA korrekt auszulesen.
Wie bekomme ich die Adresse z.B. 1/2/10 als Zahl (dezimal reicht mir) ausgelesen. Folgende Konfig:
Number Betriebsart_DG_Arbeitszimmer_Status "Status" <heating> (DG_Arbeitszimmer) { knx="<1/2/10" }
liefert mir die Fehlermeldung:
16:58:27.405 DEBUG o.o.b.k.i.bus.KNXBinding[:456]- Sending read request to KNX for item Betriebsart_DG_Arbeitszimmer_Status
16:58:27.499 WARN o.o.b.k.i.bus.KNXBinding[:464]- Error sending KNX read request for 'Betriebsart_DG_Arbeitszimmer_Status': data length 0 < KNX data type width 2
16:58:27.506 ERROR o.o.b.k.i.bus.KNXBinding[:247]- Error while receiving event from KNX bus: tuwien.auto.calimero.exception.KNXIllegalArgumentE xception: data length 0 < KNX data type width 2
Das Parsen würd ich schon hinbekommen, wenn in der rules-Datei & Verknüfungen erlaubt sind.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: