# 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'

    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'
