ioBroker / ioBroker.knx

connect KNX via eibd
http://www.iobroker.org
Other
50 stars 32 forks source link

Adapter reagiert nicht mehr #52

Closed BlackBird77 closed 5 years ago

BlackBird77 commented 5 years ago

Hallo, ich mache gerade einen "Stresstest" des Adapters. Leider läuft er nicht stabil. Ich habe über KNX eine Heizungssteuerung laufen. Welche per PID Regler und meine Vorlauftemperatur einstellt.

Die Messwerte der Vorlauftemperatur kommen über einen OneWire sensor, der pro Sekunde einmal abgefragt wird. Darauf reagiert dann ein Script, welches per PID Regler einen neuen Stellwert DPT5.004 berechnet. Bei einer Wertänderung wird das ganze an einen Aktor gesendet, der dann einen 3-Wege Mischer per Motor einstellt.

Das ganze funktioniert nur ein Paar Minuten, dann reagiert der KNX Adapter nicht mehr. Direkt messen kann man das, weil der Stellwert Status des Regelaktors nicht mehr zurückkommt.

Jemand eine Idee wo man da ansetzen kann? Welche Logs soll ich aktivieren?

chefkoch009 commented 5 years ago

Hallo BlackBird77,

welche node Version und welche Adapter Version verwendest Du?

BlackBird77 commented 5 years ago

Hallo, ich verwende node v8.15.0 und Adapter Version 1.0.20.

Im Debug log sind dann nur noch Writes und keine Rückmeldungen mehr zu sehen.

Ich kann das Log leider noch nicht so gut interpretieren.

019-03-06 12:20:03.952 - info: knx.0 easy-knx.js groupValueWrite value: 153 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,153]} 2019-03-06 12:20:03.952 - info: knx.0 add to Buffer cnt: 211 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 99 queue.length : 36 GA : 3/3/2 2019-03-06 12:20:05.552 - info: knx.0 checkConnectionState 192.168.XX.XX State : true 2019-03-06 12:20:05.552 - info: knx.0 Send : conCheck Connection State Request : 06 10 02 07 00 10 01 00 08 01 c0 a8 4c 19 ae b6 sent to 192.168.XX.XX:3671 2019-03-06 12:20:05.553 - info: knx.0 Change state from STATE_CONNECTION_STATE_RESPONSE(6) to STATE_CONNECTION_STATE_REQUEST(5) 2019-03-06 12:20:05.554 - info: knx.0 Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 01 15 192.168.XX.XX:3671 ChID : 1 SeqCntIN : 121 SeqCntOUT : 176 msgCode : [object Object] 2019-03-06 12:20:05.554 - info: knx.0 Change state from STATE_CONNECTION_STATE_REQUEST(5) to STATE_CONNECTION_STATE_RESPONSE(6) 2019-03-06 12:20:06.004 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 154 DPT5.004 2019-03-06 12:20:06.004 - info: knx.0 easy-knx.js groupValueWrite value: 154 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,154]} 2019-03-06 12:20:06.004 - info: knx.0 add to Buffer cnt: 212 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 9a queue.length : 37 GA : 3/3/2 2019-03-06 12:20:08.055 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 155 DPT5.004 2019-03-06 12:20:08.055 - info: knx.0 easy-knx.js groupValueWrite value: 155 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,155]} 2019-03-06 12:20:08.055 - info: knx.0 add to Buffer cnt: 213 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 9b queue.length : 38 GA : 3/3/2 2019-03-06 12:20:11.091 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 156 DPT5.004 2019-03-06 12:20:11.092 - info: knx.0 easy-knx.js groupValueWrite value: 156 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,156]} 2019-03-06 12:20:11.092 - info: knx.0 add to Buffer cnt: 214 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 9c queue.length : 39 GA : 3/3/2 2019-03-06 12:20:14.089 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 157 DPT5.004 2019-03-06 12:20:14.090 - info: knx.0 easy-knx.js groupValueWrite value: 157 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,157]} 2019-03-06 12:20:14.090 - info: knx.0 add to Buffer cnt: 215 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 9d queue.length : 40 GA : 3/3/2 2019-03-06 12:20:15.553 - info: knx.0 checkConnectionState 192.168.XX.XX State : true 2019-03-06 12:20:15.554 - info: knx.0 Send : conCheck Connection State Request : 06 10 02 07 00 10 01 00 08 01 c0 a8 4c 19 ae b6 sent to 192.168.XX.XX:3671 2019-03-06 12:20:15.554 - info: knx.0 Change state from STATE_CONNECTION_STATE_RESPONSE(6) to STATE_CONNECTION_STATE_REQUEST(5) 2019-03-06 12:20:15.555 - info: knx.0 Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 01 15 192.168.XX.XX:3671 ChID : 1 SeqCntIN : 121 SeqCntOUT : 176 msgCode : [object Object] 2019-03-06 12:20:15.555 - info: knx.0 Change state from STATE_CONNECTION_STATE_REQUEST(5) to STATE_CONNECTION_STATE_RESPONSE(6) 2019-03-06 12:20:15.895 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 158 DPT5.004 2019-03-06 12:20:15.895 - info: knx.0 easy-knx.js groupValueWrite value: 158 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,158]} 2019-03-06 12:20:15.895 - info: knx.0 add to Buffer cnt: 216 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 9e queue.length : 41 GA : 3/3/2 2019-03-06 12:20:17.921 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 159 DPT5.004 2019-03-06 12:20:17.921 - info: knx.0 easy-knx.js groupValueWrite value: 159 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,159]} 2019-03-06 12:20:17.921 - info: knx.0 add to Buffer cnt: 217 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 9f queue.length : 42 GA : 3/3/2 2019-03-06 12:20:21.008 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 160 DPT5.004 2019-03-06 12:20:21.008 - info: knx.0 easy-knx.js groupValueWrite value: 160 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,176,0,17,0,188,224,0,2,27,2,2,0,128,160]} 2019-03-06 12:20:21.008 - info: knx.0 add to Buffer cnt: 218 : 06 10 04 20 00 16 04 01 b0 00 11 00 bc e0 00 02 1b 02 02 00 80 a0 queue.length : 43 GA : 3/3/2 2019-03-06 12:20:23.061 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 161 DPT5.004

