From dd0dce79685cb47151a0ee1b107eb28535750ae7 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Mon, 1 Sep 2025 11:20:20 +0200 Subject: [PATCH] Add Reolink encoding select entity (#151195) --- homeassistant/components/reolink/icons.json | 6 +++++ homeassistant/components/reolink/select.py | 23 +++++++++++++++++++ homeassistant/components/reolink/strings.json | 6 +++++ 3 files changed, 35 insertions(+) diff --git a/homeassistant/components/reolink/icons.json b/homeassistant/components/reolink/icons.json index 218b0e9305b6..e2424aed43d0 100644 --- a/homeassistant/components/reolink/icons.json +++ b/homeassistant/components/reolink/icons.json @@ -405,6 +405,12 @@ "sub_bit_rate": { "default": "mdi:play-speed" }, + "main_encoding": { + "default": "mdi:video-image" + }, + "sub_encoding": { + "default": "mdi:video-image" + }, "scene_mode": { "default": "mdi:view-list" }, diff --git a/homeassistant/components/reolink/select.py b/homeassistant/components/reolink/select.py index 23510125570a..7c9510387992 100644 --- a/homeassistant/components/reolink/select.py +++ b/homeassistant/components/reolink/select.py @@ -12,6 +12,7 @@ from reolink_aio.api import ( Chime, ChimeToneEnum, DayNightEnum, + EncodingEnum, HDREnum, Host, HubToneEnum, @@ -250,6 +251,28 @@ SELECT_ENTITIES = ( value=lambda api, ch: str(api.bit_rate(ch, "sub")), method=lambda api, ch, value: api.set_bit_rate(ch, int(value), "sub"), ), + ReolinkSelectEntityDescription( + key="main_encoding", + cmd_key="GetEnc", + translation_key="main_encoding", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + get_options=[val.name for val in EncodingEnum], + supported=lambda api, ch: api.supported(ch, "encoding"), + value=lambda api, ch: api.encoding(ch, "main"), + method=lambda api, ch, value: api.set_encoding(ch, value, "main"), + ), + ReolinkSelectEntityDescription( + key="sub_encoding", + cmd_key="GetEnc", + translation_key="sub_encoding", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + get_options=[val.name for val in EncodingEnum], + supported=lambda api, ch: api.supported(ch, "encoding"), + value=lambda api, ch: api.encoding(ch, "sub"), + method=lambda api, ch, value: api.set_encoding(ch, value, "sub"), + ), ReolinkSelectEntityDescription( key="pre_record_fps", cmd_key="594", diff --git a/homeassistant/components/reolink/strings.json b/homeassistant/components/reolink/strings.json index b0a969f53d5e..b0a54c1dd5d4 100644 --- a/homeassistant/components/reolink/strings.json +++ b/homeassistant/components/reolink/strings.json @@ -861,6 +861,12 @@ "sub_bit_rate": { "name": "Fluent bit rate" }, + "main_encoding": { + "name": "Clear encoding" + }, + "sub_encoding": { + "name": "Fluent encoding" + }, "scene_mode": { "name": "Scene mode", "state": {