mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 08:47:10 +00:00
Fix custom message for UniFi Protect doorbell select (#64971)
This commit is contained in:
parent
e9a71231c2
commit
e203efa8b1
@ -122,7 +122,14 @@ def _get_viewer_options(api: ProtectApiClient) -> list[dict[str, Any]]:
|
|||||||
def _get_doorbell_options(api: ProtectApiClient) -> list[dict[str, Any]]:
|
def _get_doorbell_options(api: ProtectApiClient) -> list[dict[str, Any]]:
|
||||||
default_message = api.bootstrap.nvr.doorbell_settings.default_message_text
|
default_message = api.bootstrap.nvr.doorbell_settings.default_message_text
|
||||||
messages = api.bootstrap.nvr.doorbell_settings.all_messages
|
messages = api.bootstrap.nvr.doorbell_settings.all_messages
|
||||||
built_messages = ({"id": item.type.value, "name": item.text} for item in messages)
|
built_messages: list[dict[str, str]] = []
|
||||||
|
|
||||||
|
for item in messages:
|
||||||
|
msg_type = item.type.value
|
||||||
|
if item.type == DoorbellMessageType.CUSTOM_MESSAGE:
|
||||||
|
msg_type = f"{DoorbellMessageType.CUSTOM_MESSAGE}:{item.text}"
|
||||||
|
|
||||||
|
built_messages.append({"id": msg_type, "name": item.text})
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{"id": "", "name": f"Default Message ({default_message})"},
|
{"id": "", "name": f"Default Message ({default_message})"},
|
||||||
@ -176,6 +183,7 @@ async def _set_paired_camera(obj: Light | Sensor | Doorlock, camera_id: str) ->
|
|||||||
|
|
||||||
async def _set_doorbell_message(obj: Camera, message: str) -> None:
|
async def _set_doorbell_message(obj: Camera, message: str) -> None:
|
||||||
if message.startswith(DoorbellMessageType.CUSTOM_MESSAGE.value):
|
if message.startswith(DoorbellMessageType.CUSTOM_MESSAGE.value):
|
||||||
|
message = message.split(":")[-1]
|
||||||
await obj.set_lcd_text(DoorbellMessageType.CUSTOM_MESSAGE, text=message)
|
await obj.set_lcd_text(DoorbellMessageType.CUSTOM_MESSAGE, text=message)
|
||||||
elif message == TYPE_EMPTY_VALUE:
|
elif message == TYPE_EMPTY_VALUE:
|
||||||
await obj.set_lcd_text(None)
|
await obj.set_lcd_text(None)
|
||||||
|
@ -512,6 +512,10 @@ async def test_select_set_option_camera_doorbell_custom(
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
camera.set_lcd_text.assert_called_once_with(
|
||||||
|
DoorbellMessageType.CUSTOM_MESSAGE, text="Test"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_select_set_option_camera_doorbell_unifi(
|
async def test_select_set_option_camera_doorbell_unifi(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user