* Do not write old state sharing availability topic
* Add a test
* Support for all availability topics
* delay async_write_ha_state till last callback
* Process write req after processing callback jobs
* Do not count subscription callbacks
* Simplify
* Stale docsting
* No topic needed for delays state write
* No need to clear when reloading
* Move test to test_mixins.py
* Only set up sensor platform for test
* Ensure config schema validation
* Use correct schema for device_tracker
* Remove schema validation from the platform setup
* Remove loop to build schema
* add MqttValueTemplate class
* support variables at initiation
* pass MqttEntity instead of hass
* Use MqttValueTemplace class for value templates
* make hass en enitity parameters conditional
* remove unused property and remove None assignment
* rename self._attr_value_template
* Add entity variables to MqttCommandTemplate
* missing command template update
* make hass and entity conditional parameters
* Add encoding support for publishing
* Revert "Add encoding support for publishing"
This reverts commit b69b9c60ec.
* encoding support for mqtt publishing - todo tests
* signature allows None values for qos and retain
* common test for mqtt publishing encoding
* better test with command templates
* more tests
* fix tests alarm control panel+tests light basic
* tests light json and template
* add tests vacuum and fix tests light_template
* Add basic type hints to mqtt
* Add hints to async_setup_platform
* Add type hint to async_setup_entry
* Fix pylint
* Set correct argument order in climate entity
Co-authored-by: epenet <epenet@users.noreply.github.com>
* correctly publish mqtt ouput
* Additional tests
* Add template test with binary output
* render_outgoing_payload with command templates
* use MqttCommandTemplate helper class
* add tests command_template
* Additional tests
* support pass-through for MqttComandTemplate
* fix bugs
* unify workform always initiate with hass
* clean up
* remove not needed lines
* comment not adding value
When configuring an Alarm Control Panel through MQTT discovery, it
was not possible to use the trigger service. This fixes that by making
it available the same way as ARM and DISARM services are.
* hoist common MqttEntity properties
* remove default name for MqttEntity
Default naming is sensible enough
* disable overriding common MqttEntity schema
* merge common MqttEntity schemas into MQTT_ENTITY_COMMON_SCHEMA
* Use global CONF_UNIQUE_ID for mqtt
* Update __init__.py
* Update __init__.py
* Update __init__.py
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
* MQTT Alarm Control Panel to have all available states
* MQTT Alarm Control Panel to have all available states
* test_arm_custom_bypass_* tests added
* MQTT payload_arm_custom_bypass abbreviation
* Add supported_features to Alarm Control Panel
* mark supported_features abstract
* Add SF to async_register_entity_service
* fix test
* Add missing SF SUPPORT_ALARM_ARM_CUSTOM_BYPASS
* isort
* fix async_register_entity_service
* Update alarm_control_panel.py