mirror of
https://github.com/home-assistant/core.git
synced 2025-07-10 14:57:09 +00:00
Update service domain for lifx from 'light' to 'lifx' (#29136)
* update service domain for lifx custom services * fix service name
This commit is contained in:
parent
9e882ef6b4
commit
1f13809c6d
@ -60,7 +60,7 @@ MESSAGE_TIMEOUT = 1.0
|
|||||||
MESSAGE_RETRIES = 8
|
MESSAGE_RETRIES = 8
|
||||||
UNAVAILABLE_GRACE = 90
|
UNAVAILABLE_GRACE = 90
|
||||||
|
|
||||||
SERVICE_LIFX_SET_STATE = "lifx_set_state"
|
SERVICE_LIFX_SET_STATE = "set_state"
|
||||||
|
|
||||||
ATTR_INFRARED = "infrared"
|
ATTR_INFRARED = "infrared"
|
||||||
ATTR_ZONES = "zones"
|
ATTR_ZONES = "zones"
|
||||||
@ -74,9 +74,9 @@ LIFX_SET_STATE_SCHEMA = LIGHT_TURN_ON_SCHEMA.extend(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
SERVICE_EFFECT_PULSE = "lifx_effect_pulse"
|
SERVICE_EFFECT_PULSE = "effect_pulse"
|
||||||
SERVICE_EFFECT_COLORLOOP = "lifx_effect_colorloop"
|
SERVICE_EFFECT_COLORLOOP = "effect_colorloop"
|
||||||
SERVICE_EFFECT_STOP = "lifx_effect_stop"
|
SERVICE_EFFECT_STOP = "effect_stop"
|
||||||
|
|
||||||
ATTR_POWER_ON = "power_on"
|
ATTR_POWER_ON = "power_on"
|
||||||
ATTR_PERIOD = "period"
|
ATTR_PERIOD = "period"
|
||||||
@ -282,7 +282,7 @@ class LIFXManager:
|
|||||||
SERVICE_EFFECT_PULSE,
|
SERVICE_EFFECT_PULSE,
|
||||||
SERVICE_EFFECT_COLORLOOP,
|
SERVICE_EFFECT_COLORLOOP,
|
||||||
]:
|
]:
|
||||||
self.hass.services.async_remove(DOMAIN, service)
|
self.hass.services.async_remove(LIFX_DOMAIN, service)
|
||||||
|
|
||||||
def register_set_state(self):
|
def register_set_state(self):
|
||||||
"""Register the LIFX set_state service call."""
|
"""Register the LIFX set_state service call."""
|
||||||
@ -298,7 +298,7 @@ class LIFXManager:
|
|||||||
await asyncio.wait(tasks)
|
await asyncio.wait(tasks)
|
||||||
|
|
||||||
self.hass.services.async_register(
|
self.hass.services.async_register(
|
||||||
DOMAIN,
|
LIFX_DOMAIN,
|
||||||
SERVICE_LIFX_SET_STATE,
|
SERVICE_LIFX_SET_STATE,
|
||||||
service_handler,
|
service_handler,
|
||||||
schema=LIFX_SET_STATE_SCHEMA,
|
schema=LIFX_SET_STATE_SCHEMA,
|
||||||
@ -314,21 +314,24 @@ class LIFXManager:
|
|||||||
await self.start_effect(entities, service.service, **service.data)
|
await self.start_effect(entities, service.service, **service.data)
|
||||||
|
|
||||||
self.hass.services.async_register(
|
self.hass.services.async_register(
|
||||||
DOMAIN,
|
LIFX_DOMAIN,
|
||||||
SERVICE_EFFECT_PULSE,
|
SERVICE_EFFECT_PULSE,
|
||||||
service_handler,
|
service_handler,
|
||||||
schema=LIFX_EFFECT_PULSE_SCHEMA,
|
schema=LIFX_EFFECT_PULSE_SCHEMA,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.hass.services.async_register(
|
self.hass.services.async_register(
|
||||||
DOMAIN,
|
LIFX_DOMAIN,
|
||||||
SERVICE_EFFECT_COLORLOOP,
|
SERVICE_EFFECT_COLORLOOP,
|
||||||
service_handler,
|
service_handler,
|
||||||
schema=LIFX_EFFECT_COLORLOOP_SCHEMA,
|
schema=LIFX_EFFECT_COLORLOOP_SCHEMA,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.hass.services.async_register(
|
self.hass.services.async_register(
|
||||||
DOMAIN, SERVICE_EFFECT_STOP, service_handler, schema=LIFX_EFFECT_STOP_SCHEMA
|
LIFX_DOMAIN,
|
||||||
|
SERVICE_EFFECT_STOP,
|
||||||
|
service_handler,
|
||||||
|
schema=LIFX_EFFECT_STOP_SCHEMA,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def start_effect(self, entities, service, **kwargs):
|
async def start_effect(self, entities, service, **kwargs):
|
||||||
@ -652,7 +655,7 @@ class LIFXLight(Light):
|
|||||||
"""Start an effect with default parameters."""
|
"""Start an effect with default parameters."""
|
||||||
service = kwargs[ATTR_EFFECT]
|
service = kwargs[ATTR_EFFECT]
|
||||||
data = {ATTR_ENTITY_ID: self.entity_id}
|
data = {ATTR_ENTITY_ID: self.entity_id}
|
||||||
await self.hass.services.async_call(DOMAIN, service, data)
|
await self.hass.services.async_call(LIFX_DOMAIN, service, data)
|
||||||
|
|
||||||
async def async_update(self):
|
async def async_update(self):
|
||||||
"""Update bulb status."""
|
"""Update bulb status."""
|
||||||
|
@ -0,0 +1,77 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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"
|
@ -120,84 +120,6 @@ toggle:
|
|||||||
- colorloop
|
- colorloop
|
||||||
- random
|
- random
|
||||||
|
|
||||||
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:
|
xiaomi_miio_set_scene:
|
||||||
description: Set a fixed scene.
|
description: Set a fixed scene.
|
||||||
fields:
|
fields:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user