* Add MQTT humidifier unknown state support
* Update homeassistant/components/mqtt/humidifier.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fix tests for changed default optimistic state
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add Mqtt Fan unknown state support
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Adjust default state in tests
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Mqtt switch allow unkown state
* correct type
* Update discovery tests
* Optimistic mode if not state_topic is configured.
* Default state UNKNOWN in optimistic mode
* fix discovery test
* Cleanup sensor expire triggers after reload
* fix test binary_sensor
* Also trigger cleanup parent classes
* Restore an expiring state after a reload
* correct discovery_update
* restore expiring state with remaining time
* Update homeassistant/components/mqtt/binary_sensor.py
description
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Log remaining time
* Move check
* check and tests reload
* remove self.async_write_ha_state()
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Drop last_reset attribute for non 'total' sensors
* Adjust MQTT tests
* Add exception for utility_meter
* Rewrite exception for utility_meter
* Add comment in utility_meter
* Tweak comment
* 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
* 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.
* Only accept valid hvac actions sent via mqtt
* Only accept valid hvac actions sent via mqtt
* Fix existing action test and remove old one
* Remote None as valid hvac action being accepted
* Change loglevel of wrong hvac action received
* Add support for entity categories to MQTT entities
* Improve test
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Paul Monigatti <paulmonigatti@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paul Monigatti <paulmonigatti@users.noreply.github.com>
* replace base in availability topic
* add tests for availability shortcuts - fix import
* group constants
* simplified loop
* Moving constants to .const
* rename value to topic
* move CONF_TOPIC to .const
* move CONF_AVAILABILITY to .const
* remove check for string
* Silently ignore if no config topic is found.
* CONF_TOPIC should be required
* Convert persistent notification tests to async
* Create/dismiss persistent notifications in exposed functions, not service calls
* Fix notify persistent_notification
* Remove setting up persistent_notification
* Drop more setups
* Empty methods
* Undeprecate sync methods because too big task
* Fix setup clearing notifications
* Fix a bunch of tests
* Fix more tests
* Uno mas
* Test persistent notification events
* Clean up stale comment
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Make automation trigger info a TypedDict
* zwave_js trigger type hint fixes
* Remove redundant automation trigger info field presence checks
* Use async_initialize_triggers in mqtt and tasmota device_trigger tests
* 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
* flake 8
* Implement feedback from PR
* update warning message
* added and updated tests
* remove _has_tilt_topic variable
* flake 8
* Implement feedback from PR
* update warning message
* added and updated tests
* remove _has_tilt_topic variable
* renamed _tilt_message_received to _tilt_payload_received
* merged with latesed upstream/dev
* converted if to try except for type check
* Implemented the suggestions of @emontnemery
* Tweak tests
* logger info to debug
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* cast tilt payload as int; combine exceptions to one line
* Add test for JSONDecodeError
* Update homeassistant/components/mqtt/cover.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* Allow empty payload
* Add tests for ignoring empty payload
* logging on empty state and osccilation with tests
* Improve warning log when invalid value is received
* percentage to speed_range and get speed state fix
* Update homeassistant/components/mqtt/fan.py
* Update homeassistant/components/mqtt/fan.py
* Update homeassistant/components/mqtt/fan.py
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* 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
* Report tilt position properly when inverting using tilt_max < tilt_min
* Add warning per review comment
* Add test for inverted tilt position configuration
* Separate non-numeric and out of range warnings per review comment
* Fix out of range message and add tests for not numeric and out of range messages
* Unused pylint suppression cleanups
* Remove outdated pylint bug references
* Add flake8-noqa config and note to run it every now and then
* Add codes to noqa's
* Unused noqa cleanups
* Support value_template in MQTT triggers
* Rename value_template to payload_template
* Revert "Rename value_template to payload_template"
This reverts commit 902094eefc.
* 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>
* Add support for limited templates (no HASS access)
* Pass variables to automation triggers
* Support templates in MQTT triggers
* Spelling
* Handle trigger referenced by variables
* Raise on unsupported function in limited templates
* Validate MQTT trigger schema in MQTT device trigger
* Add trigger_variables to automation config schema
* Don't print stacktrace when setting up trigger throws
* Make pylint happy
* Add trigger_variables to variables
* Add debug prints, document limited template
* Add tests
* Validate MQTT trigger topic early when possible
* Improve valid_subscribe_topic_template