Exemplo n.º 1
0
 public bool GetTriggerConfigured(IPlugInAPI.strTrigActInfo actionInfo)
 {
     _triggerSettings = GetSettingsFromTriggerInfo(actionInfo);
     if (_triggerSettings.DeviceIdChosen.HasValue && _triggerSettings.DeviceIdChosen.Value > -1)
     {
         OnDeviceIdSet(_triggerSettings.DeviceIdChosen.Value);
     }
     return(_triggerSettings.GetTriggerConfigured());
 }
Exemplo n.º 2
0
        public bool TriggerTrue(IPlugInAPI.strTrigActInfo actionInfo, IStorageHandler storageHandler)
        {
            _triggerSettings = GetSettingsFromTriggerInfo(actionInfo);
            if (_triggerSettings != null && _triggerSettings.GetTriggerConfigured())
            {
                var thresholdValue           = _triggerSettings.ThresholdValue;
                var numberOfLastMeasurements = _triggerSettings.NumberOfLastMeasurements ?? 10;
                var dataPoints = storageHandler.GetLastValuesForDevice(_triggerSettings.DeviceIdChosen.Value, numberOfLastMeasurements);
                var lastValue  = dataPoints.Last();
                if (!ThresholdReached(lastValue.Value, thresholdValue, _triggerSettings.AscendingOrDescending))
                {
                    return(false);
                }

                return(_dataCurveComputationHandler.TriggerTrue(dataPoints, _triggerSettings.AscendingOrDescending, thresholdValue.Value, numberOfLastMeasurements));
            }
            return(false);
        }