ptz_control:
  name: Pan/Zoom/Tilt Control
  description: Execute a PTZ command.
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    command:
      description: >-
        Command to execute. Possible values are:
        AUTO DOWN FOCUSDEC FOCUSINC LEFT LEFTDOWN LEFTUP
        RIGHT RIGHTDOWN RIGHTUP STOP TOPOS UP ZOOMDEC ZOOMINC
      example: LEFTUP
    preset:
      description: (Optional) In case of the command TOPOS. The available presets are listed as attribute on the camera.
      example: HOME
    speed:
      description: (Optional) Speed at which the movement takes place.
      example: 25

set_sensitivity:
  name: Set Motion Sensitivity
  description: Set the motion detection sensitivity.
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    sensitivity:
      description: New sensitivity, value between 1 (low sensitivity) and 50 (high sensitivity)
      example: 25
    preset:
      description: >-
        (Optional) Set the sensitivity of a specific preset (time schedule). When no value is supplied,
        all presets will be changed.

set_daynight:
  name: Set Day/Night Mode
  description: Set day and night parameter.
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    mode:
      description: >-
        The day and night mode parameter supports the following values:
          AUTO: Auto switch between black & white mode
          COLOR: Always record videos in color mode
          BLACKANDWHITE: Always record videos in black & white mode
      example: AUTO

set_backlight:
  name: Set backlight
  description:  >-
    Optimizing brightness and contrast levels to compensate for differences
    between dark and bright objects using either BLC or WDR mode.
    This may improve image clarity in high contrast situations,
    but it should be tested at different times of the day and night to ensure there is no negative effect.
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    mode:
      description: >-
        The backlight parameter supports the following values:
          BACKLIGHTCONTROL: use Backlight Control
          DYNAMICRANGECONTROL: use Dynamic Range Control
          OFF: no optimization
      example: DYNAMICRANGECONTROL

commit_thumbnails:
  name: Commit In-Memory Playback Thumbnails
  description: >-
    For cameras that have Video-On-Demand Playback capability, the system will capture
    thumbnails of motion events and hold them in memory until they are matched with
    recodings on the camera, this only happens automatically when using the media browser.
    This service allows this matching to occur via script or automation as well
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    start:
      description: >-
        Start of date range, if not provided will use the first unmatched thumbnail in memory
      example: "1/1/2021"
    end:
      description: >-
        End of date range, if not provided will use the current date and time
      example: "1/31/2021"

cleanup_thumbnails:
  name: Cleanup Camera VoD playback thumbnails
  description: >-
    For cameras that have Video-On-Demand Playback capability, this will attempt to remove
    thumbnails for VoDs that are no longer present on the camera, freeing up space on your
    Home Assistant install.
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    older_than:
      description: >-
        If provide will remove all thumbnails older than the specified date, irregardless
        of matching VoD
      example: "1/1/2021"

query_vods:
  name: Query Camera for VoD playbacks
  description: >-
    For cameras that have Video-On-Demand Playback capability, this will query the camera
    and emit an reolink_dev-vod-data event for each matching VoD that matches the search
    parameters, it will also provide the thumbail path for the expected thumbnail.
  target:
    entity:
      integration: reolink_dev
      domain: camera
  fields:
    entity_id:
      description: Name(s) of the Reolink camera entity to execute the command on.
      example: 'camera.frontdoor'
    event_id:
      description: Event to emit as
      example: 'VoD-query'
    start:
      description: >-
        Start of date range, if not provided will use the month playback range
      example: "1/1/2021"
    end:
      description: >-
        End of date range, if not provided will use the current date and time
      example: "1/31/2021"