chefkoch009 commented 5 years ago

Was für eine KNX-LAN Schnittstelle benutzt Du? Irgendwie antwortet die nicht richtig.

BlackBird77 commented 5 years ago

Am Timestamp sieht man, das die Requests in Sekunden Abständen abgesetzt werden. Die Queue Length scheint aber immer höher zu werden, weil die Queue nicht mehr abgearbeitet wird..

Als Schnittstelle nutze ich einen Raspberry mit eibd. Die anderen Verbindungen über die Schnittstelle funktionierten zu diesem Zeitpunkt noch. Ich habe diese Schnittstelle & Konfig mit einer anderen KNX Software schon seit Jahren am laufen.

Wenn ich den knx.0 Adapter neustarte funktioniert alles wieder. Parallel läuft meine alte Visu auch noch Problemlos, obwohl es über ioBroker keine Verbindung mehr gibt!

chefkoch009 commented 5 years ago

kann ich mir das mal anschauen?

BlackBird77 commented 5 years ago

Ja natürlich! Per Teamviewer?

chefkoch009 commented 5 years ago

anydesk, bitte

BlackBird77 commented 5 years ago

Ich habe hoffentlich eine Private E-Mail geschrieben ich hoffe username@users.noreply.github.com funktioniert?

chefkoch009 commented 5 years ago

nö.....die findest du in der package.json.

BlackBird77 commented 5 years ago

Vielen Dank nochmal für die schnelle Fehlerbehebung!

Ich habe mal ein wenig herumgesucht, im eibd Sourcecode ist HEX 15 oder DEC 21 der Default Returncode wenn der Channel nicht mehr gefunden wird.

Ich denke diesen Fehlercode wie einen Verbindungsabbruch zu behandeln ist genau richtig!

Snippet aus https://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_0.0.5.tar.gz

      if (p1->service == CONNECTIONSTATE_REQUEST)
        {
          uchar res = 21;
          EIBnet_ConnectionStateRequest r1;
          EIBnet_ConnectionStateResponse r2;
          if (parseEIBnet_ConnectionStateRequest (*p1, r1))
        goto out;
          for (i = 0; i < state (); i++)
        if (state[i].channel == r1.channel)
          {
            if (compareIPAddress (p1->src, state[i].caddr))
              {
            res = 0;
            pth_event (PTH_EVENT_RTIME | PTH_MODE_REUSE,
                   state[i].timeout, pth_time (120, 0));
              }
            else
              TRACEPRINTF (t, 8, this, "Invalid control address");
          }
          r2.channel = r1.channel;
          r2.status = res;
          sock->sendaddr = r1.caddr;
          sock->Send (r2.ToPacket ());
        }

