From ba0cb3bd05c341ee255b00e8ef2c0f4d3b73cd26 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Tue, 2 Jan 2024 15:39:28 +0100 Subject: [PATCH] Add Reolink image settings (#105415) --- homeassistant/components/reolink/number.py | 70 +++++++++++++++++++ homeassistant/components/reolink/strings.json | 15 ++++ 2 files changed, 85 insertions(+) diff --git a/homeassistant/components/reolink/number.py b/homeassistant/components/reolink/number.py index 09869b06e96..b27976eaa0e 100644 --- a/homeassistant/components/reolink/number.py +++ b/homeassistant/components/reolink/number.py @@ -371,6 +371,76 @@ NUMBER_ENTITIES = ( value=lambda api, ch: api.daynight_threshold(ch), method=lambda api, ch, value: api.set_daynight_threshold(ch, int(value)), ), + ReolinkNumberEntityDescription( + key="image_brightness", + cmd_key="GetImage", + translation_key="image_brightness", + icon="mdi:image-edit", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + native_step=1, + native_min_value=0, + native_max_value=255, + supported=lambda api, ch: api.supported(ch, "isp_bright"), + value=lambda api, ch: api.image_brightness(ch), + method=lambda api, ch, value: api.set_image(ch, bright=int(value)), + ), + ReolinkNumberEntityDescription( + key="image_contrast", + cmd_key="GetImage", + translation_key="image_contrast", + icon="mdi:image-edit", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + native_step=1, + native_min_value=0, + native_max_value=255, + supported=lambda api, ch: api.supported(ch, "isp_contrast"), + value=lambda api, ch: api.image_contrast(ch), + method=lambda api, ch, value: api.set_image(ch, contrast=int(value)), + ), + ReolinkNumberEntityDescription( + key="image_saturation", + cmd_key="GetImage", + translation_key="image_saturation", + icon="mdi:image-edit", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + native_step=1, + native_min_value=0, + native_max_value=255, + supported=lambda api, ch: api.supported(ch, "isp_satruation"), + value=lambda api, ch: api.image_saturation(ch), + method=lambda api, ch, value: api.set_image(ch, saturation=int(value)), + ), + ReolinkNumberEntityDescription( + key="image_sharpness", + cmd_key="GetImage", + translation_key="image_sharpness", + icon="mdi:image-edit", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + native_step=1, + native_min_value=0, + native_max_value=255, + supported=lambda api, ch: api.supported(ch, "isp_sharpen"), + value=lambda api, ch: api.image_sharpness(ch), + method=lambda api, ch, value: api.set_image(ch, sharpen=int(value)), + ), + ReolinkNumberEntityDescription( + key="image_hue", + cmd_key="GetImage", + translation_key="image_hue", + icon="mdi:image-edit", + entity_category=EntityCategory.CONFIG, + entity_registry_enabled_default=False, + native_step=1, + native_min_value=0, + native_max_value=255, + supported=lambda api, ch: api.supported(ch, "isp_hue"), + value=lambda api, ch: api.image_hue(ch), + method=lambda api, ch, value: api.set_image(ch, hue=int(value)), + ), ) diff --git a/homeassistant/components/reolink/strings.json b/homeassistant/components/reolink/strings.json index 04dd0e787ac..92e9a6164f8 100644 --- a/homeassistant/components/reolink/strings.json +++ b/homeassistant/components/reolink/strings.json @@ -308,6 +308,21 @@ }, "day_night_switch_threshold": { "name": "Day night switch threshold" + }, + "image_brightness": { + "name": "Image brightness" + }, + "image_contrast": { + "name": "Image contrast" + }, + "image_saturation": { + "name": "Image saturation" + }, + "image_sharpness": { + "name": "Image sharpness" + }, + "image_hue": { + "name": "Image hue" } }, "select": {