diff --git a/homeassistant/components/reolink/button.py b/homeassistant/components/reolink/button.py index 37bff9c0799..a901b8311aa 100644 --- a/homeassistant/components/reolink/button.py +++ b/homeassistant/components/reolink/button.py @@ -105,6 +105,46 @@ BUTTON_ENTITIES = ( method=lambda api, ch: api.set_ptz_command(ch, command=PtzEnum.zoomout.value), ptz_cmd=PtzEnum.zoomout.value, ), + ReolinkButtonEntityDescription( + key="ptz_left_up", + translation_key="ptz_left_up", + entity_registry_enabled_default=False, + supported=lambda api, ch: api.supported(ch, "ptz_diagonal"), + method=lambda api, ch: api.set_ptz_command(ch, command=PtzEnum.leftup.value), + ptz_cmd=PtzEnum.leftup.value, + ), + ReolinkButtonEntityDescription( + key="ptz_left_down", + translation_key="ptz_left_down", + entity_registry_enabled_default=False, + supported=lambda api, ch: api.supported(ch, "ptz_diagonal"), + method=lambda api, ch: api.set_ptz_command(ch, command=PtzEnum.leftdown.value), + ptz_cmd=PtzEnum.leftdown.value, + ), + ReolinkButtonEntityDescription( + key="ptz_right_up", + translation_key="ptz_right_up", + entity_registry_enabled_default=False, + supported=lambda api, ch: api.supported(ch, "ptz_diagonal"), + method=lambda api, ch: api.set_ptz_command(ch, command=PtzEnum.rightup.value), + ptz_cmd=PtzEnum.rightup.value, + ), + ReolinkButtonEntityDescription( + key="ptz_right_down", + translation_key="ptz_right_down", + entity_registry_enabled_default=False, + supported=lambda api, ch: api.supported(ch, "ptz_diagonal"), + method=lambda api, ch: api.set_ptz_command(ch, command=PtzEnum.rightdown.value), + ptz_cmd=PtzEnum.rightdown.value, + ), + ReolinkButtonEntityDescription( + key="ptz_auto", + translation_key="ptz_auto", + entity_registry_enabled_default=False, + supported=lambda api, ch: api.supported(ch, "ptz_auto"), + method=lambda api, ch: api.set_ptz_command(ch, command=PtzEnum.auto.value), + ptz_cmd=PtzEnum.auto.value, + ), ReolinkButtonEntityDescription( key="ptz_calibrate", translation_key="ptz_calibrate", diff --git a/homeassistant/components/reolink/icons.json b/homeassistant/components/reolink/icons.json index 52bb9e7add9..a5716aa76d2 100644 --- a/homeassistant/components/reolink/icons.json +++ b/homeassistant/components/reolink/icons.json @@ -141,6 +141,9 @@ "guard_set": { "default": "mdi:crosshairs-gps" }, + "ptz_auto": { + "default": "mdi:infinity" + }, "ptz_calibrate": { "default": "mdi:pan" }, @@ -150,9 +153,21 @@ "ptz_left": { "default": "mdi:pan" }, + "ptz_left_down": { + "default": "mdi:pan" + }, + "ptz_left_up": { + "default": "mdi:pan" + }, "ptz_right": { "default": "mdi:pan" }, + "ptz_right_down": { + "default": "mdi:pan" + }, + "ptz_right_up": { + "default": "mdi:pan" + }, "ptz_stop": { "default": "mdi:pan" }, diff --git a/homeassistant/components/reolink/strings.json b/homeassistant/components/reolink/strings.json index 6b705335e45..6a707d6ff72 100644 --- a/homeassistant/components/reolink/strings.json +++ b/homeassistant/components/reolink/strings.json @@ -307,6 +307,9 @@ "guard_set": { "name": "Guard set current position" }, + "ptz_auto": { + "name": "PTZ continuous rotation" + }, "ptz_calibrate": { "name": "PTZ calibrate" }, @@ -316,9 +319,21 @@ "ptz_left": { "name": "PTZ left" }, + "ptz_left_down": { + "name": "PTZ left down" + }, + "ptz_left_up": { + "name": "PTZ left up" + }, "ptz_right": { "name": "PTZ right" }, + "ptz_right_down": { + "name": "PTZ right down" + }, + "ptz_right_up": { + "name": "PTZ right up" + }, "ptz_stop": { "name": "PTZ stop" },