From 3ea5c37db913a564197a85b60105e7500ee98059 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Sun, 2 Nov 2025 20:36:52 +0000 Subject: [PATCH 1/2] Add Reolink exposure mode select entity --- homeassistant/components/reolink/icons.json | 3 +++ homeassistant/components/reolink/select.py | 12 ++++++++++++ homeassistant/components/reolink/strings.json | 9 +++++++++ 3 files changed, 24 insertions(+) diff --git a/homeassistant/components/reolink/icons.json b/homeassistant/components/reolink/icons.json index 6cffb4aec0d76..6c38dd2eef362 100644 --- a/homeassistant/components/reolink/icons.json +++ b/homeassistant/components/reolink/icons.json @@ -363,6 +363,9 @@ "day_night_mode": { "default": "mdi:theme-light-dark" }, + "exposure": { + "default": "mdi:image-edit" + }, "floodlight_event_mode": { "default": "mdi:spotlight-beam" }, diff --git a/homeassistant/components/reolink/select.py b/homeassistant/components/reolink/select.py index fc7f6e49eb5c4..c999018993262 100644 --- a/homeassistant/components/reolink/select.py +++ b/homeassistant/components/reolink/select.py @@ -13,6 +13,7 @@ ChimeToneEnum, DayNightEnum, EncodingEnum, + ExposureEnum, HDREnum, Host, HubToneEnum, @@ -208,6 +209,17 @@ def _get_quick_reply_id(api: Host, ch: int, mess: str) -> int: value=lambda api, ch: HDREnum(api.HDR_state(ch)).name, method=lambda api, ch, name: api.set_HDR(ch, HDREnum[name].value), ), + ReolinkSelectEntityDescription( + key="exposure", + cmd_key="GetIsp", + translation_key="exposure", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + get_options=[method.name for method in ExposureEnum], + supported=lambda api, ch: api.supported(ch, "exposure"), + value=lambda api, ch: ExposureEnum(api.exposure(ch)).name, + method=lambda api, ch, name: api.set_exposure(ch, ExposureEnum[name].value), + ), ReolinkSelectEntityDescription( key="binning_mode", cmd_key="GetIsp", diff --git a/homeassistant/components/reolink/strings.json b/homeassistant/components/reolink/strings.json index c8030872bc7db..3fa6320c0d942 100644 --- a/homeassistant/components/reolink/strings.json +++ b/homeassistant/components/reolink/strings.json @@ -601,6 +601,15 @@ "stayoff": "Stay off" } }, + "exposure": { + "name": "Image exposure mode", + "state": { + "antismearing": "Anti-smearing", + "auto": "[%key:common::state::auto%]", + "lownoise": "Low noise", + "manual": "Manual" + } + }, "floodlight_event_mode": { "name": "Floodlight event mode", "state": { From e7088eaaeeaea70c355dc969dd205d6840e76522 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Mon, 3 Nov 2025 22:10:25 +0000 Subject: [PATCH 2/2] Use camera-iris icon --- homeassistant/components/reolink/icons.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/reolink/icons.json b/homeassistant/components/reolink/icons.json index 6c38dd2eef362..2d321ed3d50a6 100644 --- a/homeassistant/components/reolink/icons.json +++ b/homeassistant/components/reolink/icons.json @@ -364,7 +364,7 @@ "default": "mdi:theme-light-dark" }, "exposure": { - "default": "mdi:image-edit" + "default": "mdi:camera-iris" }, "floodlight_event_mode": { "default": "mdi:spotlight-beam"