NEWS
Test Adapter OpenKNX 0.6.x
-
Ich habe noch die 0.1.22 im Einsatz und war bisher immer recht zufrieden, deshalb habe ich nicht weiter upgedated.
Es kam gelegentlich (alle paar Monate) vor, dass offenbar openKNX "abgestürzt" ist. Es hat sich dahingehend geäußert, dass keinerlei Werte vom Bus mehr im Objekt-Explorer aktualisiert wurden (die aber im ETS-Gruppenmonitor sichtbar sind). Das merkt man nicht immer sofort, aber wenn Diagramme aus influx längere Zeit unverändert bleiben, sollte man mal nachsehen
Gestern war wieder so ein Fall. Nun habe ich im iobroker-Log recherchiert. Das ist wohl der Eintrag, als das Problem entstand:Danach kein einziger openKNX-Eintrag mehr. Neustart der openKNX-Instanz hilft, danach funktioniert wieder alles problemlos.
Kann mir jemand weiterhelfen oder kennt jemand das Problem?
-
@flot sagte in Test Adapter OpenKNX 0.2.x:
Gibt es denn eine Möglichkeit bzw. einen Trick auch alle GAs selbst ohne existierende KOs zu importieren?
Gruppenadressen mit eingestellten Datentyp werden übernommen auch wenn keine KO angegeben sind. Könnte aber zu Problemen führen wenn man später den Datentyp anpassen muss.
-
@mane444 said in Test Adapter OpenKNX 0.2.x:
Datentyp anpassen muss.
Ok, vielen Dank! Das werde ich demnächst mal ausprobieren.
-
@netfriend kannst du es genauer beschreiben, was für Daten wurden zu dem Zeitpunkt mit welchen Werten geschrieben, was hat ETS parallel aufgezeichnet, etc. Ideal wäre es reproduzierbar zu haben um die genaue Fehlerursache zu beheben. Ich werde mal schauen ob sich das System robustieren lässt und sich nach solchen Hägern wieder fängt.
-
@killroy2 Leider nicht. Nachdem das nur alle paar Monate vorkommt, ist das äußerst schwierig. Hab die iobroker logs auf debug gestellt, aber wirklich weiter hat es mich auch nicht gebracht. Und die ETS läuft nicht permanent mit. Reproduzieren kann ich es auch nicht, weil ich eben nicht weiß, welcher Wert gerade geschrieben werden sollte oder unter welchen Umständen das passiert.
-
@killroy2 ich habe das gleiche Problem wie @netfriend. Bei mir tritt es aber etwas häufiger auf. Gewollt reproduzieren kann ich es leider auch nicht. Meine Lösung ist ein KNX Gerät jede Minute ein Signal in eine Gruppenadresse schreiben zu lassen. Wurde die Gruppenadresse 2 Minuten nicht aktualisiert, wird der Adapter automatisch neu gestartet. Schön ist das nicht, denn bis alle GAs aktualisiert sind geht erst mal 2 Minuten gar nichts… Eine robustere Version wäre daher wirklich super. Danke für deine tolle Arbeit!
-
@markus84 So ähnlich habe ich das auch gelöst, und wenn mein Heartbeat-Signal eine gewisse Zeit ausbleibt, sende ich mir eine Nachricht, damit ich das weiß und gezielt im log suchen kann. Bisher aber ohne nennenswerte Erkenntnis.
Kann man aus nem Blockly den Adapter neu starten? -
@killroy2 Wäre es nicht sinnvoller, weitere Fehlersuche/Tests mit der V0.2.7 durchzuführen. Seit der V0.1.22 hat sich doch einiges geändert/verbessert und vielleicht tritt dann der Fehler nicht mehr auf und Du sparst Dir die Zeit der Fehlersuche?
-
@netfriend Ja das kann man. Einfach unter system.adapter.[Adaptername].0.alive (ggf. noch Instanz anpassen) von true auf false umschaltet und wieder zurück.
-
@markus84 Danke, nachdem ich in den Expertenmodus geschaltet habe, sehe ich auch den Eintrag.
Hab davor ewig gesucht -
@markus84 Ich baue in die kommende Version eine Logging Funktion ein, was zumindest die Fehlersuche unterstützt. Version kommt in den nächsten Tagen mit weiteren Verbesserungen.
-
@killroy2 Das ist wirklich super, besten Dank!
-
Hallo,
ich nutze den Adapter (0.2.5) seit einigen Wochen und möchte mich zunächst für die tolle Arbeit bedanken!Nun stehe ich vor einem Problem, dass bestimmte Objekte nicht gesschrieben werde; in diesem Fall Rückmeldungs-GAs von verschiedenen Steckdosen. Andere wiederum funktionieren.
Hier einmal ein Beispiel, bei dem es funktioniert:
und hier ein Beispiel, bei es nicht funktioniert:
Mir fällt auf, dass die Zeile "from" abweicht. In dem Fall, wo es nicht funtkioniert, ist dort "admin" angegeben, im anderen Fall "openknx". Wenn ich dies auf openknx ändere und abspeichere, wird es wieder mit admin überschrieben.
Im Gruppenmonitor der ETS5 kann ich sehen, dass die Status-GAs geschrieben werden, nur werden einzelne Objekte nicht geschrieben. Die Flags und DPTs in den verschiedenen Status GAs sind alle gleich.Kann es damit zusammenhängen, dass ich nach einer ersten Installation des Adapaters Aliase erstellt habe? Diese habe ich im Nachgang im Objektbaum direkt gelöscht, sowie auch die Instanz. Nach Neuistallation des Adapters wollte ich hier ohne Aliase starten.
Danke vorab!
-
@finkinho Das from und timestamp kommt von deinem edit. Ich sehe einen unterschied bei role switch.
Was kommt im Log beim Empfang der beiden Objekte und wie sehen die Empfangsobjekte aus wenn du über Wert des Objekts hoverst? -
Hallo,
ich bin gerade dabei ein ETS Programm in den Adapter einzulesen, aktuelle habe ich noch keine Verbindung zur eigentlichen Hardware (Fehlender Zugang). Das einlesen der DP hat top funktioniert, jedoch was für mich sehr wichtig ist, die automatischer Erstellung von Aliase hat nicht geklappt. Ich habe jetzt stundenlang versucht, den Fehler bei mir zu finden, leider ohne Erfolg. Dann habe ich angefangen den Adapter etwas zu Debuggen, dabei viel mir auf, das beim Versuch zum erzeugen der Aliase die "gaList" leer ist. Nun meine Frage, ist meine Vermutung richtig, dass dies erst mit einer Verbindung zur Hardware möglich ist? Falls ja, gibt es dafür einen Grund?
-
@blauholsten du kannst die stelle auskommentieren wo auf !this.config.gwip geprüft wird. Ich muss an einer Stelle verhindern dass der Stack gestartet wird und hatte deinen use case nicht im Sinn. In der nächsten Version kann ich es ändern.
-
@killroy2 Guten Abend, war ein paar Tage off, sorry. Danke für deine schnelle Rückmeldung.
Bei Hovern erhalte ich:
Wert: (null)
Bestätigt: true
Zeitstempel 17.11.
Zuletzt geändert: 06.11.
Von: openknx.0
Benutzer: admin
Qualität: 0x00 goodFolgendes bekomme ich aus dem Log für eine GA (Mähroboter), bei der das Status-Objekt nicht geschrieben wird (erst das Log der Schalten GA 2.1.23, dann kommt die Status-GA 2.2.23:
2022-11-17 12:49:36.857 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:36.857 2022-11-17 11:49:36 **** (2/1/23) false DATAPOINT CHANGE (was: true)
2022-11-17 12:49:36.857 - [34mdebug[39m: openknx.0 (19479) Inbound GroupValue_Write from 1.1.243 GA 2/1/23 to Object: openknx.0.Steckdosen.Ein_Aus.A04_Garten_Außensteckdose_Süd_Mähroboter val: false dpt: DPT1.001
2022-11-17 12:49:36.858 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:36.858 (idle): UDP sent OK: TUNNELING_ACK 06100421000a0413ae00
2022-11-17 12:49:36.881 - [35msilly[39m: openknx.0 (19479) States user redis pmessage openknx.0.*/openknx.0.Steckdosen.Ein_Aus.A04_Garten_Außensteckdose_Süd_Mähroboter:{"val":false,"ack":true,"ts":1668685776870,"q":0,"from":"system.adapter.openknx.0","user":"system.user.admin","lc":1668685776870}
2022-11-17 12:49:36.969 - [35msilly[39m: openknx.0 (19479) [debug] 2022-11-17 11:49:36.969 Inbound message: 0610042000150413af002900bce011011217010080
2022-11-17 12:49:36.969 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:36.969 (idle): Received TUNNELING_REQUEST_L_Data.ind message: {"header_length":6,"protocol_version":16,"service_type":1056,"total_length":21,"tunnstate":{"header_length":4,"channel_id":19,"seqnum":175,"rsvd":0},"cemi":{"msgcode":41,"addinfo_length":0,"ctrl":{"frameType":1,"reserved":0,"repeat":1,"broadcast":1,"priority":3,"acknowledge":0,"confirm":0,"destAddrType":1,"hopCount":6,"extendedFrame":0},"src_addr":"1.1.1","dest_addr":"2/2/23","apdu":{"apdu_length":1,"apdu_raw":{"type":"Buffer","data":[0,128]},"tpci":0,"apci":"GroupValue_Write","data":{"type":"Buffer","data":[0]}}}}
2022-11-17 12:49:36.970 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:36.970 (recvTunnReqIndication): Sending TUNNELING_ACK ==> {"header_length":6,"protocol_version":16,"service_type":1057,"total_length":10,"hpai":{"protocol_type":1,"tunnel_endpoint":"0.0.0.0:0"},"tunnstate":{"channel_id":19,"tunnel_endpoint":"192.168.1.74:3671","seqnum":175}}
2022-11-17 12:49:36.970 - [35msilly[39m: openknx.0 (19479) [debug] 2022-11-17 11:49:36.970 (idle): zzzz...
2022-11-17 12:49:36.970 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:36.970 2022-11-17 11:49:36 **** (2/2/23) false DATAPOINT CHANGE (was: true)
2022-11-17 12:49:36.970 - [34mdebug[39m: openknx.0 (19479) receive self ga: 1.1.1
2022-11-17 12:49:36.970 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:36.970 (idle): UDP sent OK: TUNNELING_ACK 06100421000a0413af00
2022-11-17 12:49:40.829 - [35msilly[39m: openknx.0 (19479) [debug] 2022-11-17 11:49:40.829 Inbound message: 0610042000150413b0002900bce011f31118010081
2022-11-17 12:49:40.831 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:40.830 (idle): Received TUNNELING_REQUEST_L_Data.ind message: {"header_length":6,"protocol_version":16,"service_type":1056,"total_length":21,"tunnstate":{"header_length":4,"channel_id":19,"seqnum":176,"rsvd":0},"cemi":{"msgcode":41,"addinfo_length":0,"ctrl":{"frameType":1,"reserved":0,"repeat":1,"broadcast":1,"priority":3,"acknowledge":0,"confirm":0,"destAddrType":1,"hopCount":6,"extendedFrame":0},"src_addr":"1.1.243","dest_addr":"2/1/24","apdu":{"apdu_length":1,"apdu_raw":{"type":"Buffer","data":[0,129]},"tpci":0,"apci":"GroupValue_Write","data":{"type":"Buffer","data":[1]}}}}
2022-11-17 12:49:40.832 - [35msilly[39m: openknx.0 (19479) [trace] 2022-11-17 11:49:40.831 (recvTunnReqIndication): Sending TUNNELING_ACK ==> {"header_length":6,"protocol_version":16,"service_type":1057,"total_length":10,"hpai":{"protocol_type":1,"tunnel_endpoint":"0.0.0.0:0"},"tunnstate":{"channel_id":19,"tunnel_endpoint":"192.168.1.74:3671","seqnum":176}}
2022-11-17 12:49:40.832 - [35msilly[39m: openknx.0 (19479) [debug] 2022-11-17 11:49:40.832 (idle): zzzz... -
@finkinho
Wird das Statusobjekt in der ETS im Gruppenmonitor grün angezeigt?
Es fehlt die Indication, weil kein Empfänger registriert ist und die Message generiert. Der Adapter wird den Sendevorgang dann als fehlgeschlagen bewerten. -
@killroy2 Hi, stehe etwas auf dem Schlauch. Grün wird mir dort nichts angezeigt. Hier ein Ausschnitt aus dem Gruppenmonitor, in diesem Falle geschaltet aus dem iobroker heraus. Die Status- GA in der ETS bekommt dann den richtigen Wert. Im Objekt im iobroker kommt aber nichts an.
Grüße
-
@finkinho ok verstehe deinen Aufbau. Hold dir die Version 0.2.6 oder neuer, damit ist das Problem adressiert.