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
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
def decorator(fn): rule = _FunctionRule(fn, [CronTrigger(cron_expression)], name=trigger_name) get_automation_manager().addRule(rule) return fn