# Describes the format for available light services

turn_on:
  description: Turn a light on.
  fields:
    entity_id:
      description: Name(s) of entities to turn on
      example: 'light.kitchen'
    transition:
      description: Duration in seconds it takes to get to next state
      example: 60
    rgb_color:
      description: Color for the light in RGB-format.
      example: '[255, 100, 100]'
    color_name:
      description: A human readable color name.
      example: 'red'
    hs_color:
      description: Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100.
      example: '[300, 70]'
    xy_color:
      description: Color for the light in XY-format.
      example: '[0.52, 0.43]'
    color_temp:
      description: Color temperature for the light in mireds.
      example: 250
    kelvin:
      description: Color temperature for the light in Kelvin.
      example: 4000
    white_value:
      description: Number between 0..255 indicating level of white.
      example: '250'
    brightness:
      description: Number between 0..255 indicating brightness.
      example: 120
    brightness_pct:
      description: Number between 0..100 indicating percentage of full brightness.
      example: 47
    profile:
      description: Name of a light profile to use.
      example: relax
    flash:
      description: If the light should flash.
      values:
        - short
        - long
    effect:
      description: Light effect.
      values:
        - colorloop
        - random

turn_off:
  description: Turn a light off.
  fields:
    entity_id:
      description: Name(s) of entities to turn off.
      example: 'light.kitchen'
    transition:
      description: Duration in seconds it takes to get to next state.
      example: 60
    flash:
      description: If the light should flash.
      values:
        - short
        - long

toggle:
  description: Toggles a light.
  fields:
    entity_id:
      description: Name(s) of entities to toggle.
      example: 'light.kitchen'
    transition:
      description: Duration in seconds it takes to get to next state.
      example: 60

hue_activate_scene:
  description: Activate a hue scene stored in the hue hub.
  fields:
    group_name:
      description: Name of hue group/room from the hue app.
      example: "Living Room"
    scene_name:
      description: Name of hue scene from the hue app.
      example: "Energize"

lifx_set_state:
  description: Set a color/brightness and possibliy turn the light on/off.
  fields:
    entity_id:
      description: Name(s) of entities to set a state on.
      example: 'light.garage'
    '...':
      description: All turn_on parameters can be used to specify a color.
    infrared:
      description: Automatic infrared level (0..255) when light brightness is low.
      example: 255
    zones:
      description: List of zone numbers to affect (8 per LIFX Z, starts at 0).
      example: '[0,5]'
    transition:
      description: Duration in seconds it takes to get to the final state.
      example: 10
    power:
      description: Turn the light on (True) or off (False). Leave out to keep the power as it is.
      example: True

lifx_effect_pulse:
  description: Run a flash effect by changing to a color and back.
  fields:
    entity_id:
      description: Name(s) of entities to run the effect on.
      example: 'light.kitchen'
    mode:
      description: 'Decides how colors are changed. Possible values: blink, breathe, ping, strobe, solid.'
      example: strobe
    brightness:
      description: Number between 0..255 indicating brightness of the temporary color.
      example: 120
    color_name:
      description: A human readable color name.
      example: 'red'
    rgb_color:
      description: The temporary color in RGB-format.
      example: '[255, 100, 100]'
    period:
      description: Duration of the effect in seconds (default 1.0).
      example: 3
    cycles:
      description: Number of times the effect should run (default 1.0).
      example: 2
    power_on:
      description: Powered off lights are temporarily turned on during the effect (default True).
      example: False

lifx_effect_colorloop:
  description: Run an effect with looping colors.
  fields:
    entity_id:
      description: Name(s) of entities to run the effect on.
      example: 'light.disco1, light.disco2, light.disco3'
    brightness:
      description: Number between 0 and 255 indicating brightness of the effect. Leave this out to maintain the current brightness of each participating light.
      example: 120
    period:
      description: Duration (in seconds) between color changes (default 60).
      example: 180
    change:
      description: Hue movement per period, in degrees on a color wheel (ranges from 0 to 360, default 20).
      example: 45
    spread:
      description: Maximum hue difference between participating lights, in degrees on a color wheel (ranges from 0 to 360, default 30).
      example: 0
    power_on:
      description: Powered off lights are temporarily turned on during the effect (default True).
      example: False

lifx_effect_stop:
  description: Stop a running effect.
  fields:
    entity_id:
      description: Name(s) of entities to stop effects on. Leave out to stop effects everywhere.
      example: 'light.bedroom'

xiaomi_miio_set_scene:
  description: Set a fixed scene.
  fields:
    entity_id:
      description: Name of the light entity.
      example: 'light.xiaomi_miio'
    scene:
      description: Number of the fixed scene, between 1 and 4.
      example: 1

xiaomi_miio_set_delayed_turn_off:
  description: Delayed turn off.
  fields:
    entity_id:
      description: Name of the light entity.
      example: 'light.xiaomi_miio'
    time_period:
      description: Time period for the delayed turn off.
      example: "5, '0:05', {'minutes': 5}"

yeelight_set_mode:
  description: Set a operation mode.
  fields:
    entity_id:
      description: Name of the light entity.
      example: 'light.yeelight'
    mode:
      description: Operation mode. Valid values are 'last', 'normal', 'rgb', 'hsv', 'color_flow', 'moonlight'.
      example: 'moonlight'
