iobroker-community-adapters / ioBroker.openknx

free KNX Adapter for ioBroker
GNU General Public License v3.0
31 stars 4 forks source link

Connection slow after restart #419

Closed cdaerr closed 6 months ago

cdaerr commented 11 months ago

After restart of the host computer the connection to KNX interface seems to be "slow". Messeages are sent with delay to the KNX bus. I tried to turn on and off a light (Licht Essen Schrank):

grafik

When looking to ETS I saw that the command was send with delay of several seconds. After restart of instance everything went fine again.

To Reproduce
Steps to reproduce the behavior:

  1. Restart host system
  2. Send command to KNX actor
  3. Reaction is delayed

Versions:

cdaerr commented 11 months ago

After last restart (reason was an image backup) I got the following errors: grafik

And after restarting the instance it works well

boellner commented 10 months ago

after reset the adapter fetches a lot of ga values to be in sync. You can disable the feature, slow it down in the settings or disable it per ga. Does this explain your behavior?

xmace commented 10 months ago

Same here! Issue is reproducable After importing new xml the adapter restarts and requests a lot of values but this is not the issue. The delay with the above mentionen warnings still exist after 1h until you manually just restart the adapter.

If necessary, remote session for debugging is possible.

cdaerr commented 10 months ago

The autoread of objects after startup is necessary to fetch up changes on KNX during iobroker/Adapter off time. I think this is necessary. And I don't think that this is the problem, because the fetch of ga values does not get in trouble every time. Mostly it happens at reboot of the complete host. If I restart the KNX Adapter again after the other adapters are working, it seems to have less problems with the fetching.

boellner commented 10 months ago

-Is it always the same GA that causes the issue? -How is the IOB object json of that GA looking like?

Workaround could be to delete the whole object tree and do a fresh import. In order to understand the problem, could you provide me some of your data -either your complete object tree -or nail it down by deleting unrelated objects, check if the error persists and give me an extract of this

cdaerr commented 10 months ago

I don't think that is caused by a special GA. For me it looks like a connection issue.

Last week I updated the adapter to v0.6.3. It seems that the behavoir has changed: The new busload objects stays at 0% when the issue occures. A reset of the adapter seems to be unsufficient for successful reconnection. It has to be paused for some minutes, than a new connection is successful.

Is it possible that the adapter has problems reconnecting to the same tunneling channel?

Providing more detaild information is possible, but not over a public forum.

boellner commented 10 months ago

@cdaerr please send a mail to boellnerboellner@gmail.com

boellner commented 9 months ago

-In what environment do you run iobroker? Can you please change logging mode to at least debug and report output here? -What KNX Ethernet Interface do you use? -Is it correct that you had no bus activity for 2mins when the error happened? Please try to reproduce the issue with this scenario and report back.

I cannot reproduce the issue on linux server pc and raspberry. I can reproduce a similar behavior when halting the applcation for long time in my docker environment. -> I'm adding more info log messages in case of connection problems -> I'm going to add some stability fixes in to the socket connection sections

cdaerr commented 7 months ago

After update to 0.7.2, I had much error messages:

jHejFU7TsuQCsPWF

Only stop instance for short time and start again solved the problem.

boellner commented 7 months ago

fixed with this pr https://github.com/iobroker-community-adapters/ioBroker.openknx/pull/459

cdaerr commented 4 months ago

The issue occured with 0.9.0 again. After restart a hugh delay of several seconds occured when sending commands to KNX. An Adapter restart was needed to get good behaviour.