Commit Graph

321 Commits (assist-pipeline-tts-end)

Author SHA1 Message Date
J. Nick Koston b639466453
Bump bleak-esphome to 2.0.0 (#134580) 2025-01-04 11:30:41 +01:00
Omni Flux cf3d4eb26a
Respect ESPHome ClimateTrait supports_current_temperature (#132149) 2024-12-23 11:35:59 +01:00
Erik Montnemery ecb3bf79f3
Revert "Add support for subentries to config entries" (#133470)
Revert "Add support for subentries to config entries (#117355)"

This reverts commit ad15786115.
2024-12-18 13:51:05 +01:00
Erik Montnemery ad15786115
Add support for subentries to config entries (#117355)
* Add support for subentries to config entries

* Improve error handling and test coverage

* Include subentry_id in subentry containers

* Auto-generate subentry_id and add optional unique_id

* Tweak

* Update tests

* Fix stale docstring

* Address review comments

* Typing tweaks

* Add methods to ConfigEntries to add and remove subentry

* Improve ConfigSubentryData typed dict

* Update test snapshots

* Adjust tests

* Fix unique_id logic

* Allow multiple subentries with None unique_id

* Add number of subentries to config entry JSON representation

* Add subentry translation support

* Allow integrations to implement multiple subentry flows

* Update translations schema

* Adjust exception text

* Change subentry flow init step to user

* Prevent creating a subentry with colliding unique_id

* Update tests

* Address review comments

* Remove duplicaetd unique_id collision check

* Remove change from the future

* Improve test coverage

* Add default value for unique_id
2024-12-12 20:16:18 +01:00
epenet 37f2bde6f5
Migrate esphome light tests to use Kelvin (#133008) 2024-12-12 15:11:34 +01:00
Michael Hansen 46fe3dcbf1
Add wake word select for ESPHome Assist satellite (#131309)
* Add wake word select

* Fix linting

* Move to ESPHome

* Clean up and add more tests

* Update homeassistant/components/esphome/select.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-11-26 22:59:49 -05:00
Marcel van der Veldt 9bbf9be95f
Add optional flag to bypass the media proxy in esphome media players (#131191)
* Add optional flag to play_media to bypass media proxy

* use constants

* add test
2024-11-21 11:47:22 -05:00
Petar Petrov c68cadad7a
Improve precision of HSV color conversion (#130880) 2024-11-19 22:06:57 +01:00
Jesse Hills a1f5e4f37a
Do not create ESPHome Dashboard update entity if no configuration found (#129751) 2024-11-15 17:22:06 +01:00
Markus ee30520b57
Fix esphome mqtt discovery by handling case where payload is a empty string (#129969)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-07 11:16:01 -06:00
Erik Montnemery b4e69bab71
Improve shutdown of esphome ffmpeg proxy (#129326)
* Improve shutdown of esphome ffmpeg proxy

* Add test
2024-10-30 13:46:05 +01:00
Robert Resch 380974eed4
Remove hassio from ALLOWED_USED_COMPONENTS and move some functions to helper (#127228)
* Remove hassio from ALLOWED_USED_COMPONENTS

* Move HassioServiceInfo to helpers.service_info

* Deprecate moved functions

* Add note about deprecation

* Fix tests

* Implement suggestion

* Typo

* Update pyproject.toml

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-30 12:43:41 +01:00
Erik Montnemery 79d73c28a7
Deduplicate wav creation in esphome ffmpeg_proxy tests (#129484) 2024-10-30 10:35:19 +01:00
Erik Montnemery 3fb0d61271
Remove useless code from esphome ffmpeg_proxy tests (#129481) 2024-10-30 09:56:12 +01:00
Michael Hansen dd9ce34d18
Allow a fixed number of ffmpeg proxy conversions per device (#129246)
Allow a fixed number of conversions per device
2024-10-28 13:26:43 -07:00
G Johansson cdfec7ebb4
Implement new state property for alarm_control_panel which is using an enum (#126283)
* Alarm state from enum

* Fixes

* Set final

* Fix rebase

* Test const

* Fix breaking version

* Fix other for alarm_control_panel

* Fix integrations

* More

* More

* More

* More

* Fix zha

* Replace _attr_state

* Fix alarm_control_panel

* Fix tests

* Fixes

* Mods

* Change some

* More

* More

* More

* Tests

* Last tests

* Return enum

* Fix zha

* Remove not needed check

* Fix wording

* Fix homekit

* Mod prometheus

* Fix mypy

* Fix homekit

* Fix ifttt
2024-10-21 22:54:27 +02:00
Erik Montnemery e861cab727
Add update_percentage state attribute to update entity (#128877)
* Add update_percentage state attribute to update entity

* Update tests

* Update tests
2024-10-21 15:31:48 +02:00
Michael Hansen f21c8d895f
Block until config is retrieved when adding satellite entity to HA (#128685)
Block until config is retrieved
2024-10-18 16:01:18 -04:00
G Johansson 666e8e133e
Cover state is enum (#127144)
* Change light state to use enum

* Adjust cover tests

* Update cover

* Fix covers

* Some tests

* More tests

* Fix tests

* Fix
2024-10-08 18:39:04 +02:00
Michael Hansen bd4f3b0553
Change Assist satellite state names (#126926)
* Change state names

* Update homeassistant/components/assist_satellite/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-27 11:11:23 -04:00
Paulus Schoutsen 471c68f653
Update the Selected Pipeline entity name (#126845) 2024-09-26 20:38:51 +02:00
Michael Hansen 9db5b481be
Fix ESPHome and VoIP Assist satellite entity names (#126229)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-26 20:22:09 +02:00
G Johansson c6a1b9fc39
Change Climate set temp action for incorrect feature will raise (#126692)
* Change Climate set temp action for incorrect feature will raise

* Fix some tests

* Fix review comments

* Fix tesla_fleet

* Fix tests

* Fix review comment
2024-09-25 21:16:14 +02:00
G Johansson 93aade6e8e
Change lock state to an enum (#126379)
* Add new LockState enum for lock states

* Add rest

* Fix insteon tests

* Fix mqtt tests

* Fix tesla_fleet

* Revert back ST_STATE_LOCKED

* Add back constant
2024-09-24 12:30:50 +02:00
G Johansson 711e0ee503
Change camera state to an enum (#126558)
* Change camera state to an enum

* copy/paste mistake

* Add test deprecated constants
2024-09-24 12:12:01 +02:00
Michael Hansen 4869309997
Get updated Assist satellite config after setting it in ESPHome (#126552)
Get updated config after setting it
2024-09-23 20:36:53 -04:00
Erik Montnemery d82bff1bc2
Index config entry discovery_keys by discovery domain (#126563)
* Index config entry discovery_keys by discovery domain

* Add new signal

* Update tests

* Update homeassistant/config_entries.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Fix imports

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 21:48:11 +02:00
Erik Montnemery b2982c18bb
Reinitialize zeroconf discovery flow on unignore (#125753)
* Reinitialize zeroconf discovery flow on unignore

* Adjust tests

* Improve comments

* Fix logic for updating discovery keys

* Add tests

* Use mock_config_flow helper in new config_entries test

* Add discovery_keys attribute to ConfigEntry

* Update zeroconf rediscovery

* Change type of ConfigEntry.discovery_keys

* Update tests

* Fix DiscoveryKey.from_json_dict and add tests

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 16:49:21 +02:00
G Johansson 939f2e41e9
Change valve state to an enum (#126428) 2024-09-23 14:20:18 +02:00
Erik Montnemery 0fc7bc2762
Fix a couple of stale ESPHome docstrings (#126508) 2024-09-23 14:19:17 +02:00
Erik Montnemery 6cd99e4ed4
Add issue asking users to disable ESPHome assist_in_progress sensor (#125805)
* Add issue asking users to disable ESPHome assist_in_progress binary sensor

* Include integration name in title and description

* Add repair flow

* Improve test coverage
2024-09-21 17:14:12 -04:00
Michael Hansen 123b6b687e
Route non-TTS media through ESPHome ffmpeg proxy (#126287)
* Route non-TTS media through proxy

* Use media_id_source
2024-09-20 13:57:55 -04:00
Michael Hansen d1a4838802
Allow one reusable proxy URL per ESPHome device (#125845)
* Allow one reusable URL per device

* Move process to convert info

* Stop previous process

* Change to 404

* Better error handling
2024-09-19 00:05:09 -04:00
Michael Hansen 6eab5e3e14
Add ESPHome Assist satellite configuration (#126085)
* Basic implementation

* Add websocket commands

* Clean up

* Add callback to other signatures

* Remove unused constant

* Re-add callback

* Add callback to test

* Implement get/set configuration

* Add tests

* Re-add constant

* Bump aioesphomeapi

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-16 22:08:39 -05:00
epenet 02cb6a6af7
Force root import of references from other components (#125816)
* Force root import of references from other components

* Improve

* Adjust

* Tweak exceptions

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Adjust

* More

* Ignore violations in test

* Improve
2024-09-16 11:28:42 +02:00
Michael Hansen 3dd6418160
Use sample bytes in ESPHome media format (#126016) 2024-09-16 10:10:07 +02:00
epenet 7df224f382
Use root import in assist_satellite imports (#126025) 2024-09-16 10:05:34 +02:00
Michael Hansen 3eed5de367
Handle announcement finished for ESPHome TTS response (#125625)
* Handle announcement finished for TTS response

* Adjust test
2024-09-13 16:31:38 -04:00
Michael Hansen cabaf37437
Bump aioesphomeapi and adjust handle_stop (#125907)
* Bump aioesphomeapi and adjust handle_stop

* Stop audio stream too

* Update homeassistant/components/esphome/assist_satellite.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-13 16:05:11 -04:00
Erik Montnemery e89b258970
Disable ESPHome assist_in_progress binary sensor (#125802) 2024-09-12 09:07:01 +02:00
Michael Hansen c01bdd860a
Unload assist satellite platform on disconnect (#125697) 2024-09-10 20:50:22 -04:00
Michael Hansen 1dc496a2dd
Add announce support to ESPHome Assist Satellite platform (#125157)
Rebuild
2024-09-09 08:25:25 -04:00
Michael Hansen 8884465262
ESPHome media proxy (#123254)
* Add ffmpeg proxy view

* Add tests

* Add proxy to media player

* Add proxy test

* Only allow one ffmpeg proc per device

* Incorporate feedback

* Fix tests

* address comments

* Fix test

* Update paths without auth const

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-08 22:22:35 -04:00
Michael Hansen ee59303d3c
Use first media player announcement format for TTS (#125237)
* Use ANNOUNCEMENT format from first media player for tts

* Fix formatting

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-06 10:57:09 -05:00
Paulus Schoutsen f126a6024e
Migrate ESPHome to assist satellite (#125383)
* Migrate ESPHome to assist satellite

* Address comments
2024-09-06 10:48:42 -04:00
epenet 99335a07e5
Use start_reauth helper method in integration tests (e-g) (#124785)
* Use start_reauth helper method in integration tests (e-g)

* Include fireservicerota
2024-08-28 15:47:57 +02:00
Jesse Hills e84d9e21f7
Handle single state requests from ESPHome (#124660)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-27 12:15:41 -10:00
epenet 5608301178
Add missing return type in test __init__ methods (#123932)
* Add missing return type in test __init__ methods

* Adjust
2024-08-14 16:48:52 +02:00
Franck Nijhof 0558c85b5d
Revert "Remove ESPHome legacy entity naming" (#123453) 2024-08-10 18:38:20 +02:00
Jesse Hills 84d6f5ed07
Remove ESPHome legacy entity naming (#123436)
* Remove ESPHome legacy entity naming

* Update test entity_ids to use sanitized name instead of object_id
2024-08-09 11:43:02 +02:00
Jesse Hills bf28419851
Update ESPHome voice assistant pipeline log warning (#123269) 2024-08-07 10:17:01 +02:00
Jesse Hills 164cfa85da
Add support for ESPHome update entities to be checked on demand (#123161) 2024-08-06 10:12:31 +02:00
Jesse Hills 21da79a249
Show project version as `sw_version` in ESPHome (#123183) 2024-08-06 10:11:08 +02:00
Robert Resch ad50136dbd
Add created_at/modified_at to config entries (#122456) 2024-07-29 22:08:46 +02:00
Marc Mueller a6068dcdf2
Update import locations in tests (#122216) 2024-07-20 11:16:04 +02:00
Jesse Hills 72d706ab52
[ESPHome] Disable dashboard based update entities by default (#120907)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-07-02 13:51:14 +02:00
Marc Mueller 2f0dd6f704
Import Generator from collections.abc (2) (#120915) 2024-07-01 11:58:49 +02:00
epenet e446875c7e
Improve type hints in esphome tests (#120674) 2024-06-27 09:33:14 -05:00
Jesse Hills a93855ded3
[esphome] Add more tests to bring integration to 100% coverage (#120661) 2024-06-27 06:08:40 -05:00
Michael Hansen d515a7f063
Add created_seconds to timer info and pass to ESPHome devices (#120364) 2024-06-26 14:20:11 +02:00
J. Nick Koston edaa5c60a7
Small cleanups to ESPHome (#120414) 2024-06-25 17:00:03 +02:00
J. Nick Koston b5afc5a7f0
Fix incorrect mocking in ESPHome tests (#120410) 2024-06-25 13:31:50 +02:00
J. Nick Koston c15718519b
Improve test coverage for ESPHome manager (#120400) 2024-06-25 13:14:11 +02:00
epenet f5fd389512
Fix hass-component-root-import warning in esphome tests (#119883) 2024-06-18 12:39:36 +02:00
Jesse Hills f8711dbfbf
Add esphome native device update entities (#119339)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-06-18 16:31:50 +12:00
epenet 3e9d25f81d
Add missing argument type hints to component tests (#119671) 2024-06-14 09:26:46 +02:00
Sid 721b2c2ca8
Enable Ruff PT012 (#113957) 2024-06-08 17:59:08 +02:00
epenet b2a54c50e2
Move mock_zeroconf to decorator in tests (#119061) 2024-06-07 20:55:20 +02:00
epenet bfff3c0524
Add type hint to mock_async_zeroconf in test fixtures (#119057) 2024-06-07 12:09:18 +02:00
epenet fb51163075
Move socket_enabled fixture to decorator (#118847) 2024-06-06 17:27:38 +02:00
epenet 4b663dbf01
Rename esphome fixture (#118865) 2024-06-05 13:31:59 +02:00
J. Nick Koston ed0568c655
Ensure config entries are not unloaded while their platforms are setting up (#118767)
* Report non-awaited/non-locked config entry platform forwards

Its currently possible for config entries to be reloaded while their platforms
are being forwarded if platform forwards are not awaited or done after the
config entry is setup since the lock will not be held in this case.

In https://developers.home-assistant.io/blog/2022/07/08/config_entry_forwards
we advised to await platform forwards to ensure this does not happen, however
for sleeping devices and late discovered devices, platform forwards may happen
later.

If config platform forwards are happening during setup, they should be awaited

If config entry platform forwards are not happening during setup, instead
async_late_forward_entry_setups should be used which will hold the lock to
prevent the config entry from being unloaded while its platforms are being
setup

* Report non-awaited/non-locked config entry platform forwards

Its currently possible for config entries to be reloaded while their platforms
are being forwarded if platform forwards are not awaited or done after the
config entry is setup since the lock will not be held in this case.

In https://developers.home-assistant.io/blog/2022/07/08/config_entry_forwards
we advised to await platform forwards to ensure this does not happen, however
for sleeping devices and late discovered devices, platform forwards may happen
later.

If config platform forwards are happening during setup, they should be awaited

If config entry platform forwards are not happening during setup, instead
async_late_forward_entry_setups should be used which will hold the lock to
prevent the config entry from being unloaded while its platforms are being
setup

* run with error on to find them

* cert_exp, hold lock

* cert_exp, hold lock

* shelly async_late_forward_entry_setups

* compact

* compact

* found another

* patch up mobileapp

* patch up hue tests

* patch up smartthings

* fix mqtt

* fix esphome

* zwave_js

* mqtt

* rework

* fixes

* fix mocking

* fix mocking

* do not call async_forward_entry_setup directly

* docstrings

* docstrings

* docstrings

* add comments

* doc strings

* fixed all in core, turn off strict

* coverage

* coverage

* missing

* coverage
2024-06-04 21:34:39 -04:00
epenet f120f55d86
Move enable_bluetooth fixture to decorator (#118803) 2024-06-04 16:20:11 +02:00
epenet f178467b0e
Add type hints for TTS test fixtures (#118704) 2024-06-03 17:43:18 +02:00
epenet 83e77720e9
Improve type hints for mock_bluetooth/enable_bluetooth (#118484) 2024-05-30 22:16:45 -04:00
epenet 092cdcfe91
Improve type hints in tests (a-h) (#118379) 2024-05-30 08:46:18 +02:00
Jesse Hills 035e21ddbb
[esphome] 100% voice assistant test coverage (#118334) 2024-05-28 21:14:47 -04:00
Jesse Hills 7f530ee0e4
[esphome] Assist timers (#118275)
* [esphome] Assist timers

* Add intent to manifest dependencies

* Add test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-05-28 14:57:58 -04:00
epenet a59621bf9e
Add more type hints to pylint plugin (#118319) 2024-05-28 18:37:38 +02:00
epenet 8837c50da7
Use registry fixtures in tests (a-h) (#118288) 2024-05-28 13:15:16 +02:00
epenet 44f715bd02
Use issue_registry fixture in component tests (#118041) 2024-05-24 15:54:20 +02:00
Mischa Siekmann ad69a23fda
Send MEDIA_ANNOUNCE flag to ESPHome media_player (#116993) 2024-05-23 09:47:34 +12:00
epenet 2e155f4de5
Move esphome coordinator to separate module (#117427) 2024-05-14 15:16:47 +02:00
Markus ed4c3196ab
Add ESPhome discovery via MQTT (#116499)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-10 13:32:42 +02:00
J. Nick Koston d0f5e40b19
Refactor ESPHome manager to avoid sending signals in tests (#116033) 2024-04-24 16:14:44 +02:00
David Friedland e3016b131a
Add Event support to ESPHome components (#116061)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-04-24 13:22:03 +12:00
Jesse Hills 9b6863f182
ESPHome: Add datetime entities (#115942) 2024-04-22 13:12:22 +02:00
Keith Burzinski 14515b77bb
Add valve entity support for ESPHome (#115341)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-04-17 20:47:15 -05:00
J. Nick Koston dee99c764b
Complete ESPHome media_player coverage (#114352) 2024-04-13 16:29:14 -05:00
Jesse Hills 68384bba67
Send/receive Voice Assistant audio via ESPHome native API (#114800)
* 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>
2024-04-09 10:55:59 -04:00
Sid 0d66d298ec
Enable Ruff RET504 (#114528)
* Enable Ruff RET504

* fix test

* Use noqa instead of cast

* fix sonos RET504

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-06 11:07:37 +02:00
epenet 0b01326f9f
Use is in ConfigEntryState enum comparison in tests (A-M) (#114925) 2024-04-05 17:16:55 +02:00
epenet 24f83c5890
Use is in FlowResultType enum comparison in tests (#114917)
* Use is in FlowResultType enum comparison in tests

* Adjust auth

* Adjust systemmonitor

* Once more

* Add comment
2024-04-05 10:40:14 +02:00
Marc Mueller 3c5089bc3f
Update import for EventStateChangedData [a-h] (#114899) 2024-04-04 11:48:36 -10:00
Joost Lekkerkerker 9b41e3d124
Use is in enum comparison in config flow tests A-E (#114669) 2024-04-02 11:22:05 -10:00
J. Nick Koston bec45dacf0
Add additional coverage to the ESPHome manager (#114265) 2024-03-27 20:52:45 -10:00
Joost Lekkerkerker 6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
Jesse Hills 6ddef7bbff
ESPHome: Add Time Entity support (#113852) 2024-03-21 16:59:43 +13:00
Sid 00ec7f11f0
Enable Ruff rule PT007 (#113764)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-19 09:01:07 +01:00
Sid 27e844e3bf
Add ruff B005, B015, B032 and fix occurrences (#113543)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-15 17:48:37 -10:00