* Add Ecobee humidifier device_info and unique_id
Ecobee humidifier entity was not connected to the thermostat device.
This change will ensure the entitiy is properly connected.
This change also fills out the ecobee-data.json fixutre data a bit
to address failures in the test setup.
* Add Ecobee humidifier device_info and unique_id
Adjust test fixture data to increase pytest coverage
Clean up indenting in ecobee-data.json
* Add Ecobee humidifier device_info and unique_id
Update exception case in device_info to not
be included in codecov tests. This case has
been tested locally.
* Add Ecobee humidifier device_info and unique_id
Address pylint issue
* Add Ecobee humidifier device_info and unique_id
Remove no cover pragma and add ecobee humidifier.py to
.coveragerc
* Add color mode support to WLED
* Update homeassistant/components/wled/light.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/wled/light.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/wled/light.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/wled/light.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* black
* property, property
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Emulate color_temp for lights which support color or white
* Support legacy lights
* Tidy up group.light code
* Improve color_temp to white conversion
* Remove color_temp to white conversion
* Add test
* Tweak deconz test
* Modern Forms integration initial pass
* cleanup of typing and nits
* Stripped PR down to Fan only
* Review cleanup
* Set sleep_time to be required for service
* Adjust minimum sleep time to one minute.
* Code review changes
* cleanup icon init a little
* Ensure ssdp can callback messages that do not have an ST
Sonos sends unsolicited messages when the device reboots. We want
to capture these to ensure we can recover the subscriptions as soon
as the device reboots
* Update homeassistant/components/ssdp/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add media group
* Minor improvements
* Use the async api for all methods
* Improve type hints
* Add missing methods
* Add tests
* Rename HomeAssistantType —> HomeAssistant
* Add more tests
* Fix unknown state
* Make some callbacks
* Add more tests
* Fix unknown state properly
* Fix names for callbacks
* Fix stop service test
* Improve tests
* Initial Hyperion camera.
* Improve test coverage.
* Minor state fixes.
* Fix type annotation.
* May rebase and updates (mostly typing).
* Updates to use new camera typing improvements.
* Use new support for returning None from async_get_mjpeg_stream .
* Codereview feedback.
* Lint: Use AsyncGenerator from collections.abc .
* Update homeassistant/components/hyperion/camera.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Add zwave_js node status sensor
* fix import
* use parent class name property
* Use more entity class attributes
* Update homeassistant/components/zwave_js/sensor.py
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* return static values in property method
* fix PR
* switch to class atributes
* create sensor platform task if needed
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Enable gzip encoding for playlist responses
* Add EXT-X-PROGRAM-DATE-TIME to playlist
* Add EXT-X-START to playlist
* Change EXT-X-VERSION from 7 to 6
* Move idle timer call to recv
* Refactor recv to remove cursor and return bool
* Rename STREAM_TIMEOUT to SOURCE_TIMEOUT
* Add zwave_js.multicast_set_value service
* comment
* Add test for multiple config entries validation
* additional validation test
* brevity
* wrap schema in vol.Schema
* Update homeassistant/components/zwave_js/services.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* do node transform and multicast validation in schema validation
* move poll value entity validation into schema validation, pass helper functions dev and ent reg instead of retrieving it every time
* make validators nested functions since they don't neeed to be externally accessible
* Update homeassistant/components/zwave_js/services.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove errant ALLOW_EXTRA
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* refactor ModbusRegisterSensor to match the ModbusSwitch interface
* Please pylint, mypy etc.
* Remove PLATFORM.
Co-authored-by: jan Iversen <jancasacondor@gmail.com>
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add WS API support for zwave_js firmware updates
* move file to fixture
* review comments
* fix logic and test based on upstream changes
* handle failure scenario
* handle failure scenario
* fix tests and adjust message
* Update homeassistant/components/zwave_js/api.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* remove return from firmware upload view because client will raise an exception if not successful
* raise if user is not an admin
* raise bad request exception if firmware command fails
* incorporate #50923
* Add test for failed command
* add event name to messages
* change error to not found
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* add sonos_alarm
* bug fix for _update_device
* fix pylint and black and co
* small bug fix in speaker.available_alarms
* cleanup and add _LOGGER.debug statements, fix pylint
* fix pylint
* _alarm_id to alarm_id
* fixed rare bug due to raceconditions
* Part 2 of raceconditionfix
* address review suggestions
* readd check for not yet subscribed
* - platforms_ready fix
- add alarmClock to pytest mock
* fixture for ListAlarms
* cleanup mock and match UUID for test
* add simple tests for sonos_alarm
* extend test for attributes
* typhint fix
* typo
* use get_alarms() directly
* refactor available_alarms
* fix attributes
* some cleanup
* change logic of fetch_alarms_for_speaker and rename to update_alarms_for_speaker
* update_alarms_for_speaker is now a method
* Update homeassistant/components/sonos/switch.py
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
* Update homeassistant/components/sonos/speaker.py
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
* Improve typing
* One more typing fix
* Run hassfest
* Fix test
* Fix return from constructor
* Add missing Final
* Improve long string format
* Use bool for mute
* Remove unnecessary str type
* Fix host type
* Add missing Final
* Increase test coverage
* Suggested change
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
As of version 0.14, the venstar_colortouch lib always initializes hum_setpoint to None. When a thermostat actually reports a humidifier state, this value is replaced with the integer value of the setpoint. This changeset corrects the humidifier detection as well as adds basic test cases for the Venstar component.
* Add support for effects, transition/brightness parameters to template light, min_mireds and max_mireds templates
* code fixes
* min_mireds, max_mireds fixes
* test fixes
* more fixes
* format fix
* style fix
* _update_effect_list change
* style fix
* Fixes after review
* additional fixes
* duplicated lines removed
* fixes after CI run
* test fixes
* code and test fixes
* supports transition change, added test cases
* Wallbox component added
* resolved mergeconflicts from upstream
* fixed an incorrect removal in CODEOWNERS file
* fixes for pullrequest automatic test
* clean up code after PR tests
* fixed strings.json
* fix config_flow error > wallbox
* fixed some formatting issues
* fix pylint warnings
* fixed error in number.py > set value
* pylint warnings fixed
* some more pylint fixes
* isort fixes
* fix unused_import pylint
* remove tests
* remove test requirements
* config flow test
* test errors resolved
* test file formatting
* isort on test file
* sensor test
* isort on test
* isort test const
* remove not working sensor test
* remove test const
* add switch, number and lock test
* docstrings for test classes
* sort test_number, create test_sensor
* additional tests
* fix test error
* reduced PR to 1 component
* newline in const
* ignore test coverage -> dependency on external device (wallbox)
* do not ignore config_flow
* add test for validate_input
* remove obsolete import
* additional test config flow
* change test sensor
* docstring
* add additional test for exceptions
* fix test_config
* more tests
* fix test_config_flow
* fixed http error test
* catch connectionerror and introduce testing for this error
* remove .coveragefile
* change comment
* Update homeassistant/components/wallbox/__init__.py
review suggestion by janiversen
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Update homeassistant/components/wallbox/__init__.py
review suggestion by janiversen (format only)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Processed review comments, include more testing for sensor component
* Isolated the async_add_executor_job to make the solution more async
* add a config flow test
* Revert "add a config flow test"
This reverts commit 9c1af82fff.
* Revert "Isolated the async_add_executor_job to make the solution more async"
This reverts commit 0bf034c331.
* Make component more async and add config flow tests
* Changes based on review comments
* made _ methods in WallboxHub for the 'non-async' call to the API and try-catch. Stored the wallbox in the class.
* moved the coordinator to __init__ and pass it as part of the WallboxHub class
* removed obsolete function in __init__
* removed CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
* fixed spelling and imports on test files
* did isort on component files
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* initial commit of SIA integration
* translations
* moved reactions to file, typed everything
* fixed no-else-return 3 times
* refactored config and fix coverage of test
* fix requirements_test
* elimated another platform
* forgot some mentions of sensor
* updated config flow steps, fixed restore and small edits
* fixed pylint
* updated config_flow with better schema, small fixes from review
* final comment and small legibility enhancements
* small fix for pylint
* fixed init
* fixes for botched rebase
* fixed port string
* updated common strings
* rebuild component with eventbus
* fixed pylint and tests
* updates based on review by @bdraco
* updates based on new version of package and reviews
* small updates with latest package
* added raise from
* deleted async_setup from test
* fixed tests
* removed unused code from addititional account step
* fixed typo in strings
* clarification and update to update_data func
* added iot_class to manifest
* fixed entity and unique id setup
* small fix in tests
* improved unique_id semantics and load/unload functions
* added typing in order to fix mypy
* further fixes for typing
* final fixes for mypy
* adding None return types
* fix hub DR identifier
* rebased, added DeviceInfo
* rewrite to clean up and make it easier to read
* replaced functions with format for id and name
* renamed tracker remover small fix in state.setter
* improved readibility of state.setter
* no more state.setter and small updates
* mypy fix
* fixed and improved config flow
* added fixtures to test and other cleaner test code
* removed timeband from config, will reintro in a options flow
* removed timeband from tests
* added options flow for zones and timestamps
* removed type ignore
* replaced mapping with collections.abc
If we have the mac address from discovery, we can use it to wake
the TV. Currently the TV goes unavailable when you turn it off
as the only way to turn it back on is wake on lan or via the remote.
Users who are not using host networking can use a script instead.
* Change config entry state to an enum
* Allow but deprecate EntryState str equality comparison
* Test fixes
* Rename to ConfigEntryState
* Remove str comparability backcompat
* Update new occurrences of strs cropped up during review
* Add support for EDS0066
* Added a test
* Corrected entity_ids
* Added missing part of sensor entity id
* Add type hint
* Update tests/components/onewire/const.py
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Update tests/components/onewire/const.py
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Revert "Update tests/components/onewire/const.py"
This reverts commit 4a01b89868.
* Revert "Update tests/components/onewire/const.py"
This reverts commit 151eb9c0d3.
Co-authored-by: jan iversen <jancasacondor@gmail.com>
* Split initialization from data retrival
* Await class initialization
* Async camera
* More async
* Remove stale code
* Clean up
* Update tests
* Fix test
* Improve error handling
* Bump pyatmo version to 5.0.0
* Add tests
* Add cloudhook test
* Increase coverage
* Add test with no camera devices
* Add test for ApiError
* Add test for timeout
* Clean up
* Catch pyatmo ApiError
* Fix PublicData
* Fix media source bug
* Increase coverage for light
* Test webhook with delayed start
* Increase coverage
* Clean up leftover data classes
* Make nonprivate
* Review comments
* Clean up stale code
* Increase cov
* Clean up code
* Code clean up
* Revert delay
* Update homeassistant/components/netatmo/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/netatmo/sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Address comment
* Raise cov
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Compile statistics for energy sensors
* Update tests
* Rename abs_value to state
* Tweak
* Recreate statistics table
* Pylint
* Try to fix test
* Fix statistics for multiple energy sensors
* Fix energy statistics when last_reset is not set
* Implement heartbeat in the Broadlink integration
* Rename INTERVAL to HEARTBEAT_INTERVAL
* Test that we log an error message when the heartbeat fails
* Improve type annotations
* Remove unused argument
* Simplify state logic
* Fix uvindex state
* Fix type for logger
* Increase tests coverage
* Fix pylint arguments-differ error
* Suggested change
* Suggested change
* Remove unnecessary variable
* Remove unnecessary conditions
* Use int instead of list for forecast days
* Add enabled to sensor types dicts
* Fix request_remaining conversion and tests
* Run hassfest
* Suggested change
* Suggested change
* Do not use StateType
* 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>
* simplify pymodbus_call.
Do not call with a function object and a check attribute, call instead
with CALL_TYPE*.
Avoid if <type> call x else call y.
Call async_pymodbus_call directly, instead of unpacking/packing.
* Declare call type in __init__.
* Modbus.py back to 100% test coverage.
* Set device_class for shutters and blinds
* Add missing. imports
* Add tests for device class setting
* Clean up
* Avoid storing the node in an unused variable
* Fix entity name
* Extend qubino shutter discovery
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add interview feedback for add node websocket
* cleanup leftover logging
* add tests
* test interview failed event
* fix event type
* include manufacturer & model from device registry
* update test