I wanted to find out why my Insteon Hub is generating so much LAN traffic, and it turns out that the Insteon integration is requesting an update from the hub 10 times a second. I understand wanting the integration to be responsive, but this seems excessive. Would it be possible to make this refresh rate configurable?
The Insteon integration polls the Hub twice per second in order to not miss updates to devices or confirmation messages. This has been substantially tested to provide the best experience with the Hub. I am not sure why it appears the polling rate is 10x per second.
Thanks for following up. Below is a screenshot from Wireshark of the requests from Home Assistant to the hub; as you can see, there were 20 in the span of 2 seconds.
As you can see below, each request is responded to and the connection is closed, before another is made 0.1 seconds later.
I talked to a friend who is a network expert and he explained that the hub’s behaviour is unusual. If you look at packets 7-11 above:
- The hub sent the requested data (200 OK).
- The server acknowledged receipt of the data and requested to the close the connection (FIN ACK).
- The hub responded with just ACK instead of FIN ACK, keeping the connection open on the server.
- The server responded with ACK, keeping the connection open.
- The hub responded with RST as if packet 10 was unexpected.
It seems like the RST packet from the hub is triggering a recurring retry.
The 0.1 second pause is found at the line below: