Drop language parameter from async_get_pipeline (#91612)

This commit is contained in:
Erik Montnemery 2023-04-18 18:07:20 +02:00 committed by GitHub
parent 10606c4d1e
commit bdffb1f298
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 34 additions and 58 deletions

View file

@ -46,7 +46,6 @@ def async_register_websocket_api(hass: HomeAssistant) -> None:
# pylint: disable-next=unnecessary-lambda
vol.Required("end_stage"): lambda val: PipelineStage(val),
vol.Optional("input"): dict,
vol.Optional("language"): str,
vol.Optional("pipeline"): str,
vol.Optional("conversation_id"): vol.Any(str, None),
vol.Optional("timeout"): vol.Any(float, int),
@ -82,23 +81,13 @@ async def websocket_run(
msg: dict[str, Any],
) -> None:
"""Run a pipeline."""
language = msg.get("language", hass.config.language)
# Temporary workaround for language codes
if language == "en":
language = "en-US"
pipeline_id = msg.get("pipeline")
pipeline = await async_get_pipeline(
hass,
pipeline_id=pipeline_id,
language=language,
)
pipeline = await async_get_pipeline(hass, pipeline_id=pipeline_id)
if pipeline is None:
connection.send_error(
msg["id"],
"pipeline-not-found",
f"Pipeline not found: id={pipeline_id}, language={language}",
f"Pipeline not found: id={pipeline_id}",
)
return
@ -147,7 +136,7 @@ async def websocket_run(
# Audio input must be raw PCM at 16Khz with 16-bit mono samples
input_args["stt_metadata"] = stt.SpeechMetadata(
language=language,
language=pipeline.language,
format=stt.AudioFormats.WAV,
codec=stt.AudioCodecs.PCM,
bit_rate=stt.AudioBitRates.BITRATE_16,