* Bump aiohue to 4.6.0
* fix device name for lights
* fix name for groups too
* ignore smart scenes
* bump to 4.6.1 instead
* fix test fixture
* update tests
* fix scene test
* Rainbird config flow
Convert rainbird to a config flow. Still need to handle irrigation numbers.
* Add options for irrigation time and deprecate yaml
* Combine exception handling paths to get 100% test coverage
* Bump the rainird config deprecation release
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unnecessary sensor/binary sensor and address some PR feedback
* Simplify configuration flow and options based on PR feedback
* Consolidate data update coordinators to simplify overall integration
* Fix type error on python3.9
* Handle yaml name import
* Fix naming import post serialization
* Parallelize requests to the device
* Complete conversion to entity service
* Update homeassistant/components/rainbird/switch.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/rainbird/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unused import
* Set default duration in options used in tests
* Add separate devices for each sprinkler zone and update service to use config entry
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* add reauth flow
* adjust tests
* use constant for platforms
* remove not needed async_get_entry()
* fix typo
* user _async_abort_entries_match()
* don't use CONF_ prefix for config dicts
* sort PLATFORMS
* use entry_data in reauth flow
* redo Add sensor
* move back to ClientError
simplify washer_state
* Cleanup Sensor definitions
* Seperated EndTimeSensor
* Clean up WasherDryerTimeClass
* Start with Timestamp = None
* Clean up class description
* One more ClientError
* change to restore sensor
* Don't update when no state change
* Seperate washer tests
Add restore_state test
* Remove unused loop in washer sensor test
* No loops in sensor tests
* Remove unnecessary SensorTestInstance
* Add support for WetDry and WindHeading fields in LaCrosse View
* Improve test coverage
* Verify data type before conversion
* Improve test coverage
* Convert to more concise type conversion
* Add Flex field as per #79529
* Improve code quality
* Add check if expected field is missing
* MQTT Climate: Add support for setting the current humidity via MQTT
* MQTT Climate: Add configuration constants related to setting the target humidity
* MQTT Climate: Add support for setting the humidity's state topic & template
* MQTT Climate: Add support for setting the initial humidity
* MQTT Climate: Add support for setting the humidity's command topic & template
* MQTT Climate: Add support for setting the min/max humidity
* MQTT Climate: Fix style & tests
* MQTT Climate: Set the initial humidity to None
* MQTT Climate: Rename _set_mqtt_attribute to _set_climate_attribute and handle_temperature_received to handle_climate_attribute_received
* MQTT Climate: Copy humidity range validation from MQTT Humidifier
* MQTT Climate: Remove CONF_HUMIDITY_INITIAL
* MQTT Climate: Only enable support for TARGET_HUMIDITY when the command topic is set
* MQTT Climate: Check if setting the target humidity is supported before actually setting it
* MQTT Climate: Make sure that CONF_HUMIDITY_COMMAND_TOPIC has been configured when setting CONF_HUMIDITY_STATE_TOPIC
* MQTT Climate: Fix broken tests
* MQTT Climate: Add test for optimistically setting the target humidity
* MQTT Climate: Remove references to "temperature" in handle_climate_attribute_received
* MQTT Climate: Add additional humidity-related tests
* MQTT Climate: Remove supported feature check in handle_target_humidity_received
It's not needed because this is covered by the `valid_humidity_state_configuration` validation.
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* MQTT Climate: Remove supported feature check in async_set_humidity
It is covered by the base Climate entity.
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Add filter and error code support to CoolMastetNet
* Create separate entities
* coolmaster swing_mode support
* Changed default to False
* Raise HomeAssistantError
* Add tests for init and climate
* Fixed bad merge
* Catch only ValueError
* Add filter and error code support to CoolMastetNet
* Create separate entities
* Remove async_add_entities_for_platform
* Fixed call to async_add_entities
* Avoid using test global
* Add support for fututre config entry migrations
* Add testcase
* dir check bug
* rework the migrate testcase
* implement comments
* Missed this part of the file
* Fix and clean tests
* add more into the testcase
* push sugestions
* Upgrade velbusaio to add version 2 support
* more comments
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Ensure AirVisual Pro migration includes device and entity customizations
* Update homeassistant/components/airvisual/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Code review
* Fix tests
* Fix tests FOR REAL
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Support US region in the Whirlpool integration
* Force maytag brand for US region
* Add missing util.py file
* Fix import after merge
* run black
* Missing region key in config flow test
* Fixed Generic config entry
* fixed typos in dict
* Remove redundant list const
Co-authored-by: mkmer <mike.j.kasper@gmail.com>
* Add PoE power sensor to UniFi integration
* Add unit of power
* Only update state if value has changed
* Remove stale print
* Subscribe to specific sensor to remove unnecessary state changes
Co-authored-by: J. Nick Koston <nick@koston.org>
* Remove unused constant
* Reuse fetch check for retrieving device information
* Remove else block
* Patch integration setup in test
* use isinstance to detect return type, instead of tuple
* Raise exception when recoverable error has been triggered to make code cleaner
* Use error code to split message and localization
* Actually log things
* Added support for SwitchBot Lock
* Updated PySwitchbot to 0.32.1
* Updated .coveragerc
* Removed unnecessary condition
* Using library method to verify encryption key
* Added config flow tests
* Remove link from config flow description
* Added one more test for config flow
* Updated CODEOWNERS
* Add update support for calendars and implement in local calendar
* Fix supported feature for update calendar
* Increase test coverage for websocket error cases
* Improve test coverage for update failure cases
* Improve test coverage by sharing code between update and create
* Update homeassistant/components/calendar/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Try the next best adapter after a BLE connection fails
* add cover
* tweak
* tweak
* Update homeassistant/components/bluetooth/wrappers.py
* bump
* small tweak
* tweak logic
* manual_mqtt: parametrize test_no_pending
* manual_mqtt: parametrize test_no_pending_when_code_not_req
* manual_mqtt: parametrize test_with_pending
* manual_mqtt: parametrize test_with_invalid_code
* manual_mqtt: parametrize test_with_template_code
* manual_mqtt: parametrize test_with_specific_pending
* manual_mqtt: parametrize test_arm_via_command_topic
* manual_mqtt: remove unnecessary async_block_till_done from tests
* manual_mqtt: bring over a new test from manual
* manual_mqtt: add more states
The manual alarm control panel supports ARMED_CUSTOM_BYPASS and ARMED_VACATION.
Bring them over to the MQTT version.
* Bump pyrainbird to 0.7.0 and move to async library
* Share updates across sensors
* Fix test version and delete dead code
* Add test coverage for yaml configuration
* Address PR feedback
* Set title for Matter integration to integration name
* Update homeassistant/components/matter/config_flow.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Update title in tests
* one more title fix
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Fix error when describing deCONZ events of removed devices
* Apply suggestions from code review
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Add more types to the todoist integration.
* Update tests.
* Update homeassistant/components/todoist/calendar.py
Pass f-string directly to strftime.
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Add back mistakenly removed local var.
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* manual: add previous state for TRIGGERED as well
This will be useful to properly restore timers on restart.
* manual: correctly restore timers on startup
* Trigger reauth flow when HomeWizard API was disabled
* Add tests for reauth flow
* Fix typo in test
* Add parallel updates constant
* Improve error message when device in unreachable during config
* Set quality scale
* Remove quality scale
* Throw error instead of abort when setup fails
* Adjust test for new setup behaviour
* Trigger reauth flow when API is disabled and continue retrying
* Reload entry and raise AuthFailed during init
* Abort running config flow
* Listen for coordinator updates to trigger reload
* Use build-in backoff system
* Fix failing test
* Test reauth flow is active after disable-api init
* Test reauth flow removal
* Remove unused function in withings
* Move to tests
* Remove reference to attribute.platform
* Move WITHINGS_MEASUREMENTS_MAP to tests
* measute_type > measure_type
* One more
* Recognize more SSDP friendly names as "ours"
* Trigger on SoyeaLink devices
* Pass discovered URL through context, it does not persist via user_input
* Use manufacturer from SSDP
* Actually use serial number if available, update URL for configured
* Remove heuristic friendly name filtering against non-LTE devices
* Add language to conversation and intent response
* Move language to intent response instead of speech
* Extend intent response for voice MVP
* Add tests for error conditions in conversation/process
* Move intent response type data into "data" field
* Move intent response error message back to speech
* Remove "success" from intent response
* Add id to target in intent response
* target defaults to None
* Update homeassistant/helpers/intent.py
* Fix test
* Return conversation_id and multiple targets
* Clean up git mess
* Fix linting errors
* Fix more async_handle signatures
* Separate conversation_id and IntentResponse
* Add unknown error code
* Add ConversationResult
* Don't set domain on single entity
* Language is required for intent response
* Add partial_action_done
* Default language in almond agent
* Remove partial_action_done
* Fix linting
* Rename success/fail targets
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add language to conversation and intent response
* Move language to intent response instead of speech
* Extend intent response for voice MVP
* Add tests for error conditions in conversation/process
* Move intent response type data into "data" field
* Move intent response error message back to speech
* Remove "success" from intent response
* Add id to target in intent response
* target defaults to None
* Update homeassistant/helpers/intent.py
* Fix test
* Return conversation_id and multiple targets
* Clean up git mess
* Fix linting errors
* Fix more async_handle signatures
* Separate conversation_id and IntentResponse
* Add unknown error code
* Add ConversationResult
* Don't set domain on single entity
* Language is required for intent response
* Add partial_action_done
* Default language in almond agent
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Factor out _is_dmr_device function
* Use DMR device's MAC to match existing config entries
Some DMR devices change their every time they boot, against the DMR specs.
Try to match such devices to existing config entries by using their MAC
addresses.
* Add DMR device's MAC as a device_registry connection
* Use doc-only IPs (RFC5737) for dlna_dmr tests
* ESPHome: Use MAC as unique ID
* Normalize incoming zeroconf/dhcp macs
* Update comment
* Test ESPHome without mac in zeroconf
* Use format_mac
* Remove unique ID index from DomainData
* Make google calendar fail louder on invalid google_calendars.yaml
* Update homeassistant/components/google/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/google/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Remove duplicate object key in strings.json
* Remove async_entry_has_scopes check
This is not needed. This was copied from google calendar integration
where it was needed to reauth when the scope changed.
* Remove unused constant in application_credentials
* Move constant to the file used
* fix warning use-implicit-booleaness-not-len
* Remove not accessed parameters
* Revert "Remove async_entry_has_scopes check"
This reverts commit 63e24f84cc.
Entries took a while to setup because of the
async_wait_init_flow_finish call in _async_setup_component
The delay was so long that users thought the integration
was broken
We had a wait in place for advertisements to arrive
during discovery in case the lock was not
yet seen. Since integration discovery is deferred
until after startup this wait it no longer needed
* Copy google_sheets to google_assistant_sdk
This is to improve diff of the next commit with the actual implementation.
Commands used:
cp -r homeassistant/components/google_sheets/ homeassistant/components/google_assistant_sdk/
cp -r tests/components/google_sheets/ tests/components/google_assistant_sdk/
find homeassistant/components/google_assistant_sdk/ tests/components/google_assistant_sdk/ -type f | xargs sed -i \
-e 's@google_sheets@google_assistant_sdk@g' \
-e 's@Google Sheets@Google Assistant SDK@g' \
-e 's@tkdrob@tronikos@g'
* Google Assistant SDK integration
Allows sending commands and broadcast messages to Google Assistant.
* Remove unnecessary async_entry_has_scopes check
* Bump gassist-text to fix protobuf dependency
* Add language to conversation and intent response
* Move language to intent response instead of speech
* Extend intent response for voice MVP
* Add tests for error conditions in conversation/process
* Move intent response type data into "data" field
* Move intent response error message back to speech
* Remove "success" from intent response
* Add id to target in intent response
* target defaults to None
* Update homeassistant/helpers/intent.py
* Fix test
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add language to conversation and intent response
* Add language parameter to conversation/process service
* Move language to intent response instead of speech
* Add language to almond conversation agent
* Fix intent test
* Set last_target_temp value according the unit system
* Convert restored temperature values
* Add test
* Improve comments
* Move _last_target_temp value to constants
* Replace unit consts with enums
* Remove default entries in NWSSensorEntityDescription
* Replace wind icon property with setting device_class in Wind Speed and Wind Gust sensors
* fan.set_percentage + tests
* let's see what is not yet covered
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* tests fix
* vallox_websocket_api 3.0.0
* more coverage
* test coverage
* Update tests/components/vallox/test_fan.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* raise exceptions on user input
* Supported features are different per preset mode.
* Test fixes
* Static supported features is back.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add IPv6 sensor to fritz component
* Cast return type to string
* Make ipv6 sensor suitable
* simplify cast to str
* use extisting property
Co-authored-by: chemelli74 <simone.chemelli@gmail.com>
Co-authored-by: mib1185 <mail@mib85.de>
* Handle numeric versions in mqtt update
* Remove need for type:ignore
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Add Google Calendar create/delete support
Includes editing for recurring events
* Fix default calendar access role
* Formatting improvements
* Address other details that have changed due to local sync
* Update tests/components/google/test_calendar.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/google/test_calendar.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/google/test_calendar.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Increase test coverage
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add matter base (#79372)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
* Add matter server add-on flow (#82698)
* Add matter server add-on flow
* Fix stale error argument
* Clean docstrings
* Use localhost as default address
* Add matter websocket api foundation (#82848)
* Add matter config entry add-on management (#82865)
* Use matter refactored server/client library (#83003)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump python-matter-server to 1.0.6 (#83059)
* Extend matter websocket api (#82948)
* Extend matter websocket api
* Finish docstring
* Fix pin type
* Adjust api after new client
* Adjust api to frontend for now
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add TLD option support to google_translate
* Fix tests for added TLD option in google_translate
* Add Language to TLD mapping, Make tld configurable in google_translate
* Move const to dedicated file in google_translate
* Add translation_key attribute to entity state
* Update accuweather test
* Index entity translation keys by platform
* Store translation key in entity registry
If the keys changed for the yale locks, the locks would be
slow to setup. Because august had yalexs_ble as an
after dep, it would be waiting with the new keys but not
able to setup because it was waiting for the locks to setup
which would be trying over and over until they failed because
the key had changed out from under it.
This change moves some more code into the lib to avoid
the dep and allows both to startup at the same time so
the cloud service can feed the new keys in if needed without
waiting for the lock to fail to setup
changelog: https://github.com/bdraco/yalexs-ble/compare/v1.9.8...v1.10.0
* bump python-bsblan version to 0.5.8
* add static_state
this holds values that only needs retrieving once in a while
* update diagnostics json with the right info
* Make validate async in SchemaOptionsFlowHandler
* Adjust group
* Adjust tests
* Move all to async
* Adjust integrations
* Missed an integration
* Missed one
* Rebase to fix conflict
* Upgrade pytest-aiohttp
* Make sure executors, tasks and timers are closed
Some test will trigger warnings on garbage collect, these warnings
spills over into next test.
Some test trigger tasks that raise errors on shutdown, these spill
over into next test.
This is to mimic older pytest-aiohttp and it's behaviour on test
cleanup.
Discussions on similar changes for pytest-aiohttp are here:
https://github.com/pytest-dev/pytest-asyncio/pull/309
* Replace loop with event_loop
* Make sure time is frozen for tests
* Make sure the ConditionType is not async
/home-assistant/homeassistant/helpers/template.py:2082: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
def wrapper(*args, **kwargs):
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
* Increase litejet press tests with a factor 10
The times are simulated anyway, and we can't stop the normal
event from occuring.
* Use async handlers for aiohttp
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
/Users/joakim/src/hass/home-assistant/venv/lib/python3.9/site-packages/aiohttp/web_urldispatcher.py:189: DeprecationWarning: Bare functions are deprecated, use async ones
warnings.warn(
* Switch to freezegun in modbus tests
The tests allowed clock to tick in between steps
* Make sure skybell object are fully mocked
Old tests would trigger attempts to post to could services:
```
DEBUG:aioskybell:HTTP post https://cloud.myskybell.com/api/v3/login/ Request with headers: {'content-type': 'application/json', 'accept': '*/*', 'x-skybell-app-id': 'd2b542c7-a7e4-4e1e-b77d-2b76911c7c46', 'x-skybell-client-id': '1f36a3c0-6dee-4997-a6db-4e1c67338e57'}
```
* Fix sorting that broke after rebase
* Validate common statistics db schema errors on start
* Fix test
* Add tests
* Adjust tests
* Disable statistics schema validation in tests
* Update after rebase
* Minimize wait time for interface discovery
* fix OptionsFlow when connection failed
there is no `self.hass.data["KNX"]` when we are in retry mode after failed integration setup
* review changes
* fix new tests
* Add support for Identify feature
* Add tests for button
* Use only identifiers for device_info
* Update homeassistant/components/homewizard/button.py
* always use instance variable for new entry data
- change `self._tunneling_config` to non-optional `self.new_entry_data`
- always use self.new_entry_data in `finish_flow()`
* support secure routing
* amend current tests
* use sync latency tolerance
* test secure routing config flow
* diagnostics redact backbone_key
* test xknx library setup
* check length of backbone_key
* better readable key validation
* Add helper to calculate statistic period start and end
* Don't parse values in resolve_period
* Add specific test for resolve_period
* Improve typing
* Move to recorder/util.py
* Extract period schema
* Announce a deprecated callback will stop working
* Use 2 months grace period
* Use 2 months grace period
* Use 2 months grace period
* Add deprecation comment to tests
* Allow configuring country and language in core config
* Add script for updating list of countries
* Use black for formatting
* Fix quoting
* Move country codes to a separate file
* Address review comments
* Add generated/countries.py
* Get default language from owner account
* Remove unused variable
* Add script to generate list of supported languages
* Add tests
* Fix stale docsring
* Use format_python_namespace
* Correct async_user_store
* Improve typing
* Fix with_store decorator
* Initialize language in core store migration
* Fix startup
* Tweak
* Apply suggestions from code review
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Update storage.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Fire events when long term statistics is updated
* Allow the new events to be subscribed to by anyone
* Address review comments
* Finish renaming events
* Finish renaming events
* Fix do_adhoc_statistics
* Adjust tests
* Adjust tests
* Add OptionsFlow helper classes
* More integrations
* Adjust SchemaOptionsFlowHandler
* Use single class
* Simplify access to options
* Reduce PR
* Make _options private
* Add test
* Add ReauthFlow
* Update homeassistant/components/whirlpool/config_flow.py
Darn it - thought I caught all of these.
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Add custom device_class for select entity
* Update tests
* Make the state PowerOff translatable
* Update strings.select.json file
* add select.en.json
Co-authored-by: J. Nick Koston <nick@koston.org>
* Withing trigger a call to coordinator after init
* Stop discovery task on STOP event
* Stop dsmr connection task on STOP
* Use autospec in modem_serial tests
close on AioSerial is non async, and should not be mocked as a coroutine
* Make sure responder is specced correctly
tests/components/emulated_hue/test_init.py::test_setup_works
/Users/joakim/src/hass/home-assistant/homeassistant/components/emulated_hue/__init__.py:119: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
protocol.close()
* Don't assume Pymodbus is the only thing logging
* Use gather instead of wait
```
homeassistant/components/homeassistant/__init__.py:208: DeprecationWarning: The explicit passing of coroutine objects to asyncio.wait() is deprecated since Python 3.8, and scheduled for removal in Python 3.11.
```
* Increase wait time for automation tests
Assuming exit within 1 seconds is unreasonable on a potentially loaded
test machine.
* Avoid changing app state after startup
* Add control option for Energy Socket status LED
* Add tests for number
* Fix failing tests in switch
* Fix comments
* Adjust name
* Simplify device_info
* Add Mqtt WebSockets support
* Fix tests
* Add testing websockets options
* Add tests transport settings
* Do not use templates for ws_headers
* Use json helper - small corrections
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Andre Richter <andre-richter@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Migrate ZHA when enabling multi-PAN support on HA Yellow
* Refactor BaseZhaFlow.async_step_maybe_confirm_ezsp_restore
* Change data passed to ZHA to initiate migration
* Catch errors during ZHA migration
* Fix ZhaMigrationHelper.async_prepare_yellow_migration return value
* Improve test coverage
* Improve test coverage
* Fix spelling
* Rename some none HA yellow specifics
* Rename again
* Increase number of migration retries + refactor
* Suppress OperationNotAllowed when reloading
* Adjust tests