* 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.
* Consolidate
* Fix tests
* Update imports
* Fix import
* Use importlib because integration and package share name
* Fix more tests
* Update .coveragerc and CODEOWNERS
* modbus: support multiple modbus hub
* update data after entities added
* pass hub object to each entity. and save hub to hass.data but not in module level
* add hub_client setup log
* don't update when adding device, because hub_client is not ready right now
* support restore last state
* remove useless func
* compatible with python35
* removed unrelated style changes
* Update flexit for multi-device modbus
* change how hubs are referenced in the configuration
* Also update climate/modbus.py
* Remove unwanted whitescapce
* Defined common constants centrally
* Update DOMAIN in climate and switch components
* Removed unnecessary vol.schema
* Make hub name optional
* Add name property to ModbusHub
* 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
* Added state method to return current operating state to fix#18244 for radiotherm component.
* Changed to set the is_on property when actively heating or cooling.
* Updated version to 0.9.3
Adjusted climate component due to changes in the underlying library.
* Climate.KNX: fix updating view when operation mode is changed due to refactoring
* Addressed review comments
* Added validation for config.
* radiotherm: bump version to 2.0.0
* radiotherm: change handling of transient errors from tstat
Radiotherm 2.0.0 now throws an exception when a transient error is
detected, instead of returning -1 for the field where the error was
detected. This change supports handling the exception.
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
* Added Zones, and removed available() logic
flesh out Zones
tidy up init
some more tidying up
Nearly there - full functionality
passed txo - ready to send PR
Ready to PR, except to remove logging
Add Zones and associated functionality to evohome component
Add Zones to evohome (some more tidying up)
Add Zones to evohome (Nearly there - full functionality)
Add Zones to evohome (passed tox)
Add Zones to evohome (except to remove logging)
Add Zones and associated functionality to evohome component
Revert _LOGGER.warn to .debug, as it should be
Cleanup stupid REBASE
* removed a duplicate/unwanted code block
* tidy up comment
* use async_added_to_hass instead of bus.listen
* Pass evo_data instead of hass when instntiating
* switch to async version of setup_platform/add_entities
* Remove workaround for bug in client library
- using github version for now, as awaiting new PyPi package
* Avoid invalid-name lint - use 'zone_idx' instead of 'z'
* Fix line too long error
* remove commented-out line of code
* fix a logic error, improve REDACTION of potentially-sensitive infomation
* restore use of EVENT_HOMEASSISTANT_START to improve HA startup time
* added a docstring to _flatten_json
* Switch instantiation from component to platform
* Use v0.2.8 of client api (resolves logging bug)
* import rather than duplicate, and de-lint
* We use evohomeclient v0.2.8 now
* remove all the api logging
* Changed scan_interal to Throttle
* added a configurable scan_interval
* small code tidy-up, removed sub-function
* tidy up update() code
* minimize use of self.hass.data[]
* remove lint
* remove unwanted logging
* remove debug code
* correct a small coding error
* small tidyup of code
* remove flatten_json
* add @callback to _first_update()
* switch back to load_platform
* adhere to standards fro logging
* use new format string formatting
* minor change to comments
* convert scan_interval to timedelta from int
* restore rounding up of scan_interval
* code tidy up
* sync when in sync context
* fix typo
* remove raises not needed
* tidy up typos, etc.
* remove invalid-name lint
* tidy up exception handling
* de-lint/pretty-fy
* move 'status' to a JSON node, so theirs room for 'config', 'schedule' in the future
* Melissa attributes
* overide device_state_attributes rather than state_attributes
* Selected attributes
* Adding current humidity rather than a state_attribute
* 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
* Validate ports as port
Better than just a positive integer since it limits the range from 1 to 65535.
* Validate port for Axis
* Validate port for Xiaomi Home Camera
* Validate port for Modbus
* Validate port for Yamaha MusicCast Receivers
* Update zhong_hong.py
Validate port as a port, the gateway address as positive_int
Also moved the default values to their variable
* Validate port for the Asterisk Voicemail interface
* Fix lint
* Validate port for Xiaomi Cameras
* Add device_registry support for sensor and switch domains
* Add device_registry support for light
* Add device registry to binary_sensor, climate, cover
* Add device registry to zwave fan
* Fix test for config entry loading
* lint
* revert erroneous modification
* Revert device_registry.py change
* Implement turn_off and turn_on actions for eq3btsmart
This commit implements the turn_off and turn_on methods for eq3btsmart. Turning the device off will set the thermostat to "OFF". Turning it on will set it to "AUTO".
* Add missing support flags for on/off feature
* Fix line length
* 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
* Daikin Climate - Better integration with Climate base component
Made some modification in order to better integrate the Daikin AC Component with the base Climate Component.
Benefits are:
Support localization for Operation Mode
Support for Homekit Integration (if the AC is turned On, now the status is updated in Homekit)
* Build bug fixing
* Bug fixing in Set Operation_Mode functionality
Fixed to .title() functionality in matching the Operation_Mode
* Fix useless code
* Fix hound bug
* Bug fixing
Change in list of Operation Mode
* Trailing white space fix
* Compile fixing
* Whitespace fix
* Add support for Honeywell evohome CH/DHW systems
More flake8 corrections
Passes Flake8 tests
Almost passed flake8.pylint!
Passed all tox tests
Now it needs serious testing!
Almost ready to submit
BUGFIX: DHW state now functional
More improvements to available()
Solved the DHW temp units problem!
Last minute bug squash
to improve dicts merge
Trying to rebase
fixing more rbase errors
revert to creating HTTP_error_code internally for now
ready to submit PR
Added support for Honeywell evohome CH/DHW systems
* Updated requirements_test_all.txt
* Fix: D401 First line should be in imperative mood
* Remove _LOGGER.info (replace with _LOGGER.debug)
* raise PlatformNotReady when RequestException during setup()
* Revert some LOGGER.debug to LOGGER.warning
* Improved logging levels, and removed some unwanted comments
* Improvments to logging - additional self._status info
* BUGFIX: DHW wrongly showing available = False (and some other tweaks)
* Fix trailing whitespace
* Remove state_attributes override and API_VER code
* Removed heating zones, DHW and heuristics to reduce # lines of code
* Removed some more lines of code
* Removed unused configuration parameters
* Remove some more un-needed lines
* Removed more (uneeded) lines of code & fixed two minor typos
* Improvements to debug logging of available() = False
* Improvements to code, and code clean-up
* Corrected a minor typo
* A small tidy up
* reduces precision of emulated temps floats to 0.1
* Some code improvements as suggested by JeardM
* Rewrite of exception handler
* Removed another unwanted logging in properties
* Remove async_ version of various methods
* moved available heuristics to update()
* Cleanup of code, and re-work linter hints
* fixed a minor documentation typo
* scan_interval is now no longer a configurable option
* Change from Master/Slave to Parent/Child
* Removed the last of the slaves
* Removed the last of the masters
* Move -PARALLEL_UPDATES to .\climate\evohome.py'
* main code moved to climate/evohome.py
* merge EvoEntity into EvoController class
* remove should_poll (for now)
* woops! left a hint in
* removed icon
* only log a WARNING the first time available = False
* cleanup dodgy exception handling
* Tidy up exception handling
* Many changes as suggested by @MartinHjelmare, thanks
* remove hass from init, part 1
* use async_added_to_hass instead of dispatcher_connect
* remove hass from init, part 2 (done)
* add 1-2 arrays, and tidied up some comments
* from dispatcher to async_added_to_hass
* cleaned up some logging, and removed others
* Many changes as request by @MartinHjelmare
* Homage to the lint
* Changed to the HA of doing operating_mode
* Now using update_before_add=True
* reduced logging further still...
* fixed minor lint
* fix a small logic error
* Add device_state_attributes to track actual operating mode
* Clean up doc quotes caused by previous changes
* Woops! removed some debug lines that shoudln't have stayed in
* Add a complete set of device_state_attributes
* Cleanup some constants
* Remove more legacy code
* domain_data to evo_data & this else should be a finally
* minor change for readability
* Minor change for readability #2
* removed unused code
* small tidy up - no code changes
* fix minor lint
* Correct URLs & descriptions in docstring
* whoops - fixed a typo in docstrings
* remove an unused line of cide & a small tidy-up