* Convert template lock to use async_track_template_result
* Convert template switch to use async_track_template_result
* Convert template fan to use async_track_template_result
* Convert template binary_sensor to use async_track_template_result
Co-Authored-By: Penny Wood <Swamp-Ig@users.noreply.github.com>
* Convert template cover to use async_track_template_result
* Convert template light to use async_track_template_result
* Convert template vacuum to use async_track_template_result
Co-authored-by: Penny Wood <Swamp-Ig@users.noreply.github.com>
* Added availability_template to Template Vacuum platform
* Added to test for invalid values in availability_template
* Updated AVAILABILITY_TEMPLATE Rendering error
* Moved const to package Const.py
* Removed 'Magic' string
* Cleaned up const and compare lowercase result to 'true'
* reverted _available back to boolean
* Fixed tests (async, magic values and state checks)
* Add template vacuum component
* Fix linting issues
* Make vacuum state optional
* Fix pylint issues
* Add context to template vacuum service calls
* Added tests to template vacuum
* Fix indent
* Fix docstrings
* Move files for new component folder structure
* Revert additions for template_vacuum tests to common.py
* Use existing constants for template vacuum config
* Handle invalid templates
* Add tests for unused services
* Add test for invalid templates
* Fix line too long
* Do not start template change tracking in case of MATCH_ALL
* Resolve review comments