def build_button_idle_animation_directive(target_gadgets, animation): return SetLightDirective(version=1, target_gadgets=target_gadgets, parameters=SetLightParameters( trigger_event=TriggerEventType.none, trigger_event_time_ms=0, animations=[animation]))
def button_down_animation_directive(animation, target_gadgets=[]): """ returns a SetLight directive, with a 'buttonDown' trigger, that can be added to an Alexa skill response """ return SetLightDirective(version=1, target_gadgets=target_gadgets, parameters=SetLightParameters( trigger_event=TriggerEventType.buttonDown, trigger_event_time_ms=0, animations=[animation]))
def build_button_up_animation_directive(target_gadgets): return SetLightDirective(version=1, target_gadgets=target_gadgets, parameters=SetLightParameters( trigger_event=TriggerEventType.buttonUp, trigger_event_time_ms=0, animations=[ LightAnimation(repeat=1, target_lights=["1"], sequence=[ AnimationStep( duration_ms=300, color="00FFFF", blend=False) ]) ]))
def set_idle_animation(params): animations = [ LightAnimation(**dict( animation, sequence=[AnimationStep(**s) for s in animation['sequence']])) for animation in params['animations'] ] trigger_event = TriggerEventType('none') parameters = SetLightParameters(animations=animations, trigger_event=trigger_event, trigger_event_time_ms=params.get( 'trigger_time', 0)) return SetLightDirective(version=1, target_gadget=params.get( 'target_gadgets', []), parameters=parameters)