Example #1
0
    def decorator(fn):
        nargs = len(inspect.getargspec(fn).args)

        def callback(module, inputs):
            fn_args = []
            event = inputs.get('event')
            if event and nargs == 1:
                fn_args.append(event)
            result_value = fn(*fn_args)
            if result_item_name:
                event_bus.postUpdate(result_item_name, unicode(result_value))

        rule = _FunctionRule(callback,
                             [ItemEventTrigger(item_name, event_types)],
                             extended=True,
                             name=trigger_name)
        get_automation_manager().addRule(rule)
        return fn
Example #2
0
    def decorator(fn):
        nargs = len(inspect.getargspec(fn).args)

        def callback(module, inputs):
            fn_args = []
            event = inputs.get('event')
            if event and nargs == 1:
                fn_args.append(event)
            result_value = fn(*fn_args)
            if result_item_name:
                event_bus.postUpdate(result_item_name, unicode(result_value))

        group_triggers = []
        group = scope.itemRegistry.getItem(group_name)
        for i in group.getAllMembers():
            group_triggers.append(ItemEventTrigger(i.name, event_types))
        rule = _FunctionRule(callback,
                             group_triggers,
                             extended=True,
                             name=trigger_name)
        get_automation_manager().addRule(rule)
        return fn
Example #3
0
 def decorator(fn):
     rule = _FunctionRule(fn, [CronTrigger(cron_expression)],
                          name=trigger_name)
     get_automation_manager().addRule(rule)
     return fn