Ich werde Beobachten wie oft das vorkommt und mich wieder melden!

BlackBird77 commented 5 years ago

Ich werde mal alle anderen KNX Verbindungen deaktivieren, evtl. verursacht das Problem ein anderer eibd Client.

Kurze Frage ich wollte mal Testen ob ein StateChange von STATE_CONNECTION_STATE_RESPONSE zu STATE_CONNECT_REQUEST evtl schneller oder überhaupt behebt?

Ohne den UDP Port zu schließen und wieder zu öffnen, denn bei dem Reconnect gehen einem schon evtl. KNX Frames verloren.

Ich konnte den Sourcecode aber nicht finden, wo liegt der aktuelle Code vom iobroker.knx ?

Hier noch aktuelle Logs

2019-03-06 15:29:53.205 - info: knx.0 Send : conCheck Connection State Request : 06 10 02 07 00 10 01 00 08 01 c0 a8 4c 19 b3 a4 sent to 192.168.XX.XX:3671 2019-03-06 15:29:53.205 - info: knx.0 Change state from STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_CONNECTION_STATE_REQUEST(5) 2019-03-06 15:29:53.205 - info: knx.0 STATE_CONNECTION_STATE_REQUEST : no defined handling for transition from State: STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_CONNECTION_STATE_REQUEST(5). 2019-03-06 15:29:53.206 - info: knx.0 Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 01 15 192.168.XX.XX:3671 ChID : 1 SeqCntIN : 38 SeqCntOUT : 166 msgCode : [object Object] 2019-03-06 15:29:53.207 - info6,16,4,32,0,22,4,1,166,0,17,0,188,224,0,2,27,2,2,0,128,175 to STATE_CONNECTION_STATE_RESPONSE(6) 2019-03-06 15:29:53.207 - info: knx.0 Change state from STATE_CONNECTION_STATE_RESPONSE(6) to STATE_DISCONNECT_REQUEST(15) 2019-03-06 15:29:53.207 - info: knx.0 STATE_DISCONNECT_REQUEST : no defined handling for transition from State: STATE_CONNECTION_STATE_RESPONSE(6) to STATE_DISCONNECT_REQUEST(15). 2019-03-06 15:29:53.207 - info: knx.0 Change state from STATE_DISCONNECT_REQUEST(15) to STATE_NOT_CONNECTED(0) 2019-03-06 15:29:53.207 - info: knx.0 Connection persists.....closing now 2019-03-06 15:29:53.207 - info: knx.0 ... not able to close connection, because already closed 2019-03-06 15:29:53.207 - info: knx.0 STATE_NOT_CONNECTED : Try to connect / reconnect : STATE_DISCONNECT_REQUEST(15) to STATE_NOT_CONNECTED(0). 2019-03-06 15:29:53.708 - info: knx.0 Change state from STATE_NOT_CONNECTED(0) to STATE_NOT_CONNECTED(0) 2019-03-06 15:29:53.708 - info: knx.0 Connection persists.....closing now 2019-03-06 15:29:53.709 - info: knx.0 ... not able to close connection, because already closed 2019-03-06 15:29:53.709 - info: knx.0 STATE_NOT_CONNECTED : Stop connection : STATE_NOT_CONNECTED(0) to STATE_NOT_CONNECTED(0). 2019-03-06 15:29:56.881 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 175 DPT5.004 2019-03-06 15:29:56.881 - info: knx.0 easy-knx.js groupValueWrite value: 175 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,166,0,17,0,188,224,0,2,27,2,2,0,128,175]} 2019-03-06 15:29:56.881 - info: knx.0 add to Buffer cnt: 211 : 06 10 04 20 00 16 04 01 a6 00 11 00 bc e0 00 02 1b 02 02 00 80 af queue.length : 1 GA : 3/3/2 2019-03-06 15:29:57.208 - info: knx.0 Using UDP with local IP: 192.168.XX.XX 2019-03-06 15:29:57.208 - info: knx.0 Change state from STATE_NOT_CONNECTED(0) to STATE_OPENING_PORT(1) 2019-03-06 15:29:57.208 - info: knx.0 Event : UDP - listening 2019-03-06 15:29:57.208 - info: knx.0 Change state from STATE_OPENING_PORT(1) to STATE_PORT_OPENED(2) 2019-03-06 15:29:57.208 - info: knx.0 Connected - local UDP Server listening on 192.168.XX.XX:35450 2019-03-06 15:29:57.208 - info: knx.0 Send : UDP Connection Request : 06 10 02 05 00 1a 08 01 c0 a8 4c 19 8a 7a 08 01 c0 a8 4c 19 8a 7a 04 04 02 00 sent to 192.168.XX.XX:3671 2019-03-06 15:29:57.208 - info: knx.0 Change state from STATE_PORT_OPENED(2) to STATE_CONNECT_REQUEST(3) 2019-03-06 15:29:57.210 - info: knx.0 Change state from STATE_CONNECT_REQUEST(3) to STATE_CONNECT_RESPONSE(4) 2019-03-06 15:29:57.210 - info: knx.0 Received CONNECTION_RESPONSE : 06 10 02 06 00 14 01 00 08 01 c0 a8 4c 18 0e 57 04 04 00 00 192.168.XX.XX:3671 - ChannelID: 1 2019-03-06 15:29:57.210 - info: knx.0 Change state from STATE_CONNECT_RESPONSE(4) to STATE_READY(7)

