Commit Graph
56 Commits
Author SHA1 Message Date
Erik MontnemeryandGitHub 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 MontnemeryandGitHub 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
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
11ac8f8006 Add conversation agent to Wyoming (#124373)
* Add conversation agent to Wyoming

* Remove error

* Remove conversation platform from satellite list

* Clean up

* Update homeassistant/components/wyoming/conversation.py

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

* Remove unnecessary attribute

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-10-16 09:07:56 -05:00
bcac851677 Migrate Wyoming satellite to Assist satellite entity (#128488)
* Migrate Wyoming satellite to Assist satellite entity

* Fix tests

* Update homeassistant/components/wyoming/assist_satellite.py

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

* Update homeassistant/components/wyoming/assist_satellite.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-10-16 08:59:44 -05:00
Erik MontnemeryandGitHub 3052eca564 Remove unused custom flow context key 'name' from wyoming (#127182) 2024-10-01 12:25:39 +02:00
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
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
Erik MontnemeryandGitHub 56031b2e1a Disable Wyoming assist_in_progress binary sensor (#125806) 2024-09-12 13:33:35 -05:00
epenetandGitHub ba54a19d4b Simplify mock_tts_cache_dir_autouse fixture (#123783) 2024-08-13 18:01:06 +02:00
Joost LekkerkerkerandGitHub e8d7eb05ae Delete unused snapshots (#123656)
* Delete unused snapshots

* Delete unused snapshots
2024-08-12 13:28:09 +02:00
Michael HansenandGitHub d5388452d4 Use finished speaking detection in ESPHome/Wyoming (#122962) 2024-07-31 20:39:03 +02:00
Marc MuellerandGitHub f11b316dac Import Generator from collections.abc (4) (#120917) 2024-07-01 11:54:42 +02:00
Michael HansenandGitHub 18767154df Generate and keep conversation id for Wyoming satellite (#118835) 2024-06-21 13:24:53 +02:00
Marc MuellerandGitHub 59e178df3b Import Generator from typing_extensions (5) (#118993) 2024-06-06 17:33:27 +02:00
epenetandGitHub f178467b0e Add type hints for TTS test fixtures (#118704) 2024-06-03 17:43:18 +02:00
epenetandGitHub 1fbf93fd36 Add SnapshotAssertion type hints in tests (#118371) 2024-05-29 14:11:58 +02:00
06d6f99964 Respect WyomingSatelliteMuteSwitch state on start (#118320)
* Respect WyomingSatelliteMuteSwitch state on start

* Fix test

---------

Co-authored-by: Kostas Chatzikokolakis <kostas@chatzi.org>
2024-05-28 14:55:02 -04:00
Kostas ChatzikokolakisandGitHub 14132b5090 Don't set 'assist in progess' flag on wake_word-end (#113585) 2024-05-28 11:09:59 -05:00
Michael HansenandGitHub 3766c72ddb Forward timer events to Wyoming satellites (#118128)
* Add timer tests

* Forward timer events to satellites

* Use config entry for background tasks
2024-05-26 17:29:46 -04:00
Joost LekkerkerkerandGitHub 2ef0521d3d Use is in enum comparison in config flow tests U-Z (#114677)
* Use right enum expression U-Z

* Fix
2024-04-02 23:09:56 +02:00
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
SidandGitHub ccd2e989c3 Enable ruff RUF005 and fix occurrences (#113589) 2024-03-16 07:37:20 -10:00
Marc MuellerandGitHub aa16a9d707 Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc MuellerandGitHub 87165c0d6e Add empty line after module docstring [tests t-z] (#112712) 2024-03-08 14:44:56 +01:00
f0deae319e Use correct service name with Wyoming satellite + local wake word detection (#111870)
* Use correct service name with satellite + local wake word detection

* Don't load platforms for satellite services

* Update homeassistant/components/wyoming/data.py

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

* Fix ruff error

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 13:09:38 -05:00
f6622ea8e0 Add speech-to-text cooldown for local wake word (#108806)
* Deconflict based on wake word

* Undo test

* Make wake up key a string, rename error

* Update snapshot

* Change to "wake word phrase" and normalize

* Move normalization into the wake provider

* Working on describe

* Use satellite info to resolve wake word phrase

* Add test for wake word phrase

* Match phrase with model name in wake word provider

* Check model id

* Use one constant wake word cooldown

* Update homeassistant/components/assist_pipeline/error.py

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

* Fix wake word tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-26 20:35:19 -05:00
J. Nick KostonandGitHub d99a7e2825 Fix race in wyoming test (#110766)
reverts #110751 and replaces it with a change to wait for the
assist_pipeline.async_pipeline_from_audio_stream to be called
which will actually solve the problem and unblock #110743
2024-02-17 08:24:21 +01:00
J. Nick KostonandGitHub 5adb9240c5 Wait for client to be created in wyoming tests (#110751)
* Add missing async_block_till_done in wyoming tests

* better fix

* better fix

* better fix

* better fix
2024-02-16 22:48:47 +01:00
Michael HansenandGitHub cffd95a015 Pause Wyoming satellite on mute (#108322)
Pause satellite on mute
2024-01-23 20:37:25 -05:00
Michael HansenandGitHub db81f4d046 Wyoming satellite ping and bugfix for local wake word (#108164)
* Refactor with ping

* Fix tests

* Increase test coverage
2024-01-16 15:43:30 -06:00
Michael HansenandGitHub aaccf19013 Rename "satellite enabled" to "mute" (#105619) 2023-12-13 09:09:22 +01:00
Erik MontnemeryandGitHub 6908497c3d Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Michael HansenandGitHub 80607f7750 Disconnect before reconnecting to satellite (#105500)
Disconnect before reconnecting
2023-12-11 11:18:46 -05:00
Michael HansenandGitHub 43daeb2630 Set device id and forward errors to Wyoming satellites (#105266)
* Set device id and forward errors

* Fix tests
2023-12-07 19:44:43 -06:00
Michael HansenandGitHub e9f8e7ab50 Add Wyoming satellite audio settings (#105261)
* Add noise suppression level

* Add auto gain and volume multiplier

* Always use mock TTS dir in Wyoming tests

* More tests
2023-12-07 17:02:55 -05:00
Michael HansenandGitHub a9381d2590 Add Wyoming satellite (#104759)
* First draft of Wyoming satellite

* Set up homeassistant in tests

* Move satellite

* Add devices with binary sensor and select

* Add more events

* Add satellite enabled switch

* Fix mistake

* Only set up necessary platforms for satellites

* Lots of fixes

* Add tests

* Use config entry id as satellite id

* Initial satellite test

* Add satellite pipeline test

* More tests

* More satellite tests

* Only support single device per config entry

* Address comments

* Make a copy of platforms
2023-12-04 15:13:15 -05:00
706add4a57 Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Michael HansenandGitHub ae516ffbb5 Automatically convert TTS audio to MP3 on demand (#102814)
* Add ATTR_PREFERRED_FORMAT to TTS for auto-converting audio

* Move conversion into SpeechManager

* Handle None case for expected_extension

* Only use ATTR_AUDIO_OUTPUT

* Prefer MP3 in pipelines

* Automatically convert to mp3 on demand

* Add preferred audio format

* Break out preferred format

* Add ATTR_BLOCKING to allow async fetching

* Make a copy of supported options

* Fix MaryTTS tests

* Update ESPHome to use "wav" instead of "raw"

* Clean up tests, remove blocking

* Clean up rest of TTS tests

* Fix ESPHome tests

* More test coverage
2023-11-06 15:26:00 -05:00
257686fcfe Dynamic wake word loading for Wyoming (#101827)
* Change supported_wake_words property to async method

* Add test

* Add timeout + test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-10-11 10:21:32 -07:00
Michael HansenandGitHub af8367a8c6 Send Wyoming Detect message during wake word detection (#100968)
* Send Detect message with desired wake word

* Add tests

* Fix test
2023-09-26 19:24:02 -05:00
Erik MontnemeryandGitHub 734c4e8e32 Rename WakeWord.ww_id to WakeWord.id (#100903)
* Rename WakeWord.ww_id to WakeWord.wake_word_id

* Revert unrelated changes

* Rename to id

* Correct rebase
2023-09-26 19:12:16 +02:00
Erik MontnemeryandGitHub d76c5ed351 Use wake word settings in assist pipeline runs (#100864) 2023-09-25 12:58:10 -04:00
Michael HansenandGitHub 7ea2998b55 Add wake word integration (#96380)
* Add wake component

* Add wake support to Wyoming

* Add helper function to assist_pipeline (not complete)

* Rename wake to wake_word

* Fix platform

* Use send_event and clean up

* Merge wake word into pipeline

* Add wake option to async_pipeline_from_audio_stream

* Add start/end stages to async_pipeline_from_audio_stream

* Add wake timeout

* Remove layer in wake_output

* Use VAD for wake word timeout

* Include audio metadata in wake-start

* Remove unnecessary websocket command

* wake -> wake_word

* Incorporate feedback

* Clean up wake_word tests

* Add wyoming wake word tests

* Add pipeline wake word test

* Add last processed state

* Fix tests

* Add tests for wake word

* More tests for the codebot
2023-08-07 22:22:16 -04:00
Michael HansenandGitHub 8ad37d7640 Send language to Wyoming STT (#97344) 2023-08-01 10:05:01 +02:00
Michael HansenandGitHub afdded58ee Wyoming Piper 1.1 (#96490)
* Add voice/speaker options to Piper TTS

* Use description if available

* Fix tests

* Clean up if
2023-07-14 08:56:27 -04:00
Erik MontnemeryandGitHub 68379dd55a Improve TTS cache dir mocking (#93468) 2023-05-24 21:00:35 +02:00
Franck NijhofandGitHub ac21f69ad0 Add add-on discovery URL and title to Wyoming integration (#92129) 2023-04-27 19:51:26 +02:00
Franck NijhofandGitHub 565b26e884 Fix tts add-on discovery for Wyoming (#92064) 2023-04-26 08:04:46 -05:00
Erik MontnemeryandGitHub 64cbc91697 Use addon uuid as wyoming config entry unique id (#92008) 2023-04-25 21:04:11 +02:00