I had some issues running this integration with DHI-VTO3311Q-WP. After some time, the integration stopped working and I had to restart homeassistant to fix it.
After some debugging, it turns out that asyncio does not forward the entire message to the data_received function if the message is too large. In turn this sometimes messes up the future messages and the integration stops working. To remedy that, I added a buffer to the data_received function.
During debugging I also noticed that data_handlers is growing due to keep_alive handlers being added constantly. To fix that I added code to remove the handler after response from keep-alive has been received. I don't think this has anything to do with the above issue, however I still think it should be fixed.
And for the last change - I added DHI-VTO3311Q-WP to the list of supported devices, since I had no further issues running the integration with the above fixes.
I had some issues running this integration with DHI-VTO3311Q-WP. After some time, the integration stopped working and I had to restart homeassistant to fix it.
After some debugging, it turns out that asyncio does not forward the entire message to the data_received function if the message is too large. In turn this sometimes messes up the future messages and the integration stops working. To remedy that, I added a buffer to the data_received function.
During debugging I also noticed that data_handlers is growing due to keep_alive handlers being added constantly. To fix that I added code to remove the handler after response from keep-alive has been received. I don't think this has anything to do with the above issue, however I still think it should be fixed.
And for the last change - I added DHI-VTO3311Q-WP to the list of supported devices, since I had no further issues running the integration with the above fixes.