2019-03-06 15:37:57.250 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 171 DPT5.004 2019-03-06 15:37:57.251 - info: knx.0 easy-knx.js groupValueWrite value: 171 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,60,0,17,0,188,224,0,2,27,2,2,0,128,171]} 2019-03-06 15:37:57.251 - info: knx.0 add to Buffer cnt: 15 : 06 10 04 20 00 16 04 01 3c 00 11 00 bc e0 00 02 1b 02 02 00 80 ab queue.length : 0 GA : 3/3/2 2019-03-06 15:37:57.251 - info: knx.0 Change state from STATE_READY(7) to STATE_TUNNELLING_SENDING_DATA(8) 2019-03-06 15:37:57.251 - info: knx.0 ( 1 ) Sending : GroupValueWrite : 06 10 04 20 00 16 04 01 3c 00 11 00 bc e0 00 02 1b 02 02 00 80 ab sent to 192.168.XX.XX:3671 ChID: 1 SeqCntIN : 215 SeqCntOUT : 60 GA : 3/3/2 2019-03-06 15:37:57.251 - info: knx.0 Change state from STATE_TUNNELLING_SENDING_DATA(8) to STATE_TUNNELlING_WAIT_SENT_ACK(9) 2019-03-06 15:37:57.251 - info: knx.0 easy-knx: task.data : 06 10 04 20 00 16 04 01 3c 00 11 00 bc e0 00 02 1b 02 02 00 80 ab byteLen : 22 2019-03-06 15:37:57.251 - info: knx.0 Change state from STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_TUNNELlING_WAIT_SENT_ACK(9) 2019-03-06 15:37:57.251 - info: knx.0 STATE_TUNNELING_WAIT_SENT_ACK : no defined handling for transition from State: STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_TUNNELlING_WAIT_SENT_ACK(9). 2019-03-06 15:38:00.163 - info: knx.0 checkConnectionState 192.168.XX.XX State : true 2019-03-06 15:38:00.163 - info: knx.0 Send : conCheck Connection State Request : 06 10 02 07 00 10 01 00 08 01 c0 a8 4c 19 8a 7a sent to 192.168.XX.XX:3671 2019-03-06 15:38:00.163 - info: knx.0 Change state from STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_CONNECTION_STATE_REQUEST(5) 2019-03-06 15:38:00.163 - info: knx.0 STATE_CONNECTION_STATE_REQUEST : no defined handling for transition from State: STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_CONNECTION_STATE_REQUEST(5). 2019-03-06 15:38:00.165 - info: knx.0 Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 01 15 192.168.XX.XX:3671 ChID : 1 SeqCntIN : 215 SeqCntOUT : 61 msgCode : [object Object] 2019-03-06 15:38:00.165 - info: knx.0 Change state from STATE_CONNECTION_STATE_REQUEST(5) to STATE_CONNECTION_STATE_RESPONSE(6) 2019-03-06 15:38:00.165 - info: knx.0 Change state from STATE_CONNECTION_STATE_RESPONSE(6) to STATE_DISCONNECT_REQUEST(15) 2019-03-06 15:38:00.165 - info: knx.0 STATE_DISCONNECT_REQUEST : no defined handling for transition from State: STATE_CONNECTION_STATE_RESPONSE(6) to STATE_DISCONNECT_REQUEST(15). 2019-03-06 15:38:00.165 - info: knx.0 Change state from STATE_DISCONNECT_REQUEST(15) to STATE_NOT_CONNECTED(0) 2019-03-06 15:38:00.165 - info: knx.0 Connection persists.....closing now 2019-03-06 15:38:00.165 - info: knx.0 ... not able to close connection, because already closed 2019-03-06 15:38:00.165 - info: knx.0 STATE_NOT_CONNECTED : Try to connect / reconnect : STATE_DISCONNECT_REQUEST(15) to STATE_NOT_CONNECTED(0). 2019-03-06 15:38:00.665 - 6,16,4,32,0,22,4,1,0,0,17,0,188,224,0,2,27,2,2,0,128,170 to STATE_NOT_CONNECTED(0) 2019-03-06 15:38:00.665 - info: knx.0 Connection persists.....closing now 2019-03-06 15:38:00.666 - info: knx.0 ... not able to close connection, because already closed 2019-03-06 15:38:00.666 - info: knx.0 STATE_NOT_CONNECTED : Stop connection : STATE_NOT_CONNECTED(0) to STATE_NOT_CONNECTED(0). 2019-03-06 15:38:04.167 - info: knx.0 Using UDP with local IP: 192.168.XX.XX 2019-03-06 15:38:04.167 - 6,16,4,32,0,22,4,1,0,0,17,0,188,224,0,2,27,2,2,0,128,170 to STATE_OPENING_PORT(1) 2019-03-06 15:38:04.167 - info: knx.0 Event : UDP - listening 2019-03-06 15:38:04.167 - info: knx.0 Change state from STATE_OPENING_PORT(1) to STATE_PORT_OPENED(2) 2019-03-06 15:38:04.168 - info: knx.0 Connected - local UDP Server listening on 192.168.XX.XX:50941 2019-03-06 15:38:04.168 - info: knx.0 Send : UDP Connection Request : 06 10 02 05 00 1a 08 01 c0 a8 4c 19 c6 fd 08 01 c0 a8 4c 19 c6 fd 04 04 02 00 sent to 192.168.XX.XX:3671 2019-03-06 15:38:04.168 - info: knx.0 Change state from STATE_PORT_OPENED(2) to STATE_CONNECT_REQUEST(3) 2019-03-06 15:38:04.170 - info: knx.0 Change state from STATE_CONNECT_REQUEST(3) to STATE_CONNECT_RESPONSE(4) 2019-03-06 15:38:04.170 - info: knx.0 Received CONNECTION_RESPONSE : 06 10 02 06 00 14 01 00 08 01 c0 a8 4c 18 0e 57 04 04 00 00 192.168.XX.XX:3671 - ChannelID: 1 2019-03-06 15:38:04.170 - info: knx.0 Change state from STATE_CONNECT_RESPONSE(4) to STATE_READY(7) 2019-03-06 15:38:04.231 - info: knx.0 main.js : tGA.write on Statechange : 3/3/2 P-0442-0_GA-302 typeof val: number 170 DPT5.004 2019-03-06 15:38:04.231 - info: knx.0 easy-knx.js groupValueWrite value: 170 dpt : DPT5.004{"type":"Buffer","data":[6,16,4,32,0,22,4,1,0,0,17,0,188,224,0,2,27,2,2,0,128,170]} 2019-03-06 15:38:04.231 - info: knx.0 add to Buffer cnt: 16 : 06 10 04 20 00 16 04 01 00 00 11 00 bc e0 00 02 1b 02 02 00 80 aa queue.length : 0 GA : 3/3/2 2019-03-06 15:38:04.231 - info: knx.0 Change state from STATE_READY(7) to STATE_TUNNELLING_SENDING_DATA(8) 2019-03-06 15:38:04.231 - info: knx.0 ( 1 ) Sending : GroupValueWrite : 06 10 04 20 00 16 04 01 00 00 11 00 bc e0 00 02 1b 02 02 00 80 aa sent to 192.168.XX.XX:3671 ChID: 1 SeqCntIN : 0 SeqCntOUT : 0 GA : 3/3/2 2019-03-06 15:38:04.231 - info: knx.0 Change state from STATE_TUNNELLING_SENDING_DATA(8) to STATE_TUNNELlING_WAIT_SENT_ACK(9) 2019-03-06 15:38:04.231 - info: knx.0 easy-knx: task.data : 06 10 04 20 00 16 04 01 00 00 11 00 bc e0 00 02 1b 02 02 00 80 aa byteLen : 22 2019-03-06 15:38:04.231 - info: knx.0 Change state from STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_TUNNELlING_WAIT_SENT_ACK(9) 2019-03-06 15:38:04.231 - info: knx.0 STATE_TUNNELING_WAIT_SENT_ACK : no defined handling for transition from State: STATE_TUNNELlING_WAIT_SENT_ACK(9) to STATE_TUNNELlING_WAIT_SENT_ACK(9).

