* Improve uvc test camera
* Clean setup full config
* Clean setup partial config
* Set more camera defaults
* Clean setup partial config v31x
* Clean setup incomplete config
* Clean setup nvr errors during indexing
* Clean setup nvr errors during initialization
* Clean properties
* Fix motion recording mode properties
* Clean stream
* Clean login
* Clean login v31x
* Clean login tries both addres and caches
* Clean login fails both properly
* Remove not needed test
* Clean camera image error
* Test snapshot login retry
* Clean up
* Test enable and disable motion detection
* Times must be UTC
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Better status control on restore
* Better status control on restore
* fix code coverage
* Rollback hvac_mode initialization
I think I have better understood the handling of the `hvac_mode`.
I change the approach. Now the thermostat doesn't initialize until the switch is available.
* fix pyupgrade
* fix black
* Delete test_turn_on_while_restarting
HVAC mode should not be modified by the switch.
IMHO, this test does not make sense because if the switch is turned on the thermostat is not turning on (and not changing HVAC_MODE)
* Re add turn off if HVAC is off
If HVAC_MODE is off thermostat will not control heater switch. This can be because `initial_hvac_mode`, because state defaults to or because old_state.
IMHO it is preferable to be excessively cautious.
* Update climate.py
* Change warning message
* Fix black
* Fix black
* Add tests for Netatmo light
* Improve docstring
* Register the camera data class for the light platform
* Remove freezegun dependency
* Update tests
* Update tests/components/netatmo/test_light.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Deduplicate webhook test data
* Mock pytest to verify it is called
* Don't test internals
* Rename
* Assert light still on with erroneous event data
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add definitions for grouping media players
See https://github.com/home-assistant/architecture/issues/364
* Fix Google Assistant tests
* Define sync versions of async_join_players/async_unjoin
* Don't use async API in synchronous test methods
* Fix tests and make pylint happy
The method name `unjoin` is used by another component, so let's use
`unjoin_player` instead.
* Fix emulated_hue tests
The new media player entity in the `demo` component requires a tiny
adjustment in the emulated_hue tests.
* Use "target:" in service description
* Also use "name:" in service descriptions
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Delay ZHA group updates to ensure all members are updated first
After turning off a group, when the first device reports "off", the
other devices may still be "on". If HA processes the group state update
quickly enough, the group will see that some devices are on, so the
state of the group will revert back to "on", and then "off" when the
remaining devices all report "off". That would cause the UI toggle to go
back and forward quickly, and automations that trigger with "state: on"
to fire when the user turns the group off.
This PR fixes that by delaying the group state update, giving time for
all the devices to report their states first.
* Fix zha group tests
* Reorder sleeping.
* Update tests/components/zha/common.py
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* add flag to prevent sending an on command
* fix condition
* add constant for default transition
* make groups work with new force on flag
* reorder light entity creation
* rearrange logic
* update test
* remove failed attempt at group light flag
* fix flag
* 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
* Fix homekit checking for port cleanup too many times
The loop should have terminated as soon as the port was available
* coverage
* tweak homekit shutdown wait
* Add timeouts on recving packets
Add a timeout when recving packets from the worker thread in case it hangs.
Add an exit condition just in case the while loop goes on forever.
* Add a timeout to recorder thread join.
* Wait for recorder thread to be invoked in tests
Remove the while loop and instead wait for segments to be produced by the background worker thread.
* Allow worker to resume before stopping to fix timeouts
* Lower test timeout further
* Remove test_stream_ended since it is flaky
This test doesn't really add additional value on top of other tests.
* 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
* Add device class CO2 to Fibaro
* Add device class CO2 to Awair
* Add device class CO2 to Tasmota
* Add device class CO2 to Netatmo
* Add device class CO2 to Ambient Station
* Update Tasmota tests
* Remove icon