'Turn on (or adjust property of) a group.'

@state(True)
def turn_on(self, transition_time, pipeline, **kwargs):

    from limitlessled.presets import COLORLOOP
    if (ATTR_BRIGHTNESS in kwargs):
        self._brightness = kwargs[ATTR_BRIGHTNESS]
    if (ATTR_RGB_COLOR in kwargs):
        self._color = kwargs[ATTR_RGB_COLOR]
    elif (ATTR_COLOR_TEMP in kwargs):
        self._temperature = kwargs[ATTR_COLOR_TEMP]
    if (min(self._color) > (256 - RGB_BOUNDARY)):
        pipeline.white()
        self._color = WHITE
    if (self._color == WHITE):
        pipeline.transition(transition_time, brightness=_from_hass_brightness(self._brightness), temperature=_from_hass_temperature(self._temperature))
    else:
        pipeline.transition(transition_time, brightness=_from_hass_brightness(self._brightness), color=_from_hass_color(self._color))
    if (ATTR_FLASH in kwargs):
        duration = 0
        if (kwargs[ATTR_FLASH] == FLASH_LONG):
            duration = 1
        pipeline.flash(duration=duration)
    if (ATTR_EFFECT in kwargs):
        if (kwargs[ATTR_EFFECT] == EFFECT_COLORLOOP):
            self.repeating = True
            pipeline.append(COLORLOOP)
        if (kwargs[ATTR_EFFECT] == EFFECT_WHITE):
            pipeline.white()
            self._color = WHITE
