VTO buffer and keepalive fix #301
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.