Source code for platypush.message.event.light

from typing import Optional

from platypush.message.event import Event


[docs]class LightEvent(Event): """ Base class for light plugins events. """
[docs] def __init__(self, *args, plugin_name: Optional[str] = None, **kwargs): """ :param plugin_name: Name of the :class:`platypush.plugins.light.LightPlugin` instance that triggered the event. """ super().__init__(*args, plugin_name=plugin_name, **kwargs)
[docs]class LightStatusChangeEvent(LightEvent): """ Event triggered when the state of a lightbulb changes """
[docs] def __init__(self, light_id=None, light_name=None, on=None, bri=None, sat=None, hue=None, ct=None, xy=None, *args, **kwargs): """ :param light_id: Light ID that triggered the event :type light_id: int :param light_name: Light name that triggered the event :type light_name: str :param on: Set if the power state of the bulb changed :type on: bool :param bri: Set if the brightness state of the bulb changed :type bri: int :param sat: Set if the saturation state of the bulb changed :type sat: int :param hue: Set if the hue state of the bulb changed :type hue: int :param ct: Set if the color temperature state of the bulb changed :type ct: int :param xy: Set if the color of the bulb (expressed in XY coordinates) has changed :type xy: list """ attrs = {} if light_id is not None: attrs['light_id'] = light_id if light_name is not None: attrs['light_name'] = light_name if on is not None: attrs['on'] = on if bri is not None: attrs['bri'] = bri if sat is not None: attrs['sat'] = sat if hue is not None: attrs['hue'] = hue if ct is not None: attrs['ct'] = ct if xy is not None: attrs['xy'] = xy super().__init__(*args, **attrs, **kwargs)
[docs]class LightAnimationStartedEvent(LightEvent): """ Event triggered when a light animation is started. """
[docs] def __init__(self, *args, animation, lights: Optional[list] = None, groups: Optional[list] = None, **kwargs): super().__init__(*args, animation=animation, lights=lights, groups=groups, **kwargs)
[docs]class LightAnimationStoppedEvent(LightEvent): """ Event triggered when a light animation is stopped. """
[docs] def __init__(self, *args, animation=None, lights: Optional[list] = None, groups: Optional[list] = None, **kwargs): super().__init__(*args, animation=animation, lights=lights, groups=groups, **kwargs)
# vim:sw=4:ts=4:et: