* Moved climate components with tests into platform dirs.
* Updated tests from climate component.
* Moved binary_sensor components with tests into platform dirs.
* Updated tests from binary_sensor component.
* Moved calendar components with tests into platform dirs.
* Updated tests from calendar component.
* Moved camera components with tests into platform dirs.
* Updated tests from camera component.
* Moved cover components with tests into platform dirs.
* Updated tests from cover component.
* Moved device_tracker components with tests into platform dirs.
* Updated tests from device_tracker component.
* Moved fan components with tests into platform dirs.
* Updated tests from fan component.
* Moved geo_location components with tests into platform dirs.
* Updated tests from geo_location component.
* Moved image_processing components with tests into platform dirs.
* Updated tests from image_processing component.
* Moved light components with tests into platform dirs.
* Updated tests from light component.
* Moved lock components with tests into platform dirs.
* Moved media_player components with tests into platform dirs.
* Updated tests from media_player component.
* Moved scene components with tests into platform dirs.
* Moved sensor components with tests into platform dirs.
* Updated tests from sensor component.
* Moved switch components with tests into platform dirs.
* Updated tests from sensor component.
* Moved vacuum components with tests into platform dirs.
* Updated tests from vacuum component.
* Moved weather components with tests into platform dirs.
* Fixed __init__.py files
* Fixes for stuff moved as part of this branch.
* Fix stuff needed to merge with balloob's branch.
* Formatting issues.
* Missing __init__.py files.
* Fix-ups
* Fixup
* Regenerated requirements.
* Linting errors fixed.
* Fixed more broken tests.
* Missing init files.
* Fix broken tests.
* More broken tests
* There seems to be a thread race condition.
I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages.
Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe.
* Disabled tests, will remove sensor in #22147
* Updated coverage and codeowners.
* Move group to it's own setup
* Let each component to handle restore of state
* Move constants for climate into const.py
For now import all into __init__.py to keep backword compat
* Move media plyaer constants to const.py file
For now import all constants into __init__.py to keep
backword compatibility
* Move media player to it's own file
* Move climate to it's own file
* Remove ecobee service from common components
BREAKING CHANGE
* Add tests for climate
* Add test for media_player
* Make sure we clone timestamps of state
* Add tests for groups
* Remove old tests for media player, it's handled by other tests
* Add tests for calls to component functions
* Add docstring for climate const
* Add docstring for media_player const
* Explicitly import constants in climate
* Explicitly import constants in media_player
* Add period to climate const
* Add period to media_player const
* Fix some lint errors in climate
* Fix some lint errors in media_player
* Fix lint warnings on climate tests
* Fix lint warnings on group tests
* Fix lint warnings on media_player tests
* Fix lint warnings on state tests
* Adjust indent for state tests
* Ignore min_cycle_duration when manually controlling the thermostat.
* style
* Generic thermostat: add minimum cycle duration to keep-alive tests.
There was a bug in previous versions of the code, that would not execute
the keep-alive action if the minimum cycle duration hasn't passed.
This test verifies that the keep-alive action is executed correctly.
* Generic thermostat: added tests to verify that changing the
thermostat mode manually triggers the switch, regardless of
minimum cycle duration.
* Updated tests to use `common` module instead of the deprecated `climate`
* Resolves /home-assistant/home-assistant#17433
Away mode temperature issue fix for generic_thermostat
* Debug messages removed from generic_thermostat.py
* Test for repeat away_mode set
Test for fix of generic thermostat issue when away_mode was set several times in a row.
* Code style fix in generic_thermostat
* Remove blank line in the end of generic_thermostat
* Fix style
* Added support for dyson hot+cool fan as climate device
* Removed decimal place in kelvin units conversion
Minor edits to be consistent with Dyson's internal conversion of temperature from kelvin to celsius. It does not include decimal place to convert between kelvin and celsius.
* made changes according to comments
* Refactored target temp logics, fixed enum issues
* changed name of component to entity
* removed temperature conversion for min/max property
* changed back to 644 permission
* added extra tests for almost-all coverage
* changed assert method to avoid lack of certain method in py35
* added test_setup_component
* shorten line length
* fixed mock spec and added checking of message listener is called
* added doc string and debug msg
* shorten line length
* removed pending target temp
* Don't set initial temperature in non-optimistic mode
* Fix tests
* Don't set initial values in non-optimistic mode
For fan mode, current operation and swing mode
* Fix tests again
* Remove unit_of_measurement from climate base class.
* Updated google_assistant component and tests to use core temp units.
* Fixes
* Convert Alexa component to use core temp units for climate entities.
* Fix tests.
* Converted prometheus component.
* Remove unit_of_measurement from homekit thermostat tests.
* Small fix.
* Add discovery support to mqtt climate component.
* - Fix flake8 error (./homeassistant/components/climate/mqtt.py:130:1: D202 No blank lines allowed after function docstring)
- Fix test error (since climate component was expected not to work - changed it to "lock" component, which also does not have MQTT discovery support yet)
* Fix old assert statement to reflect new lock component usage
* Change invalid MQTT discovery component type from 'lock' to 'timer', since contrary to the documentation the lock component is properly supported when using MQTT discovery.
* Make configuration of invalid MQTT config component a single point of entry to prevent missing the assertion later in the code when changing.
* Add new testcases to cover not-yet-covered code paths in https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/climate/mqtt.py
* add ability to set fan on
* add tests and change "not on" status to "auto"
* hound fix
* more hounds
* I don't understand new lines
* fix linting errors
* more linting fixes
* change method signature
* lint fixes
* hopefully last lint fix
* correct temp ranges according to ecobee API docs
* update dependency to latest version
* update tests with values from new temp logic
* fix linting issue
* more linting fixes
* add SUPPORT_FAN_MODE to capabilities
* add fan_list to attributes.
restore current fan state to OFF if fan is not running.
change target high/low temps from null to target temp when not in auto mode.
change target temp from null to high/low temp when in auto mode
change mode attribute to climate_mode for consistency with other lists.
* remove unused import
* simplify logic
* lint fixes
* revert change for target temps
* Fixes for mclimate accounts with not only melissa components
* Fixes melissa sensor to only use HVAC
* Bumping version to 1.0.3 and remove OP_MODE that is not supported
* Removes STATE_AUTO from translation and tests
* Fix MQTT retained message not being re-dispatched
* Fix tests
* Use paho-mqtt for retained messages
* Improve code style
* Store list of subscribers
* Fix lint error
* Adhere to Home Assistant's logging standard
"Try to avoid brackets and additional quotes around the output to make it easier for users to parse the log."
- https://home-assistant.io/developers/development_guidelines/
* Add reconnect tests
* Fix lint error
* Introduce Subscription
Tests still need to be updated
* Use namedtuple for MQTT messages
... And fix issues
Accessing the config manually at runtime isn't ideal
* Fix MQTT __init__.py tests
* Updated usage of Mocks
* Moved tests that were testing subscriptions out of the MQTTComponent test, because of how mock.patch was used
* Adjusted the remaining tests for the MQTT clients new behavior - e.g. self.progress was removed
* Updated the async_fire_mqtt_message helper
* ✅ Update MQTT tests
* Re-introduce the MQTT subscriptions through the dispatcher for tests - quite ugly though... 🚧
* Update fixtures to use our new MQTT mock 🎨
* 📝 Update base code according to comments
* 🔨 Adjust MQTT test base
* 🔨 Update other MQTT tests
* 🍎 Fix carriage return in source files
Apparently test_mqtt_json.py and test_mqtt_template.py were written on Windows. In order to not mess up the diff, I'll just redo the carriage return.
* 🎨 Remove unused import
* 📝 Remove fire_mqtt_client_message
* 🐛 Fix using python 3.6 method
What's very interesting is that 3.4 didn't fail on travis...
* 🐛 Fix using assert directly
* fix generic_thermostat bug when restore state from HA start up
if you don't set "initial_operation_mode" in config, you will get
`self._enabled = True` when init GenericThermostat. And then you will
miss the `if self._current_operation != STATE_OFF` statement and the
self._enabled still keep `True`. That's the problem
* add a test to describe the restore case
* Fixing demo platform to use support_flags
* Fixed tests as well
* Moved humidity low / high as always available based on defaults
* Updated demo platform to show more combinations
* Updated generic thermostat to respect operation_mode and added away mode
* Updated tests to include away mode and corrected init problem for sensor state
Added more tests to improve coverage and corrected again lint errors
Fixed new test by moving to correct package
Fixed bug not restoring away mode on restart
* Added support for idle on interface through state
* Added back initial_operation_mode and modified away_temp to be only one for now
* Fixed houndci-bot errors
* Added back check for None on restore temperature
* Fixed failing tests as well
* Removed unused definitions from tests
* Added use case for no initial temperature and no previously saved temperature