* Skip processing websocket_api schema if has no arguments
About 40% of the websocket commands on first connection have
no arguments. We can skip processing the schema for these cases
* cover
* fixes
* allow extra
* Revert "allow extra"
This reverts commit 85d9ec36b3.
* match behavior
* Show bluetooth adapter model and manufacturer in config flow
If there are multiple adapters, it could be a bit difficult
to figure out which one is which
* Show bluetooth adapter model and manufacturer in config flow
If there are multiple adapters, it could be a bit difficult
to figure out which one is which
* reorder
* reorder
* names
* remove
* fix incomplete mocking
* more missing mocks
* Add support for payload_template in rest component
* Update homeassistant/components/rest/schema.py
* Update homeassistant/components/rest/data.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add script to compare alexa locales with upstream
* Use a function in script
* Add test base
* Complete output assertion
* Add type annotation
* Add note to docstring
* Update script call example
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Keep track of top level components
Currently we have to do a set comp for icons, translations,
and integration platforms every time to split the top level
components from the platforms. Keep track of the top level
components in a seperate set so avoid having to do the setcomp
every time.
* remove impossible paths
* remove unused code
* preen
* preen
* fix
* coverage and fixes
* Update homeassistant/core.py
* Update homeassistant/core.py
* Update tests/test_core.py
* Remove forecast option
* Update strings
* Use separate DataUpdateCoordinator for observation and forecast
* Fix tests
* Remove unneeded variable
* Separate data coordinator classes
* Use list comprehension
* Separate coordinator clasess to add type annotations
* Test the availability of the forecast sensor entity
* Add DataUpdateCoordinator types
* Use snapshot for test_sensor()
---------
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
* Fix check for missing parts on incoming SMS
* Add tests for get_and_delete_all_sms function
* Fix CI issues
* Install libgammu-dev in CI
* Bust the venv cache
* Include python-gammu in requirements-all.txt
* Adjust install of dependencies
---------
Co-authored-by: Erik <erik@montnemery.com>
* Fixed home hold and added select hold
* Fixed home hold and added select hold
* Removed select_hold for now
* Fixed wrong import block sorting
* Fixed unit tests for AppleTV
* Added select hold command to AppleTV integration
* Removed home_hold and added hold_secs option for remote commands
* Added DEFAULT_HOLD_SECS
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Exclude manifest files from youtube media extraction
* Add media_extractor service to extract media
* Fix snapshot
* Run ytdlp async
* Add icon
* Fix
* Fix
* 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 sensor with climate activity status
* Update strings.json
* use icon translation and is_available for sensor
* use enum with translations
* Return None if value is UNKNOWN
* fix getting the value: x.value
* fix getting the value: x instead of x.value
* Fix tests and pre-commit
---------
Co-authored-by: Richard <rikroe@users.noreply.github.com>
* Make aiohttp_cors a top level import
This was moved to a late import in #27935 but there is no
longer any need to import it late in the event loop as aiohttp_cors
is listed in pyproject.toml so it will always be available
* drop requirements as they are all top level now
* drop requirements as they are all top level now
* adjust
The test assumed the node updates would happen in a specific order
but they can switch order based on timing.
Adjust to check to make sure all the nodes are called but make it
order independent
* Update Shelly to use initialize from aioshelly
* Save indentation in _async_device_connect
* Use firmware_supported property from aioshelly
* Review comments
* Bump aioshelly
* Fix lint errors
* Test RPC initialized update
* Remove unused state translations
There have been replaced with entity translations
https://github.com/home-assistant/developers.home-assistant/pull/1557https://github.com/home-assistant/core/pull/82701
* nothing does merging anymore
* useless dispatch
* remove
* remove platform code from hassfest
* preen
* Update homeassistant/helpers/translation.py
* ruff
* fix merge
* check is impossible now since we already know if translations exist or not
* keep the function for now
* remove unreachable code since we filter out `.` before now
* reduce
* reduce
* fix merge conflict (again)
* Fix race in TimestampDataUpdateCoordinator
The last_update_success_time value was being set after the listeners
were fired which could lead to a loop because the listener may
re-trigger an update because it thinks the data is stale
* coverage
* docstring
* Add temperature range switch (high/low) to Balboa spa integration.
* Change Balboa spa integration temperature range control from switch to select
* Balboa spa integration: Fix ruff formatting
* Balboa spa integration: increase test coverage
* Balboa spa integration review fixes: Move instance attributes as class attributes. Fix code comments.
The patch was still too late in #115442
There is no good candidate to patch here since the late operation
is the error log that is being tested.
Patching the logger did not seem like a good idea so I went with
patching to wait for the error to be emitted since emit is the public
API of the log handler and was less likely to change
* add re-auth-flow to fyta integration
* add strings for reauth-flow
* resolve typing error
* update based on review comments
* Update homeassistant/components/fyta/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* add async_auth
* adjustment based on review commet
* Update test_config_flow.py
* remove credentials
* Update homeassistant/components/fyta/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update tests/components/fyta/test_config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update tests/components/fyta/test_config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update conftest.py
* Update test_config_flow.py
* Aktualisieren von conftest.py
* Update test_config_flow.py
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Use enum device class in Netatmo wind direction
* Use enum device class in Netatmo wind direction
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Bump aiohttp to 3.9.4
This is rc0 for now but will be updated when the full release it out
* cleanup cruft
* regen
* fix tests (these changes are fine)
* chunk size is too small to read since boundry is now enforced
* chunk size is too small to read since boundry is now enforced
* Add notify entity component
* Device classes, restore state, icons
* Add icons file
* Add tests for kitchen_sink
* Remove notify from no_entity_platforms in hassfest icons, translation link
* ruff
* Remove `data` feature
* Only message support
* Complete initial device classes
* mypy pylint
* Remove device_class implementation
* format
* Follow up comments
* Remove _attr_supported_features
* Use setup_test_component_platform
* User helper at other places
* last comment
* Add entry unload test and non async test
* Avoid default mutable object in constructor
* Protobuf audio test
* Remove extraneous code
* Rework voice assistant pipeline
* Move variables
* Fix reading flags
* Dont directly put to queue
* Bump aioesphomeapi to 24.0.0
* Update tests
- Add more tests for API pipeline
- Convert some udp tests to use api pipeline
- Update fixtures for new device info flags
* Fix bad merge
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
* 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>
* Avoid checking for polling if an entity fails to add
* no need to do protected access
* no need to do protected access
* no need to do protected access
* no need to do protected access
* coverage
* fix test
* fix
* broken one must be first
* airzone_cloud: add Water Heater support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* run CI
---------
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* Remove aux heat
* Add switch entity for emheat
* Optimized async_setup_entry
* Fix errors in comments
* Fix new ruff failuer
* Use constant for EM
* Protect EM mode - must be in heat to turn on/off
* Restore aux_heat
* Add repair issue
* Add missing place holder to issue
* Better placeholder "option"
* When quoting placeholders, always use double quotes so Lokalise recognizes the placeholder.
* Ensure that strings does not contain placeholders in single quotes.
* Avoid redefining value
* Moved string_with_no_placeholders_in_single_quotes
* Define regex once
* Fix tests
* DNM: Make run_immediately the default for listeners
This is a test to see how much progress we have made twords this goal
https://github.com/home-assistant/core/pull/113727#issuecomment-2004587947
* fix shutdown
* Revert "fix shutdown"
This reverts commit a8969d7db9.
* set false since it break utility meter tests
* one more
* fix rfxtrx test
* test needs to be explict now
* fix matrix
* fail sooner
* Avoid useless stat() syscalls for every logger record
shouldRollover will always return False since we do
not use maxBytes as we are only using RotatingFileHandler
for the backupCount option. Since every log record will
stat the log file to see if it exists and if its a normal
file, we can override the shouldRollover to reduce the
logging overhead quite a bit
1d3225ae05/Lib/logging/handlers.py (L189)
* assert False is False
* Ecobee: add current_humidity to humidifier
* Ecobee: Add test for current_humidity property
* Update current_humidity handling in climate and
humidifier entity to support the ecobee API
not returning actualHumidity, which is an optional
value.
Also updated tests to add a thermostat which
covers a non-populated humidity. In passing,
set up the new test thermostat to cover a missing
condition where the code doens't recognize the
ecobee model number. This gets ecobee humidifier
test coverage to 100%
* Create right import issues in Downloader
* Create right import issues in Downloader
* Create right import issues in Downloader
* Create right import issues in Downloader
* Fix
* Fix
* Fix
* Fix
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Speed up logger setup
Preload core.logger and avoid saving it
until after startup
* add comment about 180s
* Adjust grammar
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add missing platforms_exist guard to check_config
related issue #112811
When the exception hits, the config will end up being saved in the traceback
so the memory is never released.
This matches the check_config code to homeassistant.config to avoid having
the exception thrown.
* patch
* merge branch
* Fix memory leak when importing a platform fails
re-raising ImportError would trigger a memory leak
* fixes, coverage
* Apply suggestions from code review
* Default agent as entity
* Migrate constant to point at new value
* Fix tests
* Fix more tests
* Move assist pipeline back to cloud after dependenceis