private void TimerOnElapsed(object?sender, EventArgs e) { if (_logger.IsTrace) { _logger.Trace("Period Bundle Trigger Called"); } TriggerBundle?.Invoke(this, new BundleUserOpsEventArgs(_blockTree.Head !)); _timer.Enabled = true; }
public void SetUp() { _trigger = TriggerTestHelpers.StaticTrigger(false); _actions = new[] { TriggerTestHelpers.DoNothingAction(), TriggerTestHelpers.DoNothingAction(), TriggerTestHelpers.DoNothingAction() }; _bundle = new TriggerBundle(_trigger, _actions); }
public void SetUp() { _trigger = TriggerTestHelpers.StaticTrigger(false); _actions = new[] { TriggerTestHelpers.DoNothingAction(), TriggerTestHelpers.DoNothingAction(), TriggerTestHelpers.DoNothingAction() }; _bundle = new TriggerBundle(_trigger, _actions); }
protected override void Execture_HomeAutomationSingleDeviceDefinition(HomeAutomationSingleDeviceContext context) { var target = context.ReadParameter("Target").ToHumidity(); var originalCommand = context.OriginalCommand; var commands = originalCommand.InnerCommands; var device = context.Device; var network = device.Network; var triggers = network.Context.Triggers; var history = network.Context.History; var threadPool = network.Context.ThreadPool; var trigger = new WhenHumidityRisesAboveValueTrigger(device, target, history.DeviceEvents); var action = new RunScriptTriggerAction(threadPool, commands); var triggerBundle = new TriggerBundle(trigger, action); triggers.Add(triggerBundle); }
protected override void Execture_HomeAutomationSingleDeviceDefinition(HomeAutomationSingleDeviceContext context) { var currentAction = context.ReadParameter("CurrentAction").Value; var originalCommand = context.OriginalCommand; var commands = originalCommand.InnerCommands; var device = context.Device; var network = device.Network; var triggers = network.Context.Triggers; var history = network.Context.History; var threadPool = network.Context.ThreadPool; var trigger = new WhenTheCurrentActionChangesTrigger(device, currentAction, history.DeviceEvents); var action = new RunScriptTriggerAction(threadPool, commands); var triggerBundle = new TriggerBundle(trigger, action); triggers.Add(triggerBundle); }
private void BlockTreeOnNewHeadBlock(object?sender, BlockEventArgs e) { TriggerBundle?.Invoke(this, new BundleUserOpsEventArgs(e.Block)); }