* Add a new optional "data" key when defining time ranges for the schedule component that exposes the provided data in the state attributes of the schedule entity when that time range is active
* Exclude all schedule entry custom data attributes from the recorder (with tests)
* Fix setting schedule attributes to exclude from recorder, update test to verify the attributes exist but are not recorded
* Fix test to ensure schedule data attributes are not recorded
* Use vol.Any in place of vol.Or
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Remove schedule block custom data shorthand
as requested in https://github.com/home-assistant/core/pull/116585#pullrequestreview-2280260436
* Update homeassistant/components/schedule/__init__.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Move definition of attributes excluded from history to entity classes
* Revert change which should be in a follow-up PR
* Fix sun unrecorded attributes
* Fix input_select unrecorded attributes
* Support marking an assist pipeline as preferred
* Adjust
* Revert unneeded change
* Send preferred pipeline id in pipeline list
* Don't use property functions for the preferred pipeline
* Time range should be treated as open end
* Refactored the logic of calculating the state
* Improve tests
* Improve tests
Co-authored-by: Erik <erik@montnemery.com>