* Add Mqtt WebSockets support
* Fix tests
* Add testing websockets options
* Add tests transport settings
* Do not use templates for ws_headers
* Use json helper - small corrections
* Improve type hints schema json
* Add hint for brightness
* Follow up comments
* Follow up missed comments
* Correct hint on flash arg
* hints on one line
* Improve type hints light base
* improve type hints light schema basic
* Improve type hints light schema json
* Use MQTT Template models with light template
* Addtional type hints for template light
* Improve template hints for schema template
* Use strict type hints for templates
* MyPy corrections
* Follow up comments
* Follow up comments
* Revert changes schema_json
* Revert changes schema template
* Hints setup_entity_json and setup_entity_template
* Remove type hint on setup_entity JSON
* Improve type hints vacuum __init__ and schema
* Improve type hints and refactor templates legacy
* Improve type hints state vacuum
* Add hint for template parameters
* Apply suggestions from code review
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Some corrections
* Remove stale constant
* Use bitwise and
* Follow-up comment
* Remove incorrect type hint
* Remove asserts
* Cleanup asserts and reduce code
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
fix: late-import MQTTMessage
`paho-mqtt` is not listed in main requirements and is imported early by `conftest`.
Import it late to avoid an ImportError.
Split out from #81678.
* Improve typing siren
* Improve typing switch
* Set siren type hints at class level
* Set switch type hints at class level
* Follow up comment
* Improve hints on siren templates
* Another cleanup for siren
* Follow up comment
* Follow up comment
* Improve typing humidifier
* Improve typing lock
* Improve typing number
* Set humidifier type hints at class level
* Set lock type hints at class level
* Set number type hints at class level
* Some small updates
* Follow up comment
* Remove assert
* Improve typing debug_info
* Improve typing device_automation
* Improve typing device_trigger
* Improve typing fan
* Additional type hints device_trigger
* Set fan type hints to class level
* Cleanup and mypy
* Follow up and missed hint
* Follow up comment