* Mqtt Notify service draft
* fix updates
* Remove TARGET config parameter
* do not use protected attributes
* complete tests
* device support for auto discovery
* Add targets attribute and support for data param
* Add tests and resolve naming issues
* CONF_COMMAND_TEMPLATE from .const
* Use mqtt as default service name
* make sure service has a unique name
* pylint error
* fix type error
* Conditional device removal and test
* Improve tests
* update description has_notify_services()
* Use TypedDict for service config
* casting- fix discovery - hass.data
* cleanup
* move MqttNotificationConfig after the schemas
* fix has_notify_services
* do not test log for reg update
* Improve casting types
* Simplify obtaining the device_id
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* await not needed
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Improve casting types and naming
* cleanup_device_registry signature change and black
* remove not needed condition
Co-authored-by: Erik Montnemery <erik@montnemery.com>
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.
* New mqtt humidifier platform
* Add humidifier platform
* Leave out humidity step
* Use humidity in constant for payload reset
* change TARGET_HUMIDITY_RESET payload name
* _attr_max_humidity not assigned correctly
* _target_humidity_range has a zero base
* align CONF_TARGET_HUMIDITY_MIN and MAX with model
* shorter topics for humidity_range
* Converts float to int from template
* new humidifier abbreviations
* Add common module to support tests
* Add tests
* Addtional testing
* Always require target_humidity_command_topic
* Typo
* use available_modes to align entity model
* use avail_modes not modes to avoid conflict
* typo target_humidity_value_template
* Allign modes and templates with climate platform
* mode_state_template
* target_humidity_state_template
* Typo in platform name
* Remove humidity_range feature and common lib
* Update homeassistant/components/mqtt/humidifier.py
Use vol.In, not regex
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* black
* Update homeassistant/components/mqtt/humidifier.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Use round to convert float to target humidity
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Mqtt fan resetting speed percentage or preset_mode
* tests reset payload is working with val templates
* Remove duplicate line for CONF_PAYLOAD_HIGH_SPEED
* git push --all origin
* Fix percentage to ordered list conversion
* Tests for mqtt fan and fixes
* Improve tests and error handling base config
* Additional tests
* Tests completed, small fixes
* Allow preset mode and percentages combined
* Remove raise in setup and update tests
* Alignment with fan entity mode
* Fix pylint for len-as-condition
* Remove python binary cache file from PR
* Additional tests on async_turn_on and fix
* Added comments for deprecation of speeds
* Schema checks before init
* Optimize pre schema checks
* Correct schema checks
* Update homeassistant/components/mqtt/abbreviations.py
Comment speeds for mqtt fan are deprecated not needed here
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Comment speeds for mqtt fan are deprecated not needed here
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Comment speeds for mqtt fan are deprecated not needed here
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Comment speeds for mqtt fan are deprecated not needed here
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Comment speeds for mqtt fan are deprecated not needed here
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Warnings for exceptions - testing speed_range
* Update homeassistant/components/mqtt/abbreviations.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
* Save with black
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add suggested_area to MQTT Discovery
This adds suggested_area to MQTT discovery, so that the discovered devices could be automatically added to the proper area.
* Add abbreviation for MQTT suggested_area
* Remove extra whitespace
* Remove extra whitespace #2
* Added tests for MQTT Dicovery of suggested_area
* Fix test for MQTT suggested_area
* Better tests of MQTT suggested_area
Changes made as per feedback from @emontnemery
* Enhance MQTT cover platform
Allow combining of position and state of MQTT cover
Add template and fix optimistic in set tilt position
Add tests
* Add abbreviations
* Add tests and stopped state
* Cleanup & fix range for templates
* Apply suggestions from code review
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Support multiple MQTT availability topics
* Make availability list and availability_topic exclusive
* Make availability list and availability_topic exclusive
* Add missing abbreviation
* 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 support for MQTT device triggers
* Fix test, tweaks
* Improve test coverage
* Address review comments, improve tests
* Tidy up exception handling
* Fix abbreviations
* Rewrite to handle update of attached triggers
* Update abbreviation test
* Refactor according to review comments
* Refactor according to review comments
* Improve trigger removal
* Further refactoring
* Added support for the opening and closing states to MQTT covers
* Processed PR feedback on MQTT cover changes
* Add missing MQTT abbreviation to fix failing tests
* Fixed typo in MQTT abbreviations
* Added mqtt set cover position optimistic test
* Update lock.py
Allow different command and state topic + different command and state values.
* Formatting updated after black run
* TC updated to reflect different state & cmd values
* Abbreviations for lock states added
* additional non-default state test
* whitespaces fixed
* black formatting run
* add ability for MQTT device tracker to map nondefault topic payloads to zones
* update new parameter name and add abbreviation
* support for payload_home, payload_not_home, and payload_custom
* use constants STATE_NOT_HOME and STATE_HOME as defaults
* reference state constants directly
* add empty dict as default for payload_custom
* change parameter name for custom mapping of payloads to non-home zones to be more descriptive
* removed 'payload_other_zones' per ballobs review
* remove abbreviation for 'payload_other_zones'
* add tests for feature
* Add missing abbreviations
* Move abbreviations to own file, add script to find missing abbreviations
* Move check from script to test case
* Lint
* Rewrite to use pathlib
* Lint