* Add calendar platform
* Add tests
* add missing reminders filter by date
* Add +1 day to todo end
* add 1 day to dailies, remove unused line of code
* Removing reminders calendar to a separate PR
* fix upcoming event for dailies
* util function for rrule string
* Add test for get_recurrence_rule
* use habitica daystart and account for isDue flag
* yesterdaily is still an active event
* Fix yesterdailies and add attribute
* Update snapshot
* Use iter, return attribute with None value
* various changes
* update snapshot
* fix merge error
* update snapshot
* change date range filtering for todos
* use datetimes instead of date in async_get_events
* Sort events
* Update snapshot
* add method for todos
* filter for upcoming events
* dailies
* refactor todos
* update dailies logic
* dedent loops
* Adjustments to requests and update interval due to rate limiting
* Use debounced refresh for to-do lists
* Use debounced refresh in switch and buttons
* Request refresh only if a to-do was changed
* Update task order provisionally in the coordinator
* Sensor refactoring
* Change todo entities to use common base entity
* Requested changes
* Update button platform to use base class
* Update swtich platform to use base entity class
* Add todo platform
* update for DataUpdateCoordinator
* set lastCron as dailies due date
* parse alternative duedate format
* fix tests
* send notification on item drop
* fix drop message
* update exception messages
* Simplified the update of user_fields by using set union
* move userFields to const
* Issue deprecation only if entity is acutally used
* Resolve issues
* user entity registry to get entity_id
* raise ServiceValidationError
* requested changes
* Move next_due_date helper function to util.py module
* some changes
* Move function to util.py