* remove unneccessary typing
* assert type list while type checking
* remove summary, since feedparser parse it already into content
* add further tests
* knx entity CRUD - initial commit - switch
* platform dependent schema
* coerce empty GA-lists to None
* read entity configuration from WS
* use entity_id instead of unique_id for lookup
* Add device support
* Rename KNXEntityStore to KNXConfigStore
* fix test after rename
* Send schema options for creating / editing entities
* Return entity_id after entity creation
* remove device_class config in favour of more-info-dialog settings
* refactor group address schema for custom selector
* Rename GA keys and remove invalid keys from schema
* fix rebase
* Fix deleting devices and their entities
* Validate entity schema in extra step - return validation infos
* Use exception to signal validation error; return validated data
* Forward validation result when editing entities
* Get proper validation error message for optional GAs
* Add entity validation only WS command
* use ulid instead of uuid
* Fix error handling for edit unknown entity
* Remove unused optional group address sets from validated schema
* Add optional dpt field for ga_schema
* Move knx config things to sub-key
* Add light platform
* async_forward_entry_setups only once
* Test crate and remove devices
* Test removing entities of a removed device
* Test entity creation and storage
* Test deleting entities
* Test unsuccessful entity creation
* Test updating entity data
* Test get entity config
* Test validate entity
* Update entity data by entity_id instead of unique_id
* Remove unnecessary uid unique check
* remove schema_options
* test fixture for entity creation
* clean up group address schema
class can be used to add custom serializer later
* Revert: Add light platfrom
* remove unused optional_ga_schema
* Test GASelector
* lint tests
* Review
* group entities before adding
* fix / ignore mypy
* always has_entity_name
* Entity name: check for empty string when no device
* use constants instead of strings in schema
* Fix mypy errors for voluptuous schemas
---------
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Add data update coordinator to enigma2
* Apply suggestions from code review
Co-authored-by: Robert Resch <robert@resch.dev>
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* init
* Update homeassistant/helpers/update_coordinator.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fix typo, ruff
* consistency with rest, test
* pylint suppression
* ruff
* ruff
* switch to one test
* add last exc
* add tests for auth & Entry Errors
* move exceptions to correct test
* Update update_coordinator.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* test setup call
* simplify
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* 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>
* continue
* Rebase dev
* signle function to generate attr_entity info
* rewrite icon determination as an if block
* handling PR
* Removing wind sensors for now - separate future PR
* ruff
* Update coordinator.py
Thought i already did this
* Update sensor.py
* Update icons.json
* Update sensor.py
* Update homeassistant/components/weatherflow_cloud/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* working on a unified entity
* working on a unified entity
* sensor refactor
* addressing entity comment
* Update homeassistant/components/weatherflow_cloud/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/weatherflow_cloud/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* doc
* pr comments again
* fixing PR
* fixing PR
* applying entity class in sensor
* Update homeassistant/components/weatherflow_cloud/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Cleaning up weather.py
* station id cleanup for weather class
* rewrite adding sensors the correct way
* Adding snapshot testing
* snapshot update
* added total class
* updated snapshots
* minor tweak
* snapshot away
* adding more coverage
* switch back to total
* Apply suggestions from code review
* Apply suggestions from code review
* Apply suggestions from code review
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Support enum virtual component
* Add tests
* Cleaning
* Improve test for select
* Use values
* Update tests
* Use the option title for sensor
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* add service call
* fix snapshots in test
* add tests
* fix no data service;add test
* remove unreachable code
* use only extra attributes+context attributes
* detailed descr. only in twice daily; add dewpoint
* fix import from merge
* Remove dewpoint from twice daily.
nws recently removed it
* cleanup unused snapshots
* remove dewpoint; use short_forecast
* return [] for forecasts instead of None
* Use str for short_description
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add reconfigure to tedee
* assert data update
* add rconfigure_confirm to strings
* Update integration name
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add diagnostic information to DSMR
Switches to runtime_data to get access
to the last telegram received.
* Correct import of domain
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update systembridgeconnector to 5.0.0.dev2
* Refactor
* Move out of single use method
* Update systembridgeconnector to 4.1.0.dev0 and systembridgemodels to 4.1.0
* Refactor WebSocket connection handling in SystemBridgeDataUpdateCoordinator
* Remove unnessasary fluff
* Update system_bridge requirements to version 4.1.0.dev1
* Set systembridgeconnector to 4.1.0
* Fix config flow tests
We'll make this better later
* Add missing tests for media source
* Update config flow tests
* Add missing check
* Refactor WebSocket connection handling in SystemBridgeDataUpdateCoordinator
* Move inside try
* Move log
* Cleanup log
* Fix disconnection update
* Set unregistered on disconnect
* Remove bool, use listener task
* Fix eager start
* == -> is
* Reduce errors
* Update test
* Refactor recorder data migration
* Fix stale docstrings
* Don't store a session object in BaseRunTimeMigration instances
* Simplify logic in EntityIDMigration.migration_done
* Fix tests
* Use async_connect in newly bumped 0.5.8 UPB library.
* Fix tests.
* Fix date being wrong after midnight for Environment Canada
* Fix typing.
* Add test.
* Formatting.
* Remove tests until can be added properly.
* Add weather tests back.
* Fix tests
* Change of tactic for determining previous day's data.
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Support number component in field mode
* Support number in label mode
* Add tests
* Add mode_fn
* Add support for number component in slider mode
* Add comment
* Suggested change
* Revert max_fn
* Change unit 'min' to 'Hz' in test
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Narrow sqlite database corruption check to ensure disk image is malformed
The database corruption check would also replace the database when it
locked externally instead of only when its malformed.
This was discovered in https://github.com/home-assistant/core/issues/121909#issuecomment-2227409124
when a user did a manual index creation while HA was online
* tweak
* tweak
* fix
* fix
* Ensure states table rebuild still happens if the event_id index was removed
If ix_states_event_id was removed by the foreign key still
exists, the states table would not get rebuilt. This should
not happen under normal circumstances and seems to only be
possible if the index was removed manually or Home
Assistant was restarted forcefully in the middle
of a previous migration from years ago.
* cover
* fix tests
* mysql wont allow at that point but thats ok as long as its gone at the end
* Revert "Remove flaky tests"
This reverts commit c4de9fdcbe.
* Change reconfigure test to be based on data
* Don't assert using internals
* Fix assertions to be on config entry
* 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
* Updated the AlexaModeController to support the remote domain. Also added an alexa entitiy adapter for the remote domain.
* Fixed copy paste mistake.
* Fixed power state for remove domain.
* Updated the CapabilityResource to support labels with the corresponding locale. This local is read from the users config.
* Add the alexa display category 'REMOTE' and use it for the remote capability.
* Revert "Updated the CapabilityResource to support labels with the corresponding locale. This local is read from the users config."
This reverts commit fbdf37904a.
* Fix error when the remote does not have an activtiy list.
* Add tests for the state report of a remote entity.
* Add a test for alexas set mode directive for a remote entitiy.
* Add a test for alexas TurnOn and TurnOff directives for a remote entity.
* Apply suggestions from code review
Fix copy paste mistakes.
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Improve attribute name as suggested.
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Add test case with zero and one activity.
* Add a comment why we use the mode controller instead of the input controller.
* Add test to check of the discovery returns all required interfaces for a remote entitiy.
* Tweak comment
* Add line breaks to fix max allowed chars per line.
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Allow targetting conversation agent as pipeline
* Test that we can use a conversation entity as an assist pipeline
* Add test for WS get
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
* Remove language lock
* Remove unsub for change events
* Remove redundant check
* Simplify intent loading
* Cache intent loading error
* Revert "Remove unsub for change events"
This reverts commit 575266abcd.
* guard instead of assert
* Some more cleanup
* No need to warn during prepare
* Some more cleanup
* Add more timing logs
* Split up tests and rely less on http
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Write data to ha after entity added
* Properly mock api return values
Some values like _attr_is_on were mapped to MagicMocks which led to them evaluating to True. Actually calling the update state method when adding the entities made that improper mocking come to the surface.
* Call _update_state instead of _recv_data
* 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>