Get updated Assist satellite config after setting it in ESPHome (#126552)

Get updated config after setting it
This commit is contained in:
Michael Hansen 2024-09-23 19:36:53 -05:00 committed by GitHub
parent fb45f4fcea
commit 4869309997
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 4 deletions

View file

@ -174,6 +174,9 @@ class EsphomeAssistSatellite(
)
_LOGGER.debug("Set active wake words: %s", config.active_wake_words)
# Ensure configuration is updated
await self._update_satellite_config()
async def _update_satellite_config(self) -> None:
"""Get the latest satellite configuration from the device."""
config = await self.cli.get_voice_assistant_configuration(_CONFIG_TIMEOUT_SEC)

View file

@ -2,6 +2,7 @@
import asyncio
from collections.abc import Awaitable, Callable
from dataclasses import replace
import io
import socket
from unittest.mock import ANY, Mock, patch
@ -1457,11 +1458,16 @@ async def test_get_set_configuration(
actual_config = satellite.async_get_configuration()
assert actual_config == expected_config
# Change active wake words
actual_config.active_wake_words = ["5678"]
await satellite.async_set_configuration(actual_config)
updated_config = replace(actual_config, active_wake_words=["5678"])
mock_client.get_voice_assistant_configuration.return_value = updated_config
# Device should have been updated
# Change active wake words
await satellite.async_set_configuration(updated_config)
# Set config method should be called
mock_client.set_voice_assistant_configuration.assert_called_once_with(
active_wake_words=["5678"]
)
# Device should have been updated
assert satellite.async_get_configuration() == updated_config