mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
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
This commit is contained in:
parent
074eb966dd
commit
734c4e8e32
@ -6,7 +6,7 @@ from dataclasses import dataclass
|
||||
class WakeWord:
|
||||
"""Wake word model."""
|
||||
|
||||
ww_id: str
|
||||
id: str
|
||||
name: str
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ class WakeWord:
|
||||
class DetectionResult:
|
||||
"""Result of wake word detection."""
|
||||
|
||||
ww_id: str
|
||||
wake_word_id: str
|
||||
"""Id of detected wake word"""
|
||||
|
||||
timestamp: int | None
|
||||
|
@ -46,8 +46,7 @@ class WyomingWakeWordProvider(wake_word.WakeWordDetectionEntity):
|
||||
wake_service = service.info.wake[0]
|
||||
|
||||
self._supported_wake_words = [
|
||||
wake_word.WakeWord(ww_id=ww.name, name=ww.name)
|
||||
for ww in wake_service.models
|
||||
wake_word.WakeWord(id=ww.name, name=ww.name) for ww in wake_service.models
|
||||
]
|
||||
self._attr_name = wake_service.name
|
||||
self._attr_unique_id = f"{config_entry.entry_id}-wake_word"
|
||||
@ -111,7 +110,7 @@ class WyomingWakeWordProvider(wake_word.WakeWordDetectionEntity):
|
||||
queued_audio = [audio_task.result()]
|
||||
|
||||
return wake_word.DetectionResult(
|
||||
ww_id=detection.name,
|
||||
wake_word_id=detection.name,
|
||||
timestamp=detection.timestamp,
|
||||
queued_audio=queued_audio,
|
||||
)
|
||||
|
@ -184,18 +184,18 @@ class MockWakeWordEntity(wake_word.WakeWordDetectionEntity):
|
||||
@property
|
||||
def supported_wake_words(self) -> list[wake_word.WakeWord]:
|
||||
"""Return a list of supported wake words."""
|
||||
return [wake_word.WakeWord(ww_id="test_ww", name="Test Wake Word")]
|
||||
return [wake_word.WakeWord(id="test_ww", name="Test Wake Word")]
|
||||
|
||||
async def _async_process_audio_stream(
|
||||
self, stream: AsyncIterable[tuple[bytes, int]], wake_word_id: str | None
|
||||
) -> wake_word.DetectionResult | None:
|
||||
"""Try to detect wake word(s) in an audio stream with timestamps."""
|
||||
if wake_word_id is None:
|
||||
wake_word_id = self.supported_wake_words[0].ww_id
|
||||
wake_word_id = self.supported_wake_words[0].id
|
||||
async for chunk, timestamp in stream:
|
||||
if chunk.startswith(b"wake word"):
|
||||
return wake_word.DetectionResult(
|
||||
ww_id=wake_word_id,
|
||||
wake_word_id=wake_word_id,
|
||||
timestamp=timestamp,
|
||||
queued_audio=[(b"queued audio", 0)],
|
||||
)
|
||||
|
@ -292,7 +292,7 @@
|
||||
'data': dict({
|
||||
'wake_word_output': dict({
|
||||
'timestamp': 2000,
|
||||
'ww_id': 'test_ww',
|
||||
'wake_word_id': 'test_ww',
|
||||
}),
|
||||
}),
|
||||
'type': <PipelineEventType.WAKE_WORD_END: 'wake_word-end'>,
|
||||
|
@ -281,7 +281,7 @@
|
||||
'wake_word_output': dict({
|
||||
'queued_audio': None,
|
||||
'timestamp': 1000,
|
||||
'ww_id': 'test_ww',
|
||||
'wake_word_id': 'test_ww',
|
||||
}),
|
||||
})
|
||||
# ---
|
||||
@ -379,7 +379,7 @@
|
||||
dict({
|
||||
'wake_word_output': dict({
|
||||
'timestamp': 0,
|
||||
'ww_id': 'test_ww',
|
||||
'wake_word_id': 'test_ww',
|
||||
}),
|
||||
})
|
||||
# ---
|
||||
|
@ -41,8 +41,8 @@ class MockProviderEntity(wake_word.WakeWordDetectionEntity):
|
||||
def supported_wake_words(self) -> list[wake_word.WakeWord]:
|
||||
"""Return a list of supported wake words."""
|
||||
return [
|
||||
wake_word.WakeWord(ww_id="test_ww", name="Test Wake Word"),
|
||||
wake_word.WakeWord(ww_id="test_ww_2", name="Test Wake Word 2"),
|
||||
wake_word.WakeWord(id="test_ww", name="Test Wake Word"),
|
||||
wake_word.WakeWord(id="test_ww_2", name="Test Wake Word 2"),
|
||||
]
|
||||
|
||||
async def _async_process_audio_stream(
|
||||
@ -50,12 +50,12 @@ class MockProviderEntity(wake_word.WakeWordDetectionEntity):
|
||||
) -> wake_word.DetectionResult | None:
|
||||
"""Try to detect wake word(s) in an audio stream with timestamps."""
|
||||
if wake_word_id is None:
|
||||
wake_word_id = self.supported_wake_words[0].ww_id
|
||||
wake_word_id = self.supported_wake_words[0].id
|
||||
|
||||
async for _chunk, timestamp in stream:
|
||||
if timestamp >= 2000:
|
||||
return wake_word.DetectionResult(
|
||||
ww_id=wake_word_id, timestamp=timestamp
|
||||
wake_word_id=wake_word_id, timestamp=timestamp
|
||||
)
|
||||
|
||||
# Not detected
|
||||
@ -157,7 +157,7 @@ async def test_config_entry_unload(
|
||||
|
||||
@freeze_time("2023-06-22 10:30:00+00:00")
|
||||
@pytest.mark.parametrize(
|
||||
("ww_id", "expected_ww"),
|
||||
("wake_word_id", "expected_ww"),
|
||||
[
|
||||
(None, "test_ww"),
|
||||
("test_ww_2", "test_ww_2"),
|
||||
@ -167,7 +167,7 @@ async def test_detected_entity(
|
||||
hass: HomeAssistant,
|
||||
tmp_path: Path,
|
||||
setup: MockProviderEntity,
|
||||
ww_id: str | None,
|
||||
wake_word_id: str | None,
|
||||
expected_ww: str,
|
||||
) -> None:
|
||||
"""Test successful detection through entity."""
|
||||
@ -181,7 +181,7 @@ async def test_detected_entity(
|
||||
# Need 2 seconds to trigger
|
||||
state = setup.state
|
||||
assert state is None
|
||||
result = await setup.async_process_audio_stream(three_second_stream(), ww_id)
|
||||
result = await setup.async_process_audio_stream(three_second_stream(), wake_word_id)
|
||||
assert result == wake_word.DetectionResult(expected_ww, 2048)
|
||||
|
||||
assert state != setup.state
|
||||
@ -283,7 +283,7 @@ async def test_list_wake_words(
|
||||
assert msg["success"]
|
||||
assert msg["result"] == {
|
||||
"wake_words": [
|
||||
{"ww_id": "test_ww", "name": "Test Wake Word"},
|
||||
{"ww_id": "test_ww_2", "name": "Test Wake Word 2"},
|
||||
{"id": "test_ww", "name": "Test Wake Word"},
|
||||
{"id": "test_ww_2", "name": "Test Wake Word 2"},
|
||||
]
|
||||
}
|
||||
|
@ -8,6 +8,6 @@
|
||||
),
|
||||
]),
|
||||
'timestamp': 0,
|
||||
'ww_id': 'Test Model',
|
||||
'wake_word_id': 'Test Model',
|
||||
})
|
||||
# ---
|
||||
|
@ -25,7 +25,7 @@ async def test_support(hass: HomeAssistant, init_wyoming_wake_word) -> None:
|
||||
assert entity is not None
|
||||
|
||||
assert entity.supported_wake_words == [
|
||||
wake_word.WakeWord(ww_id="Test Model", name="Test Model")
|
||||
wake_word.WakeWord(id="Test Model", name="Test Model")
|
||||
]
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user