* Add jammed state support for MQTT lock
* Correct payload jammed key
* Add tests - rename solved to ok
* Rename jammed state and template topics to motor
* Use state topic for handling motor state
* Follow up comments
* Change default behaviour `state_unjammed`
* Skip `state_unjammed`
* Implement locking, unlocking and jammed on MQTT lock
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
* Add tests
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
* Refactor condition
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
* Parametrize tests
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
* Manage only locking and unlocking
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
* Remove jammed from abbreviations
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* set valid states in self._valid_states
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* 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
* 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
* 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>
* 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>