* replaced MagicMock with CoroutineMock to avoid exception
* added conversion to str so mock returns unique-id that doesn't throw json exception
* added non-empty config since hass throws exception when config is empty
* MQTT Alarm Control Panel to have all available states
* MQTT Alarm Control Panel to have all available states
* test_arm_custom_bypass_* tests added
* MQTT payload_arm_custom_bypass abbreviation
Since all entity test functions are going to use
the modbus class, isolate the common parts in
conftest.py, and thereby make it simpler to write
additional test cases.
cleaned up test_modbus_sensor.py while splitting the code.
* Add config flow to Synology DSM
* Use proper sensor unique ID from flow + sensor name
* Add description to api_version
* Add authentication flow check
* Add device_info
* Add test_login_failed test
* Bump python-synology to 0.5.0
* 0.5.0 test updates
* Use NAS S/N as config_flow unique_id
* Add missed conf disks + volumes
* Review: async_unload the async_track_time_interval
* Fix NoneType for disks or volumes
* Keep all disks and volumes forever
* Update homeassistant/components/synology_dsm/.translations/en.json
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/synology_dsm/strings.json
Co-Authored-By: J. Nick Koston <nick@koston.org>
* Fix "Keep all disks and volumes forever" for empty import
* Fix prettier
* Remove useless LOGGER in config flow
* Fix Synology DSM tests doing I/O
Co-authored-by: J. Nick Koston <nick@koston.org>
Home Assistant auto mode is described as
"The device is set to a schedule, learned behavior, AI."
HomeKit Accessory Protocol expects "heating or cooling to maintain
temperature within the heating and cooling threshold of the
target temperature"
Since HomeKit is expecting to set temperatures in this mode,
mapping homekit state 3 ("Auto") to Home Assistant HVAC_MODE_HEAT_COOL
is more inline with how Home Assistant defines HVAC_MODE_HEAT_COOL
as "The device supports heating/cooling to a range"
Homekit only has Off/Heat/Cool/Auto at this time, but
at least we can prevent the device from erroring
by mapping dry and fan to cool so it continues
to function.
* Removal of extraneous parenthesis
* Process review suggestions
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* reordered the clearing of the closed Event so it can stay set at the end and not
leave a task waiting on close
* fixed the side effect so it returns one TimeoutError and after that success
Previously it reached the end of the single item list and threw an exception
* fixed the error. it doesn't happen on python 3.7.5 but CI is on 3.7.0
* fixed comment
* Debounce calls to Plex server
* Simplify debounce by recommendation
* Update tests to handle debounce
* Test debouncer, fix & optimize tests
* Use property instead
* Adding vera config entries support.
* Fixing lint error.
* Applying minimal changes necessary to get config entries working.
* Addressing PR feedback by further reducing the scope of the change.
* Addressing PR feedback.
* Fixing pyvera import to make it easier to patch.
Addressing PR feedback regarding creation of controller and scheduling of async config flow actions.
* Updating code owners file.
* Small fixes.
* Adding a user config flow step.
* Adding optional configs for user config flow.
* Updating strings to be more clear to the user.
* Adding options flow.
Fixing some PR feedback.
* Better handling of options.
PR feedback changes.
* Using config registry to update config options.
* Better managing config from file or config from UI
Disabling config through UI if config is provided from a file.
More tests to account for these adjustments.
* Address PR feedback.
* Fixing test, merging with master.
* Disabling all Vera UI for configs managed by configuration.yml.
Adding more tests.
* Updating config based on unique_id.
Addressing additional PR feedback.
* Rebasing off dev.
Addressing feedback.
* Addressing PR feedback.
* force_update added
As per this discussion we need to update last_changed when active timer restarted.
One way to do that is to force HA update the state on each request even if it remains the same.
More details here - https://github.com/home-assistant/architecture/issues/345
* add test for force_update
make sure state_change event fired every time timer (re)started
* remove whitespaces
* remove whitespace
* Update tests/components/timer/test_init.py
Co-Authored-By: Alexei Chetroi <lexoid@gmail.com>
* fix lint
* fix isort
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
* add sound mode support for devices that support it
* make setting and unsetting flag better
* move eq and audio settings into constants
* fix missed statement to use constant instead of hardcoded string
* further fixes based on review
* bump pyvizio version to include newly identified app
* Switch homekit lights to use service callbacks
Service callbacks allow us to get the on/off, brightness, etc
all in one call so we remove all the complexity that was
previously needed to handle the out of sync states
We now get the on event and brightness event at the same time
which allows us to prevent lights from flashing up to 100%
before the requested brightness.
* Fix STATE_OFF -> STATE_ON,brightness:0
* Use backend-provided fan speed presets for Xiaomi vacuums
This needs input from Xiaomi vacuum owners to verify that it does not break anything.
I have personally tested this on rockrobo v1 (old mapping).
Related issues/PRs:
home-assistant/core#32821home-assistant/core#31268home-assistant/core#27268
This is a WIP as it requires a new upstream release.
The PR is https://github.com/rytilahti/python-miio/pull/643
* Bump version requirement for 0.5.0
* Bump requirements_test_all.txt, too
* Fix linting; missing setup.cfg on local checkout caused wrong settings for black..
* Add tests for both fan speed types
* Remove useless else..
* bump python-miio to 0.5.0.1 due to broken 0.5.0 packaging