I encountered the following problem: there is a TCP gateway through which 4 devices are connected to OpenHAB (4 slaves, 9600bps, star topology with twisted pair, distance of a few meters). Everything works fine, but if one device is physically disconnected from the power outlet, all other devices start experiencing significant delays (up to 5 seconds!). It seems like some internal queue is getting overloaded. When the device is plugged back in, the situation normalizes after a few minutes. I understand that all pollers are running in a single thread. Is it possible to change this so that one device does not affect the others?
You can use different intervals for pollers but to be frank you need to fix your hardware problem, not openHAB.
Star topology on the electric layer, really ? It’s a bus and only works as such.
You must not make a star of it.
I didn’t phrase it very clearly regarding the star; I had two branches from the master in the form of buses. I was conducting experiments—leaving only two devices, unplugging one of them, and I got the same effect. I also tried switching the gateway to a different model. It seems like problems with connecting to one slave are blocking/delaying communication with all the others in that connection. I’m aware of the polling intervals; I’ve now increased them to 5 seconds, but the problem still exists, although it disappears when all the slaves are online.
Set retry count to 0 or 1 to let fail poller. Given that your slave nodes occupy same physical connection retry will block line, effectively deferring querying of other nodes.