Branch p9 (add async_will_remove_from_hass() to do cleanup).
Waiting on active PR before submitting this PR.
Current implementation do not cleanup tasks/timers for entities, when the integration is stopped/reloaded, depending on the time this can lead to "unavailable" being set for an otherwise ok entity (In case the connection is closed, when the entity is updated).
This PR ensures that all entities cancels all ongoing activities when being stopped (not the same as being disabled).