* Add NASweb integration
* Fix DeviceInfo import
* Remove commented out code
* Change class name for uniquness
* Drop CoordinatorEntity inheritance
* Rename class Output to more descriptive: RelaySwitch
* Update required webio-api version
* Implement on-the-fly addition/removal of entities
* Set coordinator name matching device name
* Set entities with too old status as unavailable
* Drop Optional in favor of modern typing
* Fix spelling of a variable
* Rename commons to more fitting name: helper
* Remove redundant code
* Let unload fail when there is no coordinator
* Fix bad docstring
* Rename cord to coordinator for clarity
* Remove default value for pop and let it raise exception
* Drop workaround and use get_url from helper.network
* Use webhook to send data from device
* Deinitialize coordinator when no longer needed
* Use Python formattable string
* Use dataclass to store integration data in hass.data
* Raise ConfigEntryNotReady when appropriate
* Refactor NASwebData class
* Move RelaySwitch to switch.py
* Fix ConfigFlow tests
* Create issues when entry fails to load
* Respond when correctly received status update
* Depend on webhook instead of http
* Create issue when status is not received during entry set up
* Make issue_id unique across integration entries
* Remove unnecessary initializations
* Inherit CoordinatorEntity to avoid code duplication
* Optimize property access via assignment in __init__
* Use preexisting mechanism to fill schema with user input
* Fix translation strings
* Handle unavailable or unreachable internal url
* Implement custom coordinator for push driven data updates
* Move module-specific constants to respective modules
* Fix requirements_all.txt
* Fix CODEOWNERS file
* Raise ConfigEntryError instead of issue creation
* Fix entity registry import
* Use HassKey as key in hass.data
* Use typed ConfigEntry
* Store runtime data in config entry
* Rewrite to be more Pythonic
* Move add/remove of switch entities to switch.py
* Skip unnecessary check
* Remove unnecessary type hints
* Remove unnecessary nonlocal
* Use a more descriptive docstring
* Add docstrings to NASwebCoordinator
* Fix formatting
* Use correct return type
* Fix tests to align with changed code
* Remove commented code
* Use serial number as config entry id
* Catch AbortFlow exception
* Update tests to check ConfigEntry Unique ID
* Remove unnecessary form abort
* Add new integration for WMS WebControl pro using local API
Warema recently released a new local API for their WMS hub
called "WebControl pro". This integration makes use of the
new local API via a new dedicated Python library pywmspro.
For now this integration only supports awnings as covers.
But pywmspro is device-agnostic to ease future extensions.
* Incorporated review feedback from joostlek
Thanks a lot!
* Incorporated more review feedback from joostlek
Thanks a lot!
* Incorporated more review feedback from joostlek
Thanks a lot!
* Fix
* Follow-up fix
* Improve handling of DHCP discovery
* Further test improvements suggested by joostlek, thanks!
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Initial commit
* Second commit - with some coverage but errors abount
* Updated testing coverage
* Should be just about ready for PR
* Adding some error handling for wonky acocunts
* Adding USD hardcoded as this is all that is currently supported i believe
* updating snapshots
* updating entity descrition a little
* Addign cashflow in
* adding aggregate sensors
* tweak icons
* refactor some type stuff as well as initialize the pr comment addressing process
* remove empty fields from manifest
* Update homeassistant/components/monarchmoney/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* move stuff
* get logging out of try block
* get logging out of try block
* using Subscription ID as stored in config entry for unique id soon
* new unique id
* giving cashflow a better unique id
* Moving subscription id stuff into setup of coordinator
* Update homeassistant/components/monarchmoney/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* ruff ruff
* ruff ruff
* split ot value and balance sensors... need to go tos leep
* removed icons
* Moved summary into a data class
* efficenty increase
* Update homeassistant/components/monarchmoney/coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarchmoney/coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarchmoney/coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarchmoney/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* refactor continues
* removed a comment
* forgot to add a little bit of info
* updated snapshot
* Updates to monarch money using the new typed/wrapper setup
* backing lib update
* fixing manifest
* fixing manifest
* fixing manifest
* Version 0.2.0
* fixing some types
* more type fixes
* cleanup and bump
* no check
* i think i got it all
* the last thing
* update domain name
* i dont know what is in this commit
* The Great Renaming
* Moving to dict style accounting - as per request
* updating backing deps
* Update homeassistant/components/monarch_money/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/monarch_money/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/monarch_money/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/monarch_money/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/monarch_money/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* some changes
* fixing capitalizaton
* test test test
* Adding dupe test
* addressing pr stuff
* forgot snapshot
* Fix
* Fix
* Update homeassistant/components/monarch_money/sensor.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add empty weheat integration
* Add first sensor to weheat integration
* Add weheat entity to provide device information
* Fixed automatic selection for a single heat pump
* Replaced integration specific package and removed status sensor
* Update const.py
* Add reauthentication support for weheat integration
* Add test cases for the config flow of the weheat integration
* Changed API and OATH url to weheat production environment
* Add empty weheat integration
* Add first sensor to weheat integration
* Add weheat entity to provide device information
* Fixed automatic selection for a single heat pump
* Replaced integration specific package and removed status sensor
* Add reauthentication support for weheat integration
* Update const.py
* Add test cases for the config flow of the weheat integration
* Changed API and OATH url to weheat production environment
* Resolved merge conflict after adding weheat package
* Apply suggestions from code review
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Added translation keys, more type info and version bump the weheat package
* Adding native property value for weheat sensor
* Removed reauth, added weheat sensor description and changed discovery of heat pumps
* Added unique ID of user to entity
* Replaced string by constants, added test case for duplicate unique id
* Removed duplicate constant
* Added offline scope
* Removed re-auth related code
* Simplified oath implementation
* Cleanup tests for weheat integration
* Added oath scope to tests
---------
Co-authored-by: kjell-van-straaten <kjell.van.straaten@wefabricate.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Initial version
* Baseline release
* Refactor based on first PR feedback
* Refactoring based on second PR feedback
* Initial version
* Baseline release
* Refactor based on first PR feedback
* Refactoring based on second PR feedback
* Refactoring based on PR feedback
* Refactoring based on PR feedback
* Remove extra attribute soil type
Soil type isn't really a sensor, but more like a configuration entity.
Move soil type to a different PR to keep this PR simpler.
* Refactor SensoterraSensor to a named tuple
* Implement feedback on PR
* Remove .coveragerc
* Add async_set_unique_id to config flow
* Small fix based on feedback
* Add test form unique_id
* Fix
* Fix
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Migrate emoncms to config flow
* tests coverage 98%
* use runtime_data
* Remove pyemoncms bump.
* Remove not needed yaml parameters add async_update_data to coordinator
* Reduce snapshot size
* Remove CONF_UNIT_OF_MEASUREMENT
* correct path in emoncms_client mock
* Remove init connexion check
as done by config_entry_first_refresh
since async_update_data catches exceptionand raise UpdateFailed
* Remove CONF_EXCLUDE_FEEDID from config flow
* Update homeassistant/components/emoncms/__init__.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/emoncms/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/emoncms/strings.json
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Use options in options flow and common strings
* Extend the ConfigEntry type
* Define the type explicitely
* Add data description in strings.json
* Update tests/components/emoncms/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/emoncms/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add test import same yaml conf + corrections
* Add test user flow
* Use data_description...
* Use snapshot_platform in test_sensor
* Transfer all fixtures in conftest
* Add async_step_choose_feeds to ask flows to user
* Test abortion reason in test_flow_import_failure
* Add issue when value_template is i yaml conf
* make text more expressive in strings.json
* Add issue when no feed imported during migration.
* Update tests/components/emoncms/test_config_flow.py
* Update tests/components/emoncms/test_config_flow.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Google Cloud can now be setup from the UI
* mypy
* Add BaseGoogleCloudProvider
* Allow clearing options in the UI
* Address feedback
* Don't translate Google Cloud title
* mypy
* Revert strict typing changes
* Address comments
* Add Lektrico Integration
* Make the changes proposed by Lash-L: new coordinator.py, new entity.py; use: translation_key, last_update_sucess, PlatformNotReady; remove: global variables
* Replace FlowResult with ConfigFlowResult and add tests.
* Remove unused lines.
* Remove Options from condif_flow
* Fix ruff and mypy.
* Fix CODEOWNERS.
* Run python3 -m script.hassfest.
* Correct rebase mistake.
* Make modifications suggested by emontnemery.
* Add pytest fixtures.
* Remove meaningless patches.
* Update .coveragerc
* Replace CONF_FRIENDLY_NAME with CONF_NAME.
* Remove underscores.
* Update tests.
* Update test file with is and no config_entries. .
* Set serial_number in DeviceInfo and add return type of the async_update_data to DataUpdateCoordinator.
* Use suggested_unit_of_measurement for KILO_WATT and replace Any in value_fn (sensor file).
* Add device class duration to charging_time sensor.
* Change raising PlatformNotReady to raising IntegrationError.
* Test the unique id of the entry.
* Rename PF Lx with Power factor Lx and remove PF from strings.json.
* Remove comment.
* Make state and limit reason sensors to be enum sensors.
* Use result variable to check unique_id in test.
* Remove CONF_NAME from entry and __init__ from LektricoFlowHandler.
* Remove session parameter from LektricoDeviceDataUpdateCoordinator.
* Use config_entry: ConfigEntry in coordinator.
* Replace Connected,NeedAuth with Waiting for Authentication.
* Use lektricowifi 0.0.29.
* Use lektricowifi 0.0.39
* Use lektricowifi 0.0.40
* Use lektricowifi 0.0.41
* Replace hass.data with entry.runtime_data
* Delete .coveragerc
* Restructure the user step
* Fix tests
* Add returned value of _async_update_data to class DataUpdateCoordinator
* Use hw_version at DeviceInfo
* Remove a variable
* Use StateType
* Replace friendly_name with device_name
* Use sentence case in translation strings
* Uncomment and fix test_discovered_zeroconf
* Add type LektricoConfigEntry
* Remove commented code
* Remove the type of coordinator in sensor async_setup_entry
* Make zeroconf test end in ABORT, not FORM
* Remove all async_block_till_done from tests
* End test_user_setup_device_offline with CREATE_ENTRY
* Patch the full Device
* Add snapshot tests
* Overwrite the type LektricoSensorEntityDescription outside of the constructor
* Test separate already_configured for zeroconf
---------
Co-authored-by: mihaela.tarjoianu <mihaela.tarjoianu@scada.ro>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Deako integration using pydeako
* fix: address feedback
- make unit tests more e2e
- use runtime_data to store connection
* fix: address feedback part 2
- added better type safety for Deako config entries
- refactored the config flow tests to use a conftest mock instead of directly patching
- removed pytest.mark.asyncio test decorators
* fix: address feedback pt 3
- simplify config entry type
- add test for single_instance_allowed
- remove light.py get_state(), only used once, no need to be separate function
* fix: ruff format
* Update homeassistant/components/deako/__init__.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Initial SMLIGHT integration
Signed-off-by: Tim Lunn <tl@smlight.tech>
* Generated content
Signed-off-by: Tim Lunn <tl@smlight.tech>
* Cleanup LOGGING
* Use runtime data
* Call super first
* coordinator instance attributes
* Move coordinatorEntity and attr to base class
* cleanup sensors
* update strings to use sentence case
* Improve reauth flow on incorrect credentials
* Use fixture for config_flow tests and test to completion
* Split uptime hndling into a new uptime sensor entity
* Drop server side events and internet callback
will bring this back with binary sensor Platform
* consolidate coordinator setup
* entity always include connections
* get_hostname tweak
* Add tests for init, coordinator and sensor
* Use custom type SmConfigEntry
* update sensor snapshot
* Drop reauth flow for later PR
* Use _async_setup for initial setup
* drop internet to be set later
* sensor fixes
* config flow re
* typing fixes
* Bump pysmlight dependency to 0.0.12
* dont trigger invalid auth message when first loading auth step
* Merge uptime sensors back into main sensor class
* clarify uptime handling
* Apply suggestions from code review
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* address review comments
* pass host as parameter to the dataCoordinator
* drop uptime sensors for a later PR
* update sensor test snapshot
* move coordinator unique_id to _async_setup
* fix CI
* Apply suggestions from code review
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* drop invalid_auth test tag
* use snapshot_platform, update fixtures
* Finish all tests with abort or create entry
* drop coordinator tests and remove hostname support
* add test for update failure on connection error
* use freezer for update_failed test
* fix pysmlight imports
---------
Signed-off-by: Tim Lunn <tl@smlight.tech>
Co-authored-by: Tim Lunn <tim@feathertop.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add support for Fujitsu HVAC devices
* Add the entity code to .coveragerc
* Only include code that can fail in the try/except block
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove empty keys from manifest
* Remove VERSION as it's already the default
* Remve the get_devices function and use asyncio.gather to parallelize dev updates
* Move initial step to a function
* Let KeyError bubble up. If we are passed an invalid mode it's probably worth raising an exception.
* Await the gather
* Use the async version of the refresh_auth call
* Use the serial number as unique id
* Use HA constant for precision
* Use dev instead of self._dev
* Move to property decorated methods
* Remove bidict dependency
* Setup one config entry for our api credentials instead of per device
* Remove bidict from requirements
* Signout and remove our api object on unload
* Use app credentials from ayla_iot_unofficial
* Use entry_id as a key to store our API object
* Delete unused code
* Create reverse mappings from forward mapping instead of hardcoding them
* Clean up the property methods
* Only import part of config_entries we are using
* Implement suggested changes
* Fix tests to use new API consts
* Add support for reauth
* Use a coordinator instead of doing per-entity refresh
* Auto is equivalent to HEAT_COOL not AUTO
* Add ON and OFF to list of supported features
* Use the mock_setup_entry fixture for the reauth tests
* Parametrize testing of config flow exceptions
* Only wrap fallable code in try/except
* Add tests for coordinator
* Use self.coordinator_context instead of self._dev.device_serial_number
* Move timeout to ayla_iot_unofficial
* Add description for is_europe field
* Bump version of ayla-iot-unofficial
* Remove turn_on/turn_off warning
* Move coordinator creating to __init__
* Add the type of coordinator to the CoordiatorEntity
* Update docstring for FujitsuHVACDevice constructor
* Fix missed self._dev to dev
* Abort instead of showing the form again with an error when usernames are different
* Remove useless argument
* Fix tests
* Implement some suggestions
* Use a device property the maps to the coordinator data
* Fix api sign out when unloading the entry
* Address comments
* Fix device lookup
* Move API sign in to coordinator setup
* Get rid of FujitsuHVACConfigData
* Fix async_setup_entry signature
* Fix mock_ayla_api
* Cleanup common errors
* Add test to check that re adding the same account fails
* Also patch new_ayla_api in __init__.py
* Create a fixture to generate test devices
* Add a setup_integration function that does the setup for a mock config entry
* Rework unit tests for the coordinator
* Fix typos
* Use hass session
* Rework reauth config flow to only modify password
* Update name to be more use-friendly
* Fix wrong type for entry in async_unload_entry
* Let TimeoutError bubble up as teh base class handles it
* Make the mock ayla api return some devices by default
* Move test to test_climate.py
* Move tests to test_init.py
* Remove reauth flow
* Remove useless mock setup
* Make our mock devices look real
* Fix tests
* Rename fujitsu_hvac to fujitsu_fglair and rename the integration to FGLair
* Add the Fujitsu brand
* Add a helper function to generate an entity_id from a device
* Use entity_id to remove hardcoded entity ids
* Add a test to increase code coverage
---------
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
* Add ElevenLabs text-to-speech integration
* Remove commented out code
* Use model_id instead of model_name for elevenlabs api
* Apply suggestions from code review
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
* Use async client instead of sync
* Add ElevenLabs code owner
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Set entity title to voice
* Rename to elevenlabs
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Allow multiple voices and options flow
* Sort default voice at beginning
* Rework config flow to include default model and reloading on options flow
* Add error to strings
* Add ElevenLabsData and suggestions from code review
* Shorten options and config flow
* Fix comments
* Fix comments
* Add wip
* Fix
* Cleanup
* Bump elevenlabs version
* Add data description
* Fix
---------
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Michael Hansen <mike@rhasspy.org>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Add Pinecil integration
* Refactor with new library
* Add tests for config flow, remove unused code
* requested changes
* update requirements
* Move some sensor values to diagnostics, add tests for sensors
* User service uuid in discovery
* fix manufacturer name
* Bump pynecil to version 0.2.0
* Rename integration to IronOS
* Recreate snapshot
* Update strings
* type checking
* Update snapshot
* Add async_setup to coordinator
* Show device id with serial number
* Added missing boost to operation mode states
* remove super call
* Refactor
* tests
* Add an integration for Bryant Evolution HVAC systems.
* Update newly created tests so that they pass.
* Improve compliance with home assistant guidelines.
* Added tests
* remove xxx
* Minor test cleanups
* Add a test for reading HVAC actions.
* Update homeassistant/components/bryant_evolution/__init__.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/bryant_evolution/climate.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/bryant_evolution/climate.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/bryant_evolution/climate.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/bryant_evolution/climate.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/bryant_evolution/climate.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/bryant_evolution/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Address reviewer comments.
* Address additional reviewer comments.
* Use translation for exception error messages.
* Simplify config flow.
* Continue addressing comments
* Use mocking rather than DI to provide a for-test client in tests.
* Fix a failure in test_config_flow.py
* Track host->filename in strings.json.
* Use config entry ID for climate entity unique id
* Guard against fan mode returning None in async_update.
* Move unavailable-client check from climate.py to init.py.
* Improve test coverage
* Bump evolutionhttp version
* Address comments
* update comment
* only have one _can_reach_device fn
* Auto-detect which systems and zones are attached.
* Add support for reconfiguration
* Fix a few review comments
* Introduce multiple devices
* Track evolutionhttp library change that returns additional per-zone information during enumeration
* Move construction of devices to init
* Avoid triplicate writing
* rework tests to use mocks
* Correct attribute name to unbreak test
* Pull magic tuple of system-zone into a constant
* Address some test comments
* Create test_init.py
* simplify test_reconfigure
* Replace disable_auto_entity_update with mocks.
* Update tests/components/bryant_evolution/test_climate.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/bryant_evolution/test_climate.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/bryant_evolution/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/bryant_evolution/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/bryant_evolution/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/bryant_evolution/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix test errors
* do not access runtime_data in tests
* use snapshot_platform and type fixtures
---------
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Initial import 0.0.2
* Fixes to URL, and removed commits
* Initial import 0.0.2
* Fixes to URL, and removed commits
* Added first test for iotty
* First release
* Reviewers request #1
- Removed clutter
- Added support for new naming convention for IottySmartSwitch entity
* Removed commmented code
* Some modifications
* Modified REST EP for iotty CloudApi
* Initial import 0.0.2
* Fixes to URL, and removed commits
* Added first test for iotty
* First release
* Rebased and resolved conflicts
* Reviewers request #1
- Removed clutter
- Added support for new naming convention for IottySmartSwitch entity
* Removed commmented code
* Some modifications
* Modified REST EP for iotty CloudApi
* Removed empty entries in manifest.json
* Added test_config_flow
* Fix as requested by @edenhaus
* Added test_init
* Removed comments, added one assert
* Added TEST_CONFIG_FLOW
* Added test for STORE_ENTITY
* Increased code coverage
* Full coverage for api.py
* Added tests for switch component
* Converted INFO logs onto DEBUG logs
* Removed .gitignore from commits
* Modifications to SWITCH.PY
* Initial import 0.0.2
* Fixes to URL, and removed commits
* Added first test for iotty
* First release
* Rebased and resolved conflicts
* Fixed conflicts
* Reviewers request #1
- Removed clutter
- Added support for new naming convention for IottySmartSwitch entity
* Removed commmented code
* Some modifications
* Modified REST EP for iotty CloudApi
* Removed empty entries in manifest.json
* Added test_config_flow
* Some modifications
* Fix as requested by @edenhaus
* Added test_init
* Removed comments, added one assert
* Added TEST_CONFIG_FLOW
* Added test for STORE_ENTITY
* Increased code coverage
* Full coverage for api.py
* Added tests for switch component
* Converted INFO logs onto DEBUG logs
* Removed .gitignore from commits
* Modifications to SWITCH.PY
* Fixed tests for SWITCH
* First working implementation of Coordinator
* Increased code coverage
* Full code coverage
* Missing a line in testing
* Update homeassistant/components/iotty/__init__.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Update homeassistant/components/iotty/__init__.py
Co-authored-by: Robert Resch <robert@resch.dev>
* Modified coordinator as per request by edenhaus
* use coordinator entities for switches
* move platforms to constants
* fix whitespace with ruff-format
* correct iotty entry in application_credentials list
* minor style improvements
* refactor function name
* handle new and deleted devices
* improve code for adding devices after first initialization
* use typed config entry instead of adding known devices to hass.data
* improve iotty entity removal
* test listeners update cycle
* handle iotty as devices and not only as entities
* fix test typing for mock config entry
* test with fewer mocks for an integration test style opposed to the previous unit test style
* remove useless tests and add more integration style tests
* check if device_to_remove is None
* integration style tests for turning switches on and off
* remove redundant coordinator tests
* check device status after issuing command in tests
* remove unused fixtures
* add strict typing for iotty
* additional asserts and named snapshots in tests
* fix mypy issues after enabling strict typing
* upgrade iottycloud version to 0.1.3
* move coordinator to runtime_data
* remove entity name
* fix typing issues
* coding style fixes
* improve tests coding style and assertion targets
* test edge cases when apis are not working
* improve tests comments and assertions
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Shapour Nemati <shapour.nemati@iotty.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: shapournemati-iotty <130070037+shapournemati-iotty@users.noreply.github.com>
* Add Israel Rail integration
* israel_rail tests
* israel_rail tests
* 1. use entry.runtime
2. DataConnection - data class
3. remove unique id from coordinator
4. use EntityDescription
* add a list of stations in user form
* 1. extend ConfigEntry
2. remove unused pop
3. use IsraelRailSensorEntityDescription to have only one kind of Sensor
4. add test for already configured
5. use snapshot in test
* change user step description
* 1. ConfigEntry[IsraelRailDataUpdateCoordinator]
2. remove redundant attributes
3. use snapshot_platform helper
* remove attr
* remove attr
* move test to test_init.py
* Fix
* Fix
* Fix
* Fix
* fix timezone
* fix
* fix
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Init Autarco integration
* Add integration code with tests
* Update every 5 minutes
* Process all feedback from Joost
* Bump lib to v2.0.0
* Add more then one site if present
* Fix issue with entity translation
* Update the test for sensor entities
* Fix round two based on feedback from Joost
* Add autarco to strict typing
* Update tests/components/autarco/test_config_flow.py
* Update tests/components/autarco/test_config_flow.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add config flow to Russound RIO
* Ensure Russound RIO connection is handled at entry setup
* Add tests for Russound RIO config flow
* Add yaml configuration import to Russound RIO
* Use runtime_data to store Russound RIO client
* Seperate common import and user config logic for Russound RIO
* Update config flow to use aiorussound
* Add MAC address as unique ID for Russound RIO
* Fix pre-commit for Russound RIO
* Refactor config flow error handling for Russound RIO
* Add config flow import abort message for no primary controller
* Add common strings to Russound RIO
* Use reference strings for Russound RIO issue strings
* Remove commented out test fixture from Russound RIO
* Clean up test fixtures for Russound RIO
* Remove model from entry data in Russound RIO
* Clean up Russound client mock
* Clean up Russound test fixtures
* Remove init tests and clean up Russound config flow cases
* feat: Add madvr envy
* fix: await and pass entry directly
* fix: add attributes and unique id for sensors
* fix: reflect power state well, improve state detection
* fix: don't connect on init, add options, add reload on change, keep on during test
* fix: cancel tasks on unload
* fix: test connection via library
* fix: wait for boot time
* docs: add readme and license
* fix: broken pipe in lib
* fix: detect out of band power off
* fix: improve extra attributes
* fix: fix unloading, add config flow test, limit to one platform
* fix: use conf, refresh coordinator, other comments
* fix: remove event data
* fix: fix tests passing, remove wake on lan
* fix: dont allow to proceed unless connection works
* chore: update dep
* fix: update config flow, add constants
* fix: write state, use runtime data instead
* fix: remove await
* fix: move unloading and stuff to coordinator/init
* fix: pass in config entry with correct type
* fix: move queue and tasks to library
* fix: config flow error flow, tests, name, and update lib
* fix: update lib, leave connection open on setup
* fix: update lib
* fix: address comments, remove wol from lib
* fix: remove unneeded options
* fix: remove fields
* fix: simplify code, address comments
* fix: move error to lib
* fix: fix test
* fix: stronger types
* fix: update lib
* fix: missing text from options flow
* chore: remove options flow
* chore: remove import
* chore: update comments
* fix: get mac from device, persist
* fix: add mac stuff to test
* fix: startup import errors
* chore: stale comment
* fix: get mac from persisted config
* chore: update lib
* fix: persist mac in a better way
* feat: use mac as unique ID for entry
* fix: use unique ID from mac, add proper device
* fix: will not be set in init potentially
* fix: access mac
* fix: optimize, move error to lib
* feat: add coordinator test, use conf
* fix: use one mock, add init test
* fix: not async
* feat: add remote test
* fix: types
* fix: patch client, expand remote tests
* fix: use snapshot test
* fix: update branding
* fix: add description, fix type check
* fix: update tests
* fix: test
* fix: update test
* fix: camelcase
* Fix
* feat: strict typing
* fix: strict typing in lib
* fix: type will never be None
* fix: reference to mac, all tests passing
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Dio Chacon integration addition with config flow and cover entity
* Addition of model information for device
* Addition of light and service to force reloading states
* Logger improvements
* Convert light to switch and usage of v1.0.0 of the api
* 100% for tests coverage
* Invalid credential implementation and rebase on latest ha dev code
* Simplify PR with only one platform
* Ruff correction
* restore original .gitignore content
* Correction of cover state bug when using cover when using actions on cover group.
* Begin of corrections following review.
* unit tests correction
* Refactor with a coordinator as asked by review
* Implemented a post constructor callback init method via dio-chacon-api-1.0.2. Improved typing.
* Corrections for 2nd review
* Reimplemented without coordinator as reviewed with Joostlek
* Review improvement
* generalize callback in entity
* Other review improvements
* Refactored tests for readability
* Test 100% operationals
* Tests review corrections
* Tests review corrections
* Review tests improvements
* simplified tests with snapshots and callback method
* Final fixes
* Final fixes
* Final fixes
* Rename to chacon_dio
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Initial commit
* Support changed API
Change sensor entity descriptions
* Fix sensor not handling coordinator update
* Implement re-authentication flow and handle token expiry
* Bump aioaquacell
* Bump aioaquacell
* Cleanup and initial tests
* Fixes for config flow tests
* Cleanup
* Fixes
* Formatted
* Use config entry runtime
Use icon translations
Removed reauth
Removed last updated sensor
Changed lid in place to binary sensor
Cleanup
* Remove reauth strings
* Removed binary_sensor platform
Fixed sensors not updating properly
* Remove reauth tests
Bump aioaquacell
* Moved softener property to entity class
Inlined validate_input method
Renaming of entities
Do a single async_add_entities call to add all entities
Reduced code in try blocks
* Made tests parameterized and use test fixture for api
Cleaned up unused code
Removed traces of reauth
* Add check if refresh token is expired
Add tests
* Add missing unique_id to config entry mock
Inlined _update_config_entry_refresh_token method
Fix incorrect test method name and comment
* Add snapshot test
Changed WiFi level to WiFi strength
* Bump aioaquacell to 0.1.7
* Move test_coordinator tests to test_init
Add test for duplicate config entry
* Add ista EcoTrend integration
* move code out of try
* Use account owners name as entry title
* update config flow tests
* add tests for init
* Add reauth flow
* Add tests for sensors
* add translations for reauth
* trigger statistics import on first refresh
* Move statistics and reauth flow to other PR
* Fix tests
* some changes
* draft_final_final
* remove unnecessary icons
* changed tests
* move device_registry test to init
* add text selectors
* Add config flow
* Make sure the device is polled - refactor
* Fix
* Add tests config flow
* Update test requirements
* Ensure dispatcher has a unique signal per heater
* Followup on review
* Follow up comments
* One more docstr
* Make specific try blocks and refactoring
* Handle import exceptions
* Restore removed lines
* Move initial heater update in try block
* Raise issue failed import
* Update test codeowners
* Remove entity device info
* Remove entity device info
* Appy suggestions from code review
* Remove broad exception handling from entry setup
* Test coverage
* Initial commit
* add basic tests (will probably fail)
* Set basic UID for now
* Various improvements
* use new naming convention?
* bit by bit, still not working tho
* Add tz selection
* Remove failing tests
* update unique_id
* add the tests again
* revert to previous binary_sensor test
* remove translations
* apply suggestions
* remove const.py
* Address review
* revert changes
* Initial fixes for tests
* Initial commit
* add basic tests (will probably fail)
* Set basic UID for now
* Various improvements
* use new naming convention?
* bit by bit, still not working tho
* Add tz selection
* Remove failing tests
* update unique_id
* add the tests again
* revert to previous binary_sensor test
* remove translations
* apply suggestions
* remove const.py
* Address review
* revert changes
* Fix bad merges in rebase
* Get tests to run again
* Fixes due to fails in ruff/pylint
* Fix binary sensor tests
* Fix config flow tests
* Fix sensor tests
* Apply review
* Adjust candle lights
* Apply suggestion
* revert unrelated change
* Address some of the comments
* We should only allow a single jewish calendar config entry
* Make data schema easier to read
* Add test and confirm only single entry is allowed
* Move OPTIONS_SCHEMA to top of file
* Add options test
* Simplify import tests
* Test import end2end
* Use a single async_forward_entry_setups statement
* Revert schema updates for YAML schema
* Remove unneeded brackets
* Remove CONF_NAME from config_flow
* Assign hass.data[DOMAIN][config_entry.entry_id] to a local variable before creating the sensors
* Data doesn't have a name remove slugifying of it
* Test that the entry has been created correctly
* Simplify setup_entry
* Use suggested values helper and flatten location dictionary
* Remove the string for name exists as this error doesn't exist
* Remove name from config entry
* Remove _attr_has_entity_name - will be added in a subsequent PR
* Don't override entity id's - we'll fixup the naming later
* Make location optional - will by default revert to the user's home location
* Update homeassistant/components/jewish_calendar/strings.json
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* No need for local lat/long variable
* Return name attribute, will deal with it in another PR
* Revert unique_id changes, will deal with this in a subsequent PR
* Add time zone data description
* Don't break the YAML config until the user has removed it.
* Cleanup initial config flow test
---------
Co-authored-by: Tsvi Mostovicz <ttmost@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add APsystems local API integration
* Fix session usage in config_flow in apsystems local api
* Remove skip check option for apsystems_loca api
* Update APsystems API dependency and increased test coverage to 100%
* Utilize EntityDescriptions for APsystems Local integration
* Ensure coverage entries are sorted (#114424)
* Ensure coverage entries are sorted
* Use autofix
* Adjust
* Add comment to coverage file
* test CI
* revert CI test
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use patch instead of Http Mocks for APsystems API tests
* Fix linter waring for apsystemsapi
* Fix apsystemsapi test
* Fix CODEOWNERS for apsystemsapi
* Address small PR review changes for apsystems_local
* Remove wrong lines in coveragerc
* Add serial number for apsystems_local
* Remove option of custom refresh interval fro apsystems_local
* Remove function override and fix stale comments
* Use native device id and name storage instead of custom one for apsystems_local
* Use runtime_data for apsystems_local
* Don't store entry data in runtime data
* Move from apsystems_local to apsystems domain
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* File integration entry setup
* Import to entry and tests
* Add config flow
* Exception handling and tests
* Add config flow tests
* Add issue for micration and deprecation
* Check whole entry data for uniqueness
* Revert changes change new notify entity
* Follow up on code review
* Keep name service option
* Also keep sensor name
* Make name unique
* Follow up comment
* No default timestamp needed
* Remove default name as it is already set
* Use links
* Initial monzo implementation
* Tests and fixes
* Extracted api to pypi package
* Add app confirmation step
* Corrected data path for accounts
* Removed useless check
* Improved tests
* Exclude partially tested files from coverage check
* Use has_entity_name naming
* Bumped monzopy to 1.0.10
* Remove commented out code
* Remove reauth from initial PR
* Remove useless code
* Correct comment
* Remove reauth tests
* Remove device triggers from intial PR
* Set attr outside constructor
* Remove f-strings where no longer needed in entity.py
* Rename field to make clearer it's a Callable
* Correct native_unit_of_measurement
* Remove pot transfer service from intial PR
* Remove reauth string
* Remove empty fields in manifest.json
* Freeze SensorEntityDescription and remove Mixin
Also use list comprehensions for producing sensor lists
* Use consts in application_credentials.py
* Revert "Remove useless code"
Apparently this wasn't useless
This reverts commit c6b7109e47202f866c766ea4c16ce3eb0588795b.
* Ruff and pylint style fixes
* Bumped monzopy to 1.1.0
Adds support for joint/business/etc account pots
* Update test snapshot
* Rename AsyncConfigEntryAuth
* Use dataclasses instead of dictionaries
* Move OAuth constants to application_credentials.py
* Remove remaining constants and dependencies for services from this PR
* Remove empty manifest entry
* Fix comment
* Set device entry_type to service
* ACC_SENSORS -> ACCOUNT_SENSORS
* Make value_fn of sensors return StateType
* Rename OAuthMonzoAPI again
* Fix tests
* Patch API instead of integration for unavailable test
* Move pot constant to sensor.py
* Improve type safety in async_get_monzo_api_data()
* Update async_oauth_create_entry() docstring
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add Epic Games Store integration
Squashed commit of the following PR: #81167
* Bump epicstore-api to 0.1.7 as it handle better error 1004
Thanks to d7469f7c99
* Use extra_state_attributes instead of overriding state_attributes
* Review: change how config_flow.validate_input is handled
* Use LanguageSelector and rename locale to language
* Review: init-better use of hass.data.setdefault
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Review: don't need to update at init
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Revert "Review: don't need to update at init" --> not working otherwise
This reverts commit 1445a87c8e9b7247f1c9835bf2e2d7297dd02586.
* Review: fix config_flow.validate_input/retactor following lib bump
* review: merge async_update function with event property
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* hassfest
* Fix duplicates data from applied comment review 5035055
* review: thanks to 5035055 async_add_entities update_before_add param is not required anymore
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Fix Christmas special "Holiday sale" case
* gen_requirements_all
* Use CONF_LANGUAGE from HA const
* Move CalendarType to const
* manifest: integration_type -> service
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
* calendar: remove date start/end assert
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* const: rename SUPPORTED_LANGUAGES
* hassfest
* config: Move to ConfigFlowResult
* coordinator: main file comment
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* ruff & hassfest
* review: do not guess country
* Add @hacf-fr as codeowner
* review: remove games extra_attrs
Was dropped somehow:
- 73c20f34803b0a0ec242bf0740494f17a68f6f59 review: move games extra_attrs to data service
- other commit that removed the service part
* review: remove unused error class
was removed:
- 040cf945bb5346b6d42b3782b5061a13fb7b1f6b
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Adding a new "Ambient Weather Network" integration.
* Rebase and update code coverage.
* Addressed some reviewer comments.
* Remove mnemonics and replace with station names.
* Remove climate-utils
* Remove support for virtual stations.
* Rebase
* Address feedback
* Remove redundant errors
* Reviewer feedback
* Add icons.json
* More icons
* Reviewer feedback
* Fix test
* Make sensor tests more robust
* Make coordinator more robust
* Change update coordinator to raise UpdateFailed
* Recover from no station found error
* Dynamically set device name
* Address feedback
* Disable some sensors by default
* Reviewer feedback
* Change from hub to service
* Rebase
* Address reviewer feedback
* Reviewer feedback
* Manually rerun ruff on all files
* Add Config Flow to lg_netcast
* Add YAML import to Lg Netcast ConfigFlow
Deprecates YAML config support
* Add LG Netcast Device triggers for turn_on action
* Add myself to LG Netcast codeowners
* Remove unnecessary user_input validation check.
* Move netcast discovery logic to the backend
* Use FlowResultType Enum for tests
* Mock pylgnetcast.query_device_info instead of _send_to_tv
* Refactor lg_netcast client discovery, simplify YAML import
* Simplify CONF_NAME to use friendly name
Fix: Use Friendly name for Name
* Expose model to DeviceInfo
* Add test for testing YAML import when not TV not online
* Switch to entity_name for LGTVDevice
* Add data_description to host field in user step
* Wrap try only around _get_session_id
* Send regular request for access_token to ensure it display on the TV
* Stop displaying access token when flow is aborted
* Remove config_flow only consts and minor fixups
* Simplify media_player logic & raise new migration issue
* Add async_unload_entry
* Create issues when import config flow fails, and raise only a single yaml deprecation issue type
* Remove single use trigger helpers
* Bump issue deprecation breakage version
* Lint
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* add Arve integration
* Update homeassistant/components/arve/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Various fixes, changed scan interval to one minute
* coordinator implementation
* Code cleanup
* Moved device info to the entity.py, ArveDeviceEntityDescription to sensor.py
* delete refresh before adding entities
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update tests/components/arve/test_config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update tests/components/arve/conftest.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Changed value_fn in sensors.py, added typing to description
* Code cleanups, platfrom test implementation
* New code cleanups, first two working tests
* Created platform test, generated snapshots
* Reworked integration to get all of the customer devices
* new fixes
* Added customer id, small cleanups
* Logic of setting unique_id to the config flow
* Added test of abortion on duplicate config_flow id
* Added "available" and "device" properties fro ArveDeviceEntity
* small _attr_unique_id fix
* Added new test, improved mocking, various fixes
* Various cleanups and fixes
* microfix
* Update homeassistant/components/arve/strings.json
* ruff fix
---------
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Integration for Energenie Power-Strips (EGPS)
* cleanups reocommended by reviewer
* Adds missing exception handling when trying to send a command to an unreachable device.
* fix: incorrect handling of already opened devices in pyegps api. bump to pyegps=0.2.4
* Add blank line after file docstring, and other cosmetics
* change asyncio.to_thread to async_add_executer_job
* raises HomeAssistantError EgpsException in switch services.
* switch test parameterized by entity name
* reoved unused device registry
* add translation_key and update_before_add
* bump pyegps dependency to version to 0.2.5
* combined get_device patches and put into conftest.py
* changed switch entity to use _attr_is_on and cleanups
* further cleanup
* Apply suggestions from code review
* refactor: rename egps to energenie_power_sockets
* updated test snapshot
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* initial fork
* intial tests
* Initial test coverage
* extra coverage
* complete config flow tests
* fix generated
* Update CODEOWNERS
* Move logic to PyPi library and update to pass config_flow test and pre-commit
* Remove Button, Select and Sensor platform for initial PR
* Update manifest.json
* Change info logs to debug in cover
* Use _abort_if_unique_id_configured instead of custom loop checking existing entries
* Change platforms list to PLATFORMS global
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove VERSION from ConfigFlow
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Replace all info logs by debug
* Use instance attributes in ConfigFlow
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Add return type and docstring to init in ConfigFlow
* Add recovery to tests containing errors
* Make NoBluetoothAdapter and NoDevicesFound abort instead of show error
* Change info logs to debug
* Add and change integration type from hub to device
* Use CONF_ADDRESS from homeassistant.const
* Move cover attributes initialization out of constructor
* Change CONF_ADDRESS in tests from const to homeassistant.const
* Remove unused part of tests
* Change 'not motion_device' to 'motion_device is None'
* Change _attr_connection_type to _connection_type
* Add connections to DeviceInfo
* Add model to DeviceInfo and change MotionBlindType values
* Remove identifiers from DeviceInfo
* Move constants from const to library
* Move calibration and running to library, re-add all platforms
* Remove platforms from init
* Remove button platform
* Remove select platform
* Remove sensor platform
* Bump motionblindsble to 0.0.4
* Remove closed, opening and closing attribute default values
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove CONFIG_SCHEMA from init
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove unused platform attributes and icons
* Re-add _attr_is_closed to GenericBlind to fix error
* Use entry.async_create_background_task for library instead of entry.async_create_task
* Move updating of position on disconnect to library
* Remove type hints, keep for _attr_is_closed
* Use DISPLAY_NAME constant from library for display name
* Add TYPE_CHECKING condition to assert in config_flow
* Re-add CONFIG_SCHEMA to __init__ to pass hassfest
* Change FlowResult type to ConfigFlowResult
* Fix import in tests
* Fix ruff import
* Fix tests by using value of enum
* Use lowercase name of MotionBlindType enum for data schema selector and translation
* Fix using name instead of value for MotionBlindType
* Improve position None handling
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
* Improve tilt None handling
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
* Change BLIND_TO_ENTITY_TYPE name
* Set entity name of cover to None and use DeviceInfo name
* Add base entity
* Move async_update to base entity
* Move unique ID with suffix to base class
* Add entity.py to .coveragerc
* Remove extra state attribute connection type
* Remove separate line hass.data.setdefault(DOMAIN, {})
* Remove use of field for key and translation_key in MotionCoverEntityDescription
* Remove entity translation with extra state_attributes from strings.json
* Use super().__init__(device, entry)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Change if block in async_update_running
* Use if blocks in async_update_position
* Add additional scanner check before show_form
* Remove default value of device_class in MotionCoverEntityDescription
* Fix entry.data[CONF_BLIND_TYPE] uppercase
* Fix device info model name
* Bump motionblindsble to 0.0.5
* Fix tests
* Move entity_description to MotionblindsBLEEntity
* Change double roller blind name
* Bump motionblindsble to 0.0.6
* Fix ruff
* Use status_query for async_update
* Bump motionblindsble to 0.0.7
* Change bluetooth local name
* Set kw_only=True for dataclass
* Change name of GenericBlind
* Change scanner_count conditional
* Wrap async_register_callback in entry.async_on_unload
* Bump motionblindsble to 0.0.8
* Use set_create_task_factory and set_call_later_factory
* Update bluetooth.py generated
* Simplify COVER_TYPES dictionary
* Move registering callbacks to async_added_to_hass
* Remove check for ATTR_POSITION and ATTR_TILT_POSITION in kwargs
* Add naming consistency for device and entry
* Use if block instead of ternary for _attr_unique_id
* Improve errors ternary in config_flow
* Use set instead of list for running_type
* Improve errors ternary in config_flow
* Remove init from MotionblindsBLECoverEntity and move debug log to async_added_to_hass
* Update debug log create cover
* Fix ruff
* Use identity check instead of equals
* Use identity check instead of equals
* Change MotionblindsBLECoverEntityDescription name
* Change debug log text
* Remove ATTR_CONNECTION from const
* Add types for variables in async_setup_entry
* Add types for variables in async_setup_entry
* Change PositionBlind class name to PositionCover etc
* Improve docstrings
* Improve docstrings
---------
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add Config Flow for Rova component
* Add tests for Rova config flow
* Fix data type
* Add rova to requirements for tests
* Removed seperate function for area check and global variable
* Add unique name and id to rova entities
* Add support for multiple rova entries
* Fix correct error after connection timeout or http error
* Revert SENSOR_TYPES update
* Add existing rova configuration from yaml as new entity
* Add tests for import configuration.yaml flow
* Cleanup code
* Update valid rova area check in config flow
* Changed abort keys and messages
* Updated using self.add_suggested_values_to_schema
* Update to pass tests
* Added missing strings
* Update sensor unique_ids
* Fix service name formatting
* Update tests for Rova entry
* Update tests to recover after error
* Update test name
* Apply suggestions from code review
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* rebase off dev
* Update homeassistant/components/weatherflow_cloud/const.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Addressing 1st round of PR Comments
* Update homeassistant/components/weatherflow_cloud/config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* addressing PR Comments
* fixing last comment that i can see
* Update homeassistant/components/weatherflow_cloud/coordinator.py
OOPS
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/weatherflow_cloud/weather.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/weatherflow_cloud/coordinator.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* switching to station id
* Update homeassistant/components/weatherflow_cloud/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* addressing PR
* Updated tests to be better
* Updated tests accordingly
* REAuth flow and tests added
* Update homeassistant/components/weatherflow_cloud/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/weatherflow_cloud/coordinator.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Addressing PR comments
* Apply suggestions from code review
* ruff fix
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>