BlackBird77 commented 5 years ago

Erstmal ein paar Bilder zu dem was ich hier unter smarthome.py am laufen habe und jetzt versuche mit ioBroker abzubilden.

2019-03-06_22h29_02 2019-03-06_22h29_19 2019-03-06_22h31_23

Ich habe nochmal ein wenig weiter gesucht. Dabei ist mir aufgefallen, das iobroker mit dem owfs Adapter auf meinem Raspi etliche owserver Prozesse generiert. :(

Da sollen eigentlich nur 15 1-Wire Sensoren ausgelesen werden. Mit meinem altem Backend und ebenfalls angepasstem 1-Wire Treiber zur Synchronen Messung, der 15 Temperaturen, habe ich keine Probleme und auch fast keine Last auf dem RasPi. Obwohl ich die Sensoren jede Sekunde für den PID Regler des Mischers abfrage.

Trotzdem denke ich das die Anpassung mit dem Reconnect sinnvoll ist. Evtl. hilft es auch bei anderen ähnlichen Problemen(wenn ein Channel von eibd geschlossen wird), das der KNX Adapter nicht hängen bleibt. Ich werde jetzt erstmal schauen ob ich den iobroker owfs Adapter anpasse und dann weitere Tests starten.

Ob der Sourcecode zum KNX Adapter irgendwo öffentlich ist, würde mich aber für weitere Tests schon interessieren? Geht die Reconnect Änderung dann mit in die nächste Version vom KNX Adapter?

BlackBird77 commented 5 years ago

So nochmal ein Status,... Die letzten Tage keine Disconnnects / Reconnects mehr. Es scheint so, als ob tatsächlich die Last von den vielen 1-wire owserver Prozessen. Timeouts im eibd verursacht hat, so das vom eibd Channels beendet wurden!

Der KNX Adapter konnte sich vor dem FIX aber nicht aus diesem Zustand befreien und blieb hängen. Daher denke ich, das diese Änderung unbedingt in das nächste Release mit aufgenommen werden sollte.

Alle Prozesse laufen jetzt trotzdem auf meinem Alten System. Also die 1-Wire Sensoren und auch der Mischer werden angesteuert, so das die Anzahl der KNX Frames auf dem Bus auch nicht weniger ist, nur sieht der Iobroker KNX Adapter den Traffic jetzt Hauptsächlich lesend.

Mein Gateway ist auch noch ein RasPi 1 so das der auch nicht viel Dampf hat. Die CPU last und RAM waren aber nie über 50%, Das 1-Wire Gateway und der TPUART laufen aber über den gleichen i2c bus und ich denke da war der Flaschenhals!

Ich werde die nächsten Wochen den owfs Adapter anpassen, damit der weniger Ressourcen für das auslesen der 15 Sensoren frisst! Mit einem alten Code ging es ja auch.

Soll ich das Ticket offen lassen oder schließen? Bin jetzt absolut Happy mit dem KNX Adapter!!!

Danke!

chefkoch009 commented 5 years ago

Super...vielen Dank für das Feedback und die Resultate / Erkenntnisse deiner Fehlersuche. Wenn der Fall damit erledigt ist, dann schließe ich ihn hiermit.

SegaPro79 commented 1 year ago

Hallo zusammen,

ich habe seit einigen Wochen das gleiche Problem. Seltsamerweise ist es so, dass die Werte noch gelesen werden können. Also die Termeraturen der Räume, Stellwerte, Status von diversen Komponenten... all das kommt zuverlässig an. Was aber nicht mehr geht ist, dass ich Werte schreibe. Also der Versuch, ein Licht zu schalten oder ein Rollo zu fahren schlägt dann fehl. Laut Log wird der Befehl gesendet, aber offensichtlich kommt der nicht an?

Hier mal ein Auszug aus dem Logfile:

`

knx.0 | 2023-05-10 23:46:24.243 | info | Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 49 00 192.168.1.130:3671 ChID : 73 SeqCntIN : 232 SeqCntOUT : 175 msgCode : [object Object] -- | -- | -- | -- knx.0 | 2023-05-10 23:46:24.243 | info | Send : UDP Connection State Request : 06 10 02 07 00 10 49 00 08 01 00 00 00 00 d6 6c sent from Port: to 192.168.1.130:3671 knx.0 | 2023-05-10 23:46:22.241 | info | Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 49 00 192.168.1.130:3671 ChID : 73 SeqCntIN : 232 SeqCntOUT : 175 msgCode : [object Object] knx.0 | 2023-05-10 23:46:22.240 | info | Send : UDP Connection State Request : 06 10 02 07 00 10 49 00 08 01 00 00 00 00 d6 6c sent from Port: to 192.168.1.130:3671 knx.0 | 2023-05-10 23:46:20.239 | info | Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 49 00 192.168.1.130:3671 ChID : 73 SeqCntIN : 232 SeqCntOUT : 175 msgCode : [object Object] knx.0 | 2023-05-10 23:46:20.239 | info | Send : UDP Connection State Request : 06 10 02 07 00 10 49 00 08 01 00 00 00 00 d6 6c sent from Port: to 192.168.1.130:3671 knx.0 | 2023-05-10 23:46:18.237 | info | Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 49 00 192.168.1.130:3671 ChID : 73 SeqCntIN : 232 SeqCntOUT : 175 msgCode : [object Object] knx.0 | 2023-05-10 23:46:18.236 | info | Send : UDP Connection State Request : 06 10 02 07 00 10 49 00 08 01 00 00 00 00 d6 6c sent from Port: to 192.168.1.130:3671 knx.0 | 2023-05-10 23:46:16.236 | info | ( 4.b ) return to STATE_READY, processing : false knx.0 | 2023-05-10 23:46:16.236 | info | ( 4 ) Sending Tunnel_Request ACK : 06 10 04 21 00 0a 04 49 e8 00 ChID : 73 SeqCntIN : 232 SeqCntOUT : 175 queue length : 0 knx.0 | 2023-05-10 23:46:16.235 | info | =====> STATE_TUNNELING_ACK knx.0 | 2023-05-10 23:46:16.235 | info | WRITE : mappedName : Sollwert schreiben Kind Süd dest : 13/1/17 val: 21 (DPT9.001) Sollwert_schreiben_Kind_Süd knx.0 | 2023-05-10 23:46:16.235 | info | ( 3.2 ) Received TUNNEL_REQUEST (WRITE - send ACK ) : 06 10 04 20 00 17 04 49 e8 00 29 00 bc e0 11 33 69 11 03 00 80 0c 1a ChID: 73 knx.0 | 2023-05-10 23:46:16.196 | info | ( 4.b ) return to STATE_READY, processing : false knx.0 | 2023-05-10 23:46:16.196 | info | ( 4 ) Sending Tunnel_Request ACK : 06 10 04 21 00 0a 04 49 e7 00 ChID : 73 SeqCntIN : 231 SeqCntOUT : 175 queue length : 0 knx.0 | 2023-05-10 23:46:16.195 | info | =====> STATE_TUNNELING_ACK newState: deferred knx.0 | 2023-05-10 23:46:16.195 | info | WRITE : mappedName : Sollwert Kind Süd dest : 13/1/7 val: 16 (DPT9.001) Sollwert_Kind_Süd knx.0 | 2023-05-10 23:46:16.195 | info | ( 3.2 ) Received TUNNEL_REQUEST (WRITE - send ACK ) : 06 10 04 20 00 17 04 49 e7 00 29 00 bc e0 11 33 69 07 03 00 80 06 40 ChID: 73 knx.0 | 2023-05-10 23:46:15.537 | info | easy-knx: task.data : 06 10 04 20 00 15 04 49 ae 00 11 00 bc e0 11 37 08 09 01 00 80 byteLen : 21 knx.0 | 2023-05-10 23:46:15.536 | info | BINARY CHANGE change from 0 to 0 knx.0 | 2023-05-10 23:46:15.536 | info | ( 1 ) Sending : GroupValueWrite : 06 10 04 20 00 15 04 49 ae 00 11 00 bc e0 11 37 08 09 01 00 80 sent to 192.168.1.130:3671 ChID: 73 SeqCntIN : 230 SeqCntOUT : 174 GA : 1/0/9 conCheck.conected : true knx.0 | 2023-05-10 23:46:15.536 | info | easy-knx.js groupValueWrite value: 0 dpt : DPT1.001{"type":"Buffer","data":[6,16,4,32,0,21,4,73,174,0,17,0,188,224,17,55,8,9,1,0,128]} knx.0 | 2023-05-10 23:46:15.535 | info | main.js : tGA.write on Statechange : 1/0/9 P-0503-0_GA-280 typeof val: number 0 DPT1.001 knx.0 | 2023-05-10 23:46:15.236 | info | ( 4.b ) return to STATE_READY, processing : false knx.0 | 2023-05-10 23:46:15.236 | info | ( 4 ) Sending Tunnel_Request ACK : 06 10 04 21 00 0a 04 49 e6 00 ChID : 73 SeqCntIN : 230 SeqCntOUT : 174 queue length : 0 knx.0 | 2023-05-10 23:46:15.236 | info | =====> STATE_TUNNELING_ACK knx.0 | 2023-05-10 23:46:15.235 | info | WRITE : mappedName : Sollwert schreiben Kind Nord dest : 13/1/16 val: 21 (DPT9.001) Sollwert_schreiben_Kind_Nord knx.0 | 2023-05-10 23:46:15.235 | info | ( 3.2 ) Received TUNNEL_REQUEST (WRITE - send ACK ) : 06 10 04 20 00 17 04 49 e6 00 29 00 bc e0 11 33 69 10 03 00 80 0c 1a ChID: 73 knx.0 | 2023-05-10 23:46:15.196 | info | ( 4.b ) return to STATE_READY, processing : false knx.0 | 2023-05-10 23:46:15.196 | info | ( 4 ) Sending Tunnel_Request ACK : 06 10 04 21 00 0a 04 49 e5 00 ChID : 73 SeqCntIN : 229 SeqCntOUT : 174 queue length : 0 knx.0 | 2023-05-10 23:46:15.196 | info | =====> STATE_TUNNELING_ACK knx.0 | 2023-05-10 23:46:15.195 | info | WRITE : mappedName : Sollwert Kind Nord dest : 13/1/6 val: 21 (DPT9.001) Sollwert_Kind_Nord knx.0 | 2023-05-10 23:46:15.195 | info | ( 3.2 ) Received TUNNEL_REQUEST (WRITE - send ACK ) : 06 10 04 20 00 17 04 49 e5 00 29 00 bc e0 11 33 69 06 03 00 80 0c 1a ChID: 73 knx.0 | 2023-05-10 23:46:14.009 | info | Received CONNECTIONSTATE_RESPONSE : 06 10 02 08 00 08 49 00 192.168.1.130:3671 ChID : 73 SeqCntIN : 228 SeqCntOUT : 174 msgCode : [object Object] knx.0 | 2023-05-10 23:46:14.008 | info | STATE_CONNECTION_STATE_REQUEST : no defined handling for transition from State: STATE_TUNNELLING_WAIT_SENT_ACK(9) to STATE_CONNECTION_STATE_REQUEST(5). knx.0 | 2023-05-10 23:46:14.008 | info | Send : UDP Connection State Request : 06 10 02 07 00 10 49 00 08 01 00 00 00 00 d6 6c sent from Port: to 192.168.1.130:3671

`

Nach einem Neustart der KNX-Instanz läuft dann alles wieder. Das Problem tritt sporadisch auf. Manchmal läuft es ein paar Tage stabil, manchmal muss ich die Instanz jeden Tag oder zwei Mal am Tag restarten.

Hat jemand eine Idee? Ich werde bald wahnsinnig, denn ein unzuverlässiger KNX-Bus ist wirklich die Hölle, wie ich feststellen musste. Komme manchmal mit dem Auto nach Hause und bekomme die Garage nicht geöffnet.. um nur mal ein kleines Beispiel zu nennen. Hab schon hin und her probiert. Adapter neu installiert, Updates gemacht. Das alles brachte keine Besserung und langsam bin ich wirklich verzweifelt.

Viele Grüße

chefkoch009 commented 1 year ago

Welche Adapterversion, welche Node-Version sind installiert? Bitte die Version 2.0.18 Testen.

SegaPro79 commented 1 year ago

Hi,

Node.js v18.16.0

Adapter: 2.0.18

Zuvor hatte ich das Problem auch mit der 2.0.17 - ich hatte gehofft, dass die neue Version den Fehler beseitigt, war aber leider nicht so.