示例#1
0
 public override void Trigger(TriggeringEvent dogadjaj, Module modul)
 {
     if (triggered >= 0)
     {
         foreach (var item in selectedActions)
         {
             logger.Info("{0} executed script: {1}!!!", this.Name, item.Name);
             item.Execute(modul);
         }
         triggered++;
     }
 }
示例#2
0
 public override bool InterestedInEvent(TriggeringEvent myEvent)
 {
     if (myEvent.Type == TriggeringEventType.ModuleEvent)
     {
         if ((myEvent.Pin == pinNo) && (myEvent.AnalogValue > pinValue))
         {
             return true;
         }
         else
             return false;
     }
     else
         return base.InterestedInEvent(myEvent);
 }
示例#3
0
 public abstract void Trigger(TriggeringEvent myEvent, Module modul);
示例#4
0
 public virtual bool InterestedInEvent(TriggeringEvent myEvent)
 {
     return false;
 }
示例#5
0
        // HELPER METHODS
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (triggerEngine.Triggers.Count > 0)
            {
                if (myEvent != null)
                {
                    ProcessDogadjaj(myEvent);
                }

                myEvent = new TriggeringEvent(TriggeringEventType.TimeEvent, DateTime.Now);
                ProcessDogadjaj(myEvent);
            }
        }
示例#6
0
 private void ProcessDogadjaj(TriggeringEvent dogadjaj)
 {
     foreach (BaseTrigger item in triggerEngine.Triggers)
     {
         if (item.InterestedInEvent(dogadjaj))
         {
             item.Trigger(dogadjaj,mdl);
             break;
         }
     }
 }
示例#7
0
        void InputDigitalPinUpdated(Module sender, int pin, bool value, bool onDevice)
        {
            if (onDevice)
            {
                switch (pin)
                {
                    case 0:
                        if (value)
                        {
                            btnI0D.Text = "ON";
                            btnI0D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI0D.Text = "OFF";
                            btnI0D.BackColor = Color.Red;
                        }
                        break;

                    case 1:
                        if (value)
                        {
                            btnI1D.Text = "ON";
                            btnI1D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI1D.Text = "OFF";
                            btnI1D.BackColor = Color.Red;
                        }
                        break;

                    case 2:
                        if (value)
                        {
                            btnI2D.Text = "ON";
                            btnI2D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI2D.Text = "OFF";
                            btnI2D.BackColor = Color.Red;
                        }
                        break;

                    case 3:
                        if (value)
                        {
                            btnI3D.Text = "ON";
                            btnI3D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI3D.Text = "OFF";
                            btnI3D.BackColor = Color.Red;
                        }
                        break;

                    case 4:
                        if (value)
                        {
                            btnI4D.Text = "ON";
                            btnI4D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI4D.Text = "OFF";
                            btnI4D.BackColor = Color.Red;
                        }
                        break;

                    case 5:
                        if (value)
                        {
                            btnI5D.Text = "ON";
                            btnI5D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI5D.Text = "OFF";
                            btnI5D.BackColor = Color.Red;
                        }
                        break;

                    case 6:
                        if (value)
                        {
                            btnI6D.Text = "ON";
                            btnI6D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI6D.Text = "OFF";
                            btnI6D.BackColor = Color.Red;
                        }
                        break;

                    case 7:
                        if (value)
                        {
                            btnI7D.Text = "ON";
                            btnI7D.BackColor = Color.LightGreen;
                        }
                        else
                        {
                            btnI7D.Text = "OFF";
                            btnI7D.BackColor = Color.Red;
                        }
                        break;
                }
                myEvent = new TriggeringEvent(TriggeringEventType.ModuleEvent, pin, value);
                logger.Info("Digital INPUT pin: " + pin.ToString() + ", STATE changed to: " + value.ToString());
            }
        }
示例#8
0
 public override bool InterestedInEvent(TriggeringEvent myEvent)
 {
     if (myEvent.Type == TriggeringEventType.TimeEvent)
     {
         if ((myEvent.Time.Hour == triggerTime.Hour) && (myEvent.Time.Minute == triggerTime.Minute))
         {
             return true;
         }
         else
             return false;
     }
     else
         return base.InterestedInEvent(myEvent);
 }
示例#9
0
        public override void Trigger(TriggeringEvent dogadjaj, Module modul)
        {
            triggered = false;

            switch (runMode)
            {
                case TimeTriggerType.Continuous:
                    foreach (var item in selectedActions)
                    {
                        logger.Info("Trigger: {0}, executed script: {1}!!!", this.Name, item.Name);
                        item.Execute(modul);
                    }

                    triggered = true;
                break;

                case TimeTriggerType.RunOnce:
                    if (!triggered)
                    {
                        foreach (var item in selectedActions)
                        {
                            logger.Info("Trigger: {0}, executed script: {1}!!!", this.Name, item.Name);
                            item.Execute(modul);
                        }
                        triggered = true;
                        TriggerAt = DateTime.Now.AddMinutes(2);
                    }
                break;

            }
        }