private string AlarmActionAsString(AlarmMode mode) { switch (mode) { case AlarmMode.RegularArm: return("r"); case AlarmMode.ForceArm: return("f"); case AlarmMode.StayArm: return("s"); case AlarmMode.InstantArm: return("i"); case AlarmMode.Disarm: return("d"); case AlarmMode.SleepArm: return("p"); default: throw new ArgumentOutOfRangeException("mode"); } }
public static Alarm Create( AlarmMode mode, Action onFinished, bool canStart = false) { return(Create(1f, mode, onFinished, canStart)); }
//获取报警模式 public static List <AlarmMode> GetAlarmModes() { XmlDocument xmlDocument = GetXmlDocument(); if (xmlDocument == null) { return(null); } List <AlarmMode> LAM = new List <AlarmMode>(); try { XmlElement rootElement = xmlDocument.DocumentElement; XmlNode ModeNode = rootElement.SelectSingleNode("AlarmMode"); foreach (XmlNode child in ModeNode) { AlarmMode AM = new AlarmMode(); AM.Name = child.Name; AM.Value = Convert.ToInt32(child.FirstChild.Value); LAM.Add(AM); } } catch (Exception) { throw; } return(LAM); }
public static Alarm Set(Entity entity, float duration, Action onComplete, AlarmMode alarmMode = AlarmMode.Oneshot) { Alarm alarm = Alarm.Create(alarmMode, onComplete, duration, true); entity.Add(alarm); return(alarm); }
public void SetDisarmed() { if (OnOff) { ModeSignal = AlarmMode.Expectation; Img = "/Content/Images/alarm-no.png"; } }
public void SetIsArmed() { if (OnOff) { ModeSignal = AlarmMode.Protected; Img = "/Content/Images/alarm-on.png"; } }
public static Alarm Create( float duration, AlarmMode mode, Action onFinished, bool canStart = false) { var alarm = Cache.Count > 0 ? Cache.Pop() : new Alarm(); alarm.Initialize(duration, mode, onFinished, canStart); return(alarm); }
public static Alarm Create(AlarmMode mode, Action onComplete, float duration = 1f, bool start = false) { Alarm alarm; if (cached.Count == 0) alarm = new Alarm(); else alarm = cached.Pop(); alarm.Init(mode, onComplete, duration, start); return alarm; }
public Alarm(AlarmMode mode, Action onComplete, int duration, bool start = true) { Active = false; Mode = mode; Duration = duration; OnComplete += onComplete; if (start) Start(); }
public void SetNobodyHome(IDictionary<string, ElectrDevice> devices) { foreach (var device in devices) { if (!((devices[device.Key] is Alarm) || (devices[device.Key] is Fridge))) { devices[device.Key].TurnOff(); } } modeSignal = AlarmMode.isArmedNobodyHome; }
public static void Disarm(bool updateLoxone = true) { Mode = AlarmMode.Disarmed; if (updateLoxone) { UdpClient.Send("DisarmAlarm"); } Led.Off(); Sounds.Disarmed(); Debug.WriteLine("Alarm Disarmed!"); }
public static Alarm CreateAndApply( Entity entity, float duration, AlarmMode mode, Action onFinished) { var alarm = Create(duration, mode, onFinished, true); if (entity != null) { entity.Components.Add(alarm); } return(alarm); }
public Alarm(AlarmMode mode, int duration = 1, bool start = false) : base(false, false) { #if DEBUG if (duration < 1) throw new Exception("Alarm duration cannot be less than 1"); #endif Mode = mode; Duration = duration; if (start) Start(); }
public async Task <ActionResult> SetAlarmMode(int area, AlarmMode mode) { IList <KeyValuePair <string, string> > formData = new List <KeyValuePair <string, string> > { { new KeyValuePair <string, string>("area", $"{area}") }, { new KeyValuePair <string, string>("mode", $"{(byte)mode}") }, }; HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "/action/panelCondPost"); request.Content = new FormUrlEncodedContent(formData); ActionResult responseBody = await SendRequest <ActionResult>(request); return(responseBody); }
public static Alarm Create(AlarmMode mode, Action onComplete, float duration = 1f, bool start = false) { Alarm alarm; if (cached.Count == 0) { alarm = new Alarm(); } else { alarm = cached.Pop(); } alarm.Init(mode, onComplete, duration, start); return(alarm); }
void Initialize( float duration, AlarmMode mode, Action onFinished, bool canStart) { IsActive = false; Duration = Math.Max(Math.Abs(duration), float.Epsilon); TimeLeft = 0f; Mode = mode; OnFinished = onFinished; if (canStart) { Start(); } }
private void ShowAlarmMsg(string msg, AlarmMode mode) { _alarm.SetActive(true); _alarmText.text = msg; if (mode == AlarmMode.Ok) { _alarmBtnOk.gameObject.SetActive(true); _alarmBtnYes.gameObject.SetActive(false); _alarmBtnNo.gameObject.SetActive(false); } else if (mode == AlarmMode.YesNo) { _alarmBtnOk.gameObject.SetActive(false); _alarmBtnYes.gameObject.SetActive(true); _alarmBtnNo.gameObject.SetActive(true); } }
public void SetNobodyHome(List <ElectrDevice> devices) { if (OnOff) { foreach (var device in devices) { if (!((device is Alarm) || (device is Fridge))) { device.TurnOff(); } if (device is Microwave) { ((Microwave)device).Close(); } } ModeSignal = AlarmMode.Super_Home; Img = "/Content/Images/alarm-super.png"; } }
private void Init(AlarmMode mode, Action onComplete, float duration = 1f, bool start = false) { #if DEBUG if (duration <= 0) { throw new Exception("Alarm duration cannot be less than zero"); } #endif Mode = mode; Duration = duration; OnComplete = onComplete; Active = false; TimeLeft = 0; if (start) { Start(); } }
public void AlarmAction(PartitionNumber partitionNumber, AlarmMode mode) { lock (lockObject) { if (!IsLoggedIn) { throw new Exception("Must login first."); } var js = driver as IJavaScriptExecutor; js.ExecuteScript("window.open('','action')"); driver.SwitchTo().Window("action"); driver.Navigate().GoToUrl(statusLiveUrl); js.ExecuteScript("document.getElementsByName('area')[0].value='" + (int)partitionNumber + "'"); js.ExecuteScript("document.getElementsByName('value')[0].value='" + AlarmActionAsString(mode) + "'"); driver.FindElement(By.Name("statuslive")).Submit(); driver.Close(); driver.SwitchTo().Window(MainWindowHandle); } }
private void Init(AlarmMode mode, Action onComplete, float duration = 1f, bool start = false) { #if DEBUG if (duration <= 0) throw new Exception("Alarm duration cannot be less than zero"); #endif Mode = mode; Duration = duration; OnComplete = onComplete; Active = false; TimeLeft = 0; if (start) Start(); }
/// <summary> /// 获取告警原因 /// </summary> public static String GetAlarmDetail( String sName, Single alarmTemp, Int32 alarmMode, Int32 alarmType, Int32 alarmReason, Int32 alarmLevel, String condition) { AlarmMode mode = (AlarmMode)alarmMode; String type = ""; String name = ""; if (mode == AlarmMode.Selection) { name = sName + "(选区)"; switch ((SelectionAlarmType)alarmType) { case SelectionAlarmType.MaxTemp: type = "最高温度告警"; break; case SelectionAlarmType.MinTemp: type = "最低温度告警"; break; case SelectionAlarmType.AvgTemp: type = "平均温度告警"; break; } } else if (mode == AlarmMode.GroupSelection) { name = sName + "(选区组)"; switch ((GroupAlarmType)alarmType) { case GroupAlarmType.MaxTemperature: type = "最高温度告警(组)"; break; case GroupAlarmType.MaxTempDif: type = "最大温差告警(组)"; break; case GroupAlarmType.MaxTempRise: type = "最大温升告警(组)"; break; case GroupAlarmType.RelativeTempDif: type = "相对温差告警(组)"; break; } } String Reason = ""; switch ((AlarmReason)alarmReason) { case AlarmReason.High: Reason = "高于阈值"; break; case AlarmReason.Low: Reason = "低于阈值"; break; } String level = ""; switch ((AlarmLevel)alarmLevel) { case AlarmLevel.General: level = "一般告警"; break; case AlarmLevel.Serious: level = "严重告警"; break; case AlarmLevel.Critical: level = "危急告警"; break; } String detail = String.Format("{0}|温度:{1:F2}|{2}|{3}|{4}|{5}", name, alarmTemp, type, Reason, level, condition); return(detail); }
static Alarm() { Mode = AlarmMode.Disarmed; }
/// <summary> /// 获取告警短信内容 /// </summary> public static String GetShowMessage( String substation, String deviceName, Int32 alarmMode, Int32 alarmType, Int32 alarmLevel, Single temperature, DateTime time) { String msg = String.Format("变电站:{0}\n", substation); msg += String.Format("设备:{0}\n", deviceName); AlarmMode mode = (AlarmMode)alarmMode; if (mode == AlarmMode.Selection) { SelectionAlarmType type = (SelectionAlarmType)alarmType; switch (type) { case SelectionAlarmType.MaxTemp: msg += "监控类型:最高温度\n"; break; case SelectionAlarmType.MinTemp: msg += "监控类型:最低温度\n"; break; case SelectionAlarmType.AvgTemp: msg += "监控类型:平均温度\n"; break; } msg += String.Format("温度值:{0:F2}℃\n", temperature); } else if (mode == AlarmMode.GroupSelection) { GroupAlarmType type = (GroupAlarmType)alarmType; switch (type) { case GroupAlarmType.MaxTemperature: msg += "监控类型:最高温度(组)\n"; break; case GroupAlarmType.MaxTempDif: msg += "监控类型:最大温差(组)\n"; break; case GroupAlarmType.MaxTempRise: msg += "监控类型:最大温升(组)\n"; break; case GroupAlarmType.RelativeTempDif: msg += "监控类型:相对温差(组)\n"; break; } if (type == GroupAlarmType.RelativeTempDif) { msg += String.Format("百分比:{0:F2}%\n", temperature); } else { msg += String.Format("温度值:{0:F2}℃\n", temperature); } } AlarmLevel level = (AlarmLevel)alarmLevel; switch (level) { case AlarmLevel.General: msg += "告警等级:一般\n"; break; case AlarmLevel.Serious: msg += "告警等级:严重\n"; break; case AlarmLevel.Critical: msg += "告警等级:危急\n"; break; } msg += String.Format("时间:{0}", DateTime.Now.ToString("HH:mm:ss")); return(msg); }
public void SetIsArmed() { modeSignal = AlarmMode.isArmed; }
public void SetDisarmed() { modeSignal = AlarmMode.disarmed; }
private string AlarmActionAsString(AlarmMode mode) { switch (mode) { case AlarmMode.RegularArm: return "r"; case AlarmMode.ForceArm: return "f"; case AlarmMode.StayArm: return "s"; case AlarmMode.InstantArm: return "i"; case AlarmMode.Disarm: return "d"; case AlarmMode.SleepArm: return "p"; default: throw new ArgumentOutOfRangeException(nameof(mode)); } }
public void AlarmAction(PartitionNumber partitionNumber, AlarmMode mode) { lock (lockObject) { if (!IsLoggedIn) throw new Exception("Must login first."); var js = driver as IJavaScriptExecutor; js.ExecuteScript("window.open('','action')"); driver.SwitchTo().Window("action"); driver.Navigate().GoToUrl(statusLiveUrl); js.ExecuteScript("document.getElementsByName('area')[0].value='" + (int)partitionNumber + "'"); js.ExecuteScript("document.getElementsByName('value')[0].value='" + AlarmActionAsString(mode) + "'"); driver.FindElement(By.Name("statuslive")).Submit(); driver.Close(); driver.SwitchTo().Window(MainWindowHandle); } }
public Alarm(AlarmMode modeSignal, bool onOff, string img) : base(onOff, img) { ModeSignal = modeSignal; }
public Alarm(AlarmMode mode, Action onComplete, int duration = 1, bool start = false) : this(mode, duration, start) { OnComplete += onComplete; }
public static Alarm Set(Entity entity, float duration, Action onComplete, AlarmMode alarmMode = AlarmMode.Oneshot) { Alarm alarm = Alarm.Create(alarmMode, onComplete, duration, true); entity.Add(alarm); return alarm; }
public static Alarm Add(Entity entity, Action onComplete, int duration, AlarmMode mode = AlarmMode.Single) { Alarm alarm = new Alarm(mode, onComplete, duration, true); entity.Add(alarm); return alarm; }