* 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>
* Add LLM tools support for Ollama
* fix tests
* coverage
* Separate call for tool parameters
* Fix example
* hint on parameters schema if LLM forgot to request it
* Switch to native tool call functionality
* Fix tests
* Fix tools list
* update strings and default model
* Ignore mypy error until fixed upstream
* Ignore mypy error until fixed upstream
* Add missing prompt part
* Update default model
* fix server unavailale at HA startup Fixes#111108
Remove receiver zone confusion for mediaplayer instances
fix uniq id based on serial where avaialble
get serial suppiled by discovery for config entries.
* Fix linter errors
* ruff format
* Enhance debug to find setup code path for tests
* Enhance debug to find setup code path for tests
* Fix formatting
* Revered uid chanages as not needed yet and cuases other issues
* Revert "Fix formatting"
This reverts commit f3324868d2.
* Fix formatting
* Refector tests to cope with changes to plaform init to get serial numbers
* Update test patch
* Update test formatting
* remove all fixes revert code to only make clear we deal with zones and improve debuging
* Add services to the Hydrawise integration
* Add validation of duration ranges
* Remove clamping test
* Fix duration type in test
* Changes requested during review
* Add back the HydrawiseZoneBinarySensor class
* Add dynamic rate limiter
* tweaks
* Revert min polling back to 2min
* Set max 1 hour
* Remove redundant update_interval
* Tuning and fixes
* Reduce double API calls
* Type test
* Remove RateCalculator
* Refactor NextBus integration to use new API
This removes the `messages`, `directions`, and `attribution` attributes
from the sensor. Those may be added back in the future with additional
refactoring.
Some existing sensors may be broken today because of deprecated Agency
names. This patch will not migrate them as the migration path is
ambiguous. Setting up again should work though.
* Move result indexing outside of try/except
* Remigrate device_registry created_at/modified_at
Nightly current does not boot up because the device registry
will have KeyError: created_at if the previous nightly was
installed.
* reduce
* split migration per discord comments
* Improve typing of init tests
* Clean up gateway test
* Validate deconz device registry entry
* Rename gateway to hub
* Snake case BRIDGEID to BRIDGE_ID
* Don't automatically add config entry to hass
* Improve RTSP fixture typing
* Improve typing of config entry factory and remove unnecessary use of it
* Remove redundant fixture in config flow tests
* Parametrize config flow error test
* Add Matter update entities for devices with OTA requestor
Matter devices which support the OTA requestor cluster can receive
updates from a OTA provider. The Home Assistant Python Matter Server
implements such an OTA provider now.
Add update entities for devices which support the OTA requestor cluster
and check for available updates. Allow the user to update the firmware.
The update progress will be read directly from the devices' OTA
requestor cluster.
* Update homeassistant/components/matter/update.py
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
* Bump python-matter-server to 6.3.0
This includes models and commands required for device firmware updates.
* Fix tests by including the new bluetooth_enabled field
* Add update entity tests
* Fix update entity test
* Update entity picture docstring
* Add note about reasons for progress state change update
* Enable polling for update entities by default
Matter entities don't enable polling any longer. Enable polling for
update entities by default.
* Add comment about why Update entities are polled
---------
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
* Indicate database migration in /api/core/state response
* Change API response according to review comment
* Adjust API response
* Update test
* Add test
* Use external temp for current temp depends on the sensor state
* Add SensorMode enum
* Add tests for Broadlink climate
* Check is the sensor included in the data
* Use IntEnum as parent of SensorMode
* Use SensorMode enum value for sensor test data
* Parametrizing tests
* Readd accidentally removed assert
* Use local sensor variable
Co-authored-by: Robert Resch <robert@resch.dev>
* Refactor test_climate. Check call_counts.
* Add parameter types
Co-authored-by: Robert Resch <robert@resch.dev>
* Update homeassistant/components/broadlink/climate.py
---------
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* 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