From dd01259a0590b6e6954470aa6ddb7658baa79fa7 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 18 六月 2024 16:53:46 +0800 Subject: [PATCH] 备份 --- OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 785 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 773 insertions(+), 12 deletions(-) diff --git a/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 0cf0e56..1bed389 100644 --- a/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/OnPro/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -2,6 +2,8 @@ using Shared; using System.Collections.Generic; using HDL_ON.Entity; +using Newtonsoft.Json; + namespace HDL_ON.UI.UI2.Intelligence.Automation { @@ -58,6 +60,7 @@ public void Show(Entity.Function device, int index, bool edit) { + this.function = device; this.mEdit = edit; this.mIndex = index; @@ -73,7 +76,7 @@ FrameLayout fLayout = new FrameLayout { - Y = Application.GetRealHeight(74), + Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(667 - 64), }; this.AddChidren(fLayout); @@ -81,6 +84,7 @@ switch (device.spk) { //寮�鍏崇伅鍏� light.Switch + case SPK.AirSwitch: case SPK.LightDimming: case SPK.LightRGB: case SPK.LightRGBW: @@ -100,6 +104,26 @@ //鏂伴 case SPK.AirFreshStandard: case SPK.HvacAirFresh: + //鎻掑骇 + case SPK.PanelSocket: + case SPK.ElectricSocket: + { + + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.onLogic, StringId.offLogic); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //姘存蹈浼犳劅鍣� + case SPK.SensorWater: { LogicView.FunTypeView view = new LogicView.FunTypeView(); view.btnText.TextID = StringId.luoshuiandwuluoshui; @@ -115,6 +139,542 @@ } break; + //鐑熼浘浼犳劅鍣� + case SPK.SensorSmoke: + //鐕冩皵浼犳劅鍣� + case SPK.SensorGas: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.xieluoandwuxieluo; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.xieluo, StringId.wuxieluo); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //骞叉帴鐐� + case SPK.SensorDryContact: + case SPK.SensorDryContact2: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.switchLogic; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.onLogic, StringId.offLogic); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + + } + break; + //绾㈠鐝婃爮浼犳劅鍣� + case SPK.SensorShanLan: + //绾㈠瀵瑰皠浼犳劅鍣� + case SPK.SensorDuiShe: + //绾㈠绉诲姩浼犳劅鍣� + case SPK.SensorPir: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.yourenandwuren; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.youren, StringId.wuren); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //浜轰綋瀛樺湪浼犳劅鍣� + case SPK.SensorPirHold: + { + + + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.rentijiance; + view1.btnText.Name = Language.StringByID(StringId.rentijiance); + fLayout.AddChidren(view1.FLayoutView()); + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.youren, StringId.wuren); + + }; + + LogicView.FunTypeView view2 = new LogicView.FunTypeView(); + view2.frameLayout.Y = view1.frameLayout.Bottom; + view2.btnText.TextID = StringId.chixushijian; + fLayout.AddChidren(view2.FLayoutView()); + view2.btnClick.MouseUpEventHandler += (sender, e) => + { + //涓荤晫闈㈡帶浠� + FrameLayout fLayout2 = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout2); + TimeView(fLayout2, device, view2.btnState); + + }; + + + if (edit) + { + try + { + Input inputs = Logic.currlogic.input[index]; + if (!string.IsNullOrEmpty(inputs.hold_time) && int.Parse(inputs.hold_time) > 0) + { + int time = int.Parse(inputs.hold_time); + int h = time / (60 * 60); + int m = time % (60 * 60) / 60; + int s = (time % (60 * 60) % 60); + view2.btnState.Text = LogicMethod.Current.getTimeStr(inputs.hold_time); + view2.btnState.Name = h + ":" + m + ":" + s; + this.hold_time = inputs.hold_time; + } + } + catch { } + GetEditState(device, index, view1.btnState, view2.btnState, null, null); + } + } + break; + //闂ㄧ獥浼犳劅鍣� + case SPK.SensorDoorWindow: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.kaiqiandbihe; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.kaiqi, StringId.bihe); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //绱ф�ュ懠鍙紶鎰熷櫒 + case SPK.SensorHelp: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.qiujiu; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang,1); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //瓒呭0娉紶鎰熷櫒 + case SPK.SensorUtrasonic: + { + + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.yourenandwuren; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.youren, StringId.wuren); + }; + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); + view1.frameLayout.Y = view.frameLayout.Bottom; + view1.btnText.TextID = StringId.fangchaigongneng; + fLayout.AddChidren(view1.FLayoutView()); + + + int intValue = 0; + if (edit) + { + Input inputs = Logic.currlogic.input[index]; + var dicList = inputs.condition; + foreach (var dic in dicList) + { + if (dic["key"] == "people_status") + { + //鏈変汉/鏃犱汉 + intValue = 1; + } + else + { + //闃叉媶鍔熻兘 + intValue = 2; + } + break; + + } + } + if (intValue == 1) + { + //鏈変汉/鏃犱汉 + view1.frameLayout.Visible = false; + + } + else if (intValue == 2) + { + //闃叉媶鍔熻兘 + view1.frameLayout.Y = Application.GetRealHeight(0); + } + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.zaixian, StringId.buzaixian); + }; + + if (edit) + { + GetEditState(device, index, view.btnState, view1.btnState, null, null); + } + } + break; + //姣背娉紶鎰熷櫒(鑷爺鍖楅偖) + case SPK.SenesorMegahealth: + case SPK.SensorMmvPose: + { + + LogicView.FunTypeView view1 = new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.diedaobaojing; + view1.btnState.Name = Language.StringByID(StringId.diedaobaojing); + fLayout.AddChidren(view1.FLayoutView()); + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.shi, StringId.offLogic, 1); + }; + + LogicView.FunTypeView view2 = new LogicView.FunTypeView(); + view2.frameLayout.Y = view1.frameLayout.Bottom; + view2.btnText.TextID = StringId.yourenbaojing; + view2.btnState.Name = Language.StringByID(StringId.yourenbaojing); + fLayout.AddChidren(view2.FLayoutView()); + int intValue = 0; + if (edit) + { + Input inputs = Logic.currlogic.input[index]; + var dicList = inputs.condition; + foreach (var dic in dicList) + { + if (dic["key"] == "target_status") + { + //璺屽�掓姤璀� + intValue = 1; + } + else + { + //鏈変汉鎶ヨ + intValue = 2; + } + break; + + } + } + if (intValue == 1) + { + //璺屽�掓姤璀� + view2.frameLayout.Visible = false; + + } + else if (intValue == 2) + { + //鏈変汉鎶ヨ + view2.frameLayout.Y = Application.GetRealHeight(0); + } + + view2.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view2.btnState, StringId.youren, StringId.wuren, 2); + }; + if (edit) + { + GetEditState(device, index, view1.btnState, view2.btnState, null, null); + } + + } + break; + //姣背娉紶鎰熷櫒(鍏嗚涓撶敤浜戜簯瀵规帴) + case SPK.SenesorMegahealth2: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.mubiaozhuangtai;//鐩爣鐘舵�� + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.wuren, StringId.diedao); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //鐜妫�娴嬩紶鎰熷櫒 + case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin: + case SPK.SensorEnvironment2: + case SPK.SensorEnvironment3: + { + #region 鐣岄潰 + ///娓╁害 + LogicView.FunTypeView wenuView = new LogicView.FunTypeView(); + wenuView.btnText.TextID = StringId.wendu; + fLayout.AddChidren(wenuView.FLayoutView()); + ///婀垮害 + LogicView.FunTypeView shiduView = new LogicView.FunTypeView(); + shiduView.frameLayout.Y = wenuView.frameLayout.Bottom; + shiduView.btnText.TextID = StringId.shidu; + fLayout.AddChidren(shiduView.FLayoutView()); + ///pm2.5 + LogicView.FunTypeView pm25View = new LogicView.FunTypeView(); + pm25View.frameLayout.Y = shiduView.frameLayout.Bottom; + pm25View.btnText.TextID = StringId.pm25; + fLayout.AddChidren(pm25View.FLayoutView()); + ///co2 + LogicView.FunTypeView co2View = new LogicView.FunTypeView(); + co2View.frameLayout.Y = pm25View.frameLayout.Bottom; + co2View.btnText.TextID = StringId.co2; + fLayout.AddChidren(co2View.FLayoutView()); + ///tvoc + LogicView.FunTypeView tvocView = new LogicView.FunTypeView(); + tvocView.frameLayout.Y = co2View.frameLayout.Bottom; + tvocView.btnText.TextID = StringId.tvoc; + if (SPK.SensorEnvironment3 != device.spk) + { + fLayout.AddChidren(tvocView.FLayoutView()); + } + + #endregion + #region 鐐瑰嚮浜嬩欢 + ///娓╁害鐐瑰嚮浜嬩欢 + wenuView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + }; + ///婀垮害鐐瑰嚮浜嬩欢 + shiduView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + + }; + ///pm2.5鐐瑰嚮浜嬩欢 + pm25View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "pm25", StringId.pm25, index, edit); + }; + ///co2鐐瑰嚮浜嬩欢 + co2View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "co2", StringId.co2, index, edit); + }; + ///tvoc鐐瑰嚮浜嬩欢 + tvocView.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit); + + }; + #endregion + } + break; + //娓╁害浼犳劅鍣� + case SPK.SensorTemperature: + { + ///娓╁害 + LogicView.FunTypeView wenuView = new LogicView.FunTypeView(); + wenuView.btnText.TextID = StringId.wendu; + fLayout.AddChidren(wenuView.FLayoutView()); + + ///娓╁害鐐瑰嚮浜嬩欢 + wenuView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.wendugaoyu, StringId.wendudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + }; + } + break; + //婀垮害浼犳劅鍣� + case SPK.SensorHumidity: + { + ///婀垮害 + LogicView.FunTypeView shiduView = new LogicView.FunTypeView(); + shiduView.btnText.TextID = StringId.shidu; + fLayout.AddChidren(shiduView.FLayoutView()); + ///婀垮害鐐瑰嚮浜嬩欢 + shiduView.btnClick.MouseUpEventHandler += (sender, e) => + { + new PublicInterface { }.ViewZuHe(this, StringId.shidugaoyu, StringId.shidudiyu, (intText, view) => + { + InputBoxAction(device, intText, index, edit); + }); + + }; + } + break; + //co2 + case SPK.SensorCO2: + { + + + ///co2 + LogicView.FunTypeView co2View = new LogicView.FunTypeView(); + co2View.btnText.TextID = StringId.co2; + fLayout.AddChidren(co2View.FLayoutView()); + + ///co2鐐瑰嚮浜嬩欢 + co2View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "co2", StringId.co2, index, edit); + }; + } + break; + //pm10 + case SPK.SensorPm10: + { + ///pm210 + LogicView.FunTypeView pm10View = new LogicView.FunTypeView(); + pm10View.btnText.TextID = StringId.pm10; + fLayout.AddChidren(pm10View.FLayoutView()); + + ///pm10鐐瑰嚮浜嬩欢 + pm10View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "pm10", StringId.pm10, index, edit); + }; + } + break; + //pm2.5 + case SPK.SensorPm25: + { + ///pm2.5 + LogicView.FunTypeView pm25View = new LogicView.FunTypeView(); + pm25View.btnText.TextID = StringId.pm25; + fLayout.AddChidren(pm25View.FLayoutView()); + + ///pm2.5鐐瑰嚮浜嬩欢 + pm25View.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "pm25", StringId.pm25, index, edit); + }; + } + break; + //tvoc + case SPK.SensorTVOC: + { + + ///tvoc + LogicView.FunTypeView tvocView = new LogicView.FunTypeView(); + tvocView.btnText.TextID = StringId.tvoc; + fLayout.AddChidren(tvocView.FLayoutView()); + + ///tvoc鐐瑰嚮浜嬩欢 + tvocView.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "tvoc", StringId.tvoc, index, edit); + + }; + } + break; + //鐢查啗 + case SPK.SensorHcho: + { + ///hcho + LogicView.FunTypeView hchoView = new LogicView.FunTypeView(); + hchoView.btnText.TextID = StringId.Formaldehyde; + fLayout.AddChidren(hchoView.FLayoutView()); + ///hcho鐐瑰嚮浜嬩欢 + hchoView.btnClick.MouseUpEventHandler += (sender, e) => + { + PmCo2TvocAction(this, device, "hcho", StringId.Formaldehyde, index, edit); + + }; + } + break; + //闂ㄩ攣 + case SPK.DoorLock: + { + + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.shifoukaisuoshi; + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view.btnState, StringId.shi, StringId.offLogic, 1); + }; + if (edit) + { + GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + //澶у崕鎽勫儚澶� + case SPK.IpCam_Imou: + { + LogicView.FunTypeView view = new LogicView.FunTypeView(); + view.btnText.TextID = StringId.quyuruqingaojing; + view.btnText.Name = Language.StringByID(StringId.shipintonghuahujiao); + fLayout.AddChidren(view.FLayoutView()); + view.btnClick.MouseUpEventHandler += (sender, e) => + { + this.identifier = "ipcam_region_alram_event"; + this.DeviceView(device, view.btnState, StringId.shi, StringId.offLogic, 1); + }; + + if (edit) + { + this.GetEditState(device, index, view.btnState, null, null, null); + } + } + break; + case SPK.Peephole: + LogicView.FunTypeView viewPeephole = new LogicView.FunTypeView(); + viewPeephole.btnText.TextID = StringId.ActivityDetection; + //viewPeephole.btnText.Name = Language.StringByID(StringId.shipinmensuo); + fLayout.AddChidren(viewPeephole.FLayoutView()); + viewPeephole.btnClick.MouseUpEventHandler += (sender, e) => + { + this.identifier = "pir_event";//浜轰綋鎰熷簲鍛婅 + this.DeviceView(device, viewPeephole.btnState, StringId.shi, StringId.offLogic, 1); + + }; + if (edit) + { + this.GetEditState(device, index, viewPeephole.btnState, null, null, null); + } + break; + case SPK.Ev_Ipcam: + LogicView.FunTypeView viewEzIpcam = new LogicView.FunTypeView(); + viewEzIpcam.btnText.TextID = StringId.ActivityDetection; + //viewEzIpcam.btnText.Name = Language.StringByID(StringId.shipinmensuo); + fLayout.AddChidren(viewEzIpcam.FLayoutView()); + viewEzIpcam.btnClick.MouseUpEventHandler += (sender, e) => + { + this.identifier = "motiondetect_event";//浜轰綋鎰熷簲鍛婅 + this.DeviceView(device, viewEzIpcam.btnState, StringId.shi, StringId.offLogic, 1); + + }; + if (edit) + { + this.GetEditState(device, index, viewEzIpcam.btnState, null, null, null); + } + break; + } #region 淇濆瓨 ///淇濆瓨View @@ -144,6 +704,54 @@ inputDevice.condition_type = "3"; inputDevice.sid = device.sid; inputDevice.condition.AddRange(dicSateteList); + if (device.spk == SPK.doorgate) + { + //鍙瀵硅 + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + if (this.identifier == "door_call_cloud_event") + { + inputDevice.condition = new List<Dictionary<string, string>>(); + } + } + else if (device.spk == SPK.IpCam_Imou) + { + //澶у崕鎽勫儚澶� + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + if (this.identifier == "ipcam_region_alram_event") + { + //condition榛樿[] + inputDevice.condition = new List<Dictionary<string, string>>(); + } + } + else if(device.spk == SPK.Peephole) + { + //鐚溂-浜轰綋鎰熷簲鍛婅 + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + inputDevice.condition = new List<Dictionary<string, string>>(); + } + else if(device.spk == SPK.Ev_Ipcam) + { + //钀ょ煶鎽勫儚澶�-绉诲姩鐩戞祴鍛婅 + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + inputDevice.condition = new List<Dictionary<string, string>>(); + } + else if (device.spk == SPK.VideoDoorLock) + { + ////钀ょ煶瑙嗛闂ㄩ攣 + inputDevice.condition_type = "9"; + inputDevice.identifier = this.identifier; + //inputDevice.condition = new List<Dictionary<string, string>>(); + } + else if (device.spk == SPK.SensorPirHold) + { + //浜轰綋瀛樺湪浼犳劅鍣� + inputDevice.hold_time = this.hold_time; + } + if (edit) { @@ -194,7 +802,7 @@ /// <param name="button">閫変腑鐘舵�佹樉绀烘枃鏈珺tn鎺т欢</param> /// <param name="btnText1">灞炴�х姸鎬佸�兼枃鏈�1</param> /// <param name="btnText2">灞炴�х姸鎬佸�兼枃鏈�2</param> - /// <param name="viewCount">view鏁伴噺</param> + /// <param name="viewCount">view鏁伴噺,榛樿2涓獀iew</param> private void DeviceView(Entity.Function device, Button button, int btnText1, int btnText2,int viewCount=2) { FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; @@ -205,16 +813,91 @@ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = "on_off"; string value = ""; + switch (device.spk) + { + //浼犳劅鍣� + case SPK.SensorGas: + case SPK.SensorWater: + case SPK.SensorSmoke: + case SPK.SensorHelp: + { + keyVlaue = "status"; + if (!Is_SpkAttribute(keyVlaue)) { + keyVlaue = "alarm_status"; + } + }; + break; + case SPK.SensorDoorWindow: + case SPK.SensorDryContact: + case SPK.SensorDryContact2: + { + keyVlaue = "status"; + if (!Is_SpkAttribute(keyVlaue)) + { + keyVlaue = "contact_status"; + } + } + break; + case SPK.SensorPirHold: + case SPK.SensorDuiShe: + case SPK.SensorShanLan: + case SPK.SensorPir: + case SPK.SensorUtrasonic: + { + keyVlaue = "status"; + if (!Is_SpkAttribute(keyVlaue)) + { + keyVlaue = "people_status"; + } + + } + break; + case SPK.SenesorMegahealth: + { + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing)) + { + keyVlaue = "people_status"; + + } + else + { + keyVlaue = "target_status"; + } + } + + } + break; + case SPK.SenesorMegahealth2: + { + keyVlaue = "action_state"; + if (!Is_SpkAttribute(keyVlaue)) + { + keyVlaue = "megahealth_state"; + } + } + break; + case SPK.DoorLock: + { + keyVlaue = "door_status"; + } + break; + + } switch (intValue) { case StringId.xieluo: case StringId.luoshui: + case StringId.qiujiu: { value = "alarm"; } break; case StringId.wuxieluo: case StringId.wuluoshui: + case StringId.zhengchang: { value = "normal"; } @@ -222,11 +905,19 @@ case StringId.onLogic: { value = "on"; + if (device.spk== SPK.SensorDryContact) { + value = "open"; + } + } break; case StringId.offLogic: { value = "off"; + if (device.spk == SPK.SensorDryContact) + { + value = "close"; + } } break; case StringId.youren: @@ -236,7 +927,14 @@ break; case StringId.wuren: { + if (device.spk == SPK.SenesorMegahealth2) + { + value = "uninhabited"; + } + else + { value = "false"; + } } break; case StringId.shi: @@ -319,6 +1017,7 @@ { if (edit) { + this.function = device; Input inputs = Logic.currlogic.input[index]; //娓呴櫎涔嬪墠鏃ф暟鎹� dicSateteList.Clear(); @@ -328,44 +1027,53 @@ dicSateteList.AddRange(inputs.condition); } } + int max = 100; + int min = 1; + if (device.spk == SPK.SensorLight) + { + //鐓ф槑浼犳劅鍣� + min = 0; + max =1200; + } + new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) => { - string keyValue = "20"; + string key = "20"; string data_type = "integer"; string comparator = "="; switch (textInt) { case StringId.wendugaoyu: { - keyValue = "temperature"; + key = "temperature"; comparator = ">"; data_type = "float"; } break; case StringId.wendudiyu: { - keyValue = "temperature"; + key = "temperature"; comparator = "<"; data_type = "float"; } break; case StringId.shidugaoyu: { - keyValue = "humidity"; + key = "humidity"; comparator = ">"; } break; case StringId.shidudiyu: { - keyValue = "humidity"; + key = "humidity"; comparator = "<"; } break; } selectedState = device.spk + "_" + value; - AddDictionary(keyValue, value, data_type, comparator); + AddDictionary(key, value, data_type, comparator); SaveInput(device,index, edit); - }); + },min,max); } /// PM2.5,Co2,Tvoc璁剧疆鍊� /// </summary> @@ -401,13 +1109,31 @@ view.SingleSelectionShow(frame, listStr, Language.StringByID(title), view.GetSensorLevelText(device, stateValue,true) , (text) => { + + //var value = view.GetValue(key, text); var values = view.GetSensorLevelText(device,text,false); selectedState = device.spk + "_" + key; + switch (device.spk) + { + case SPK.SensorTemperature: + case SPK.SensorHumidity: + case SPK.SensorCO2: + case SPK.SensorPm25: + case SPK.SensorTVOC: + case SPK.SensorHcho: + case SPK.SensorPm10: + { + if (!Is_SpkAttribute(key)) + { + key = "value"; + } + } + break; + } AddDictionary(key, values, "integer", "in"); SaveInput(device, index, edit); }); } - /// <summary> /// 鏃堕棿鏂规硶 /// </summary> @@ -433,7 +1159,7 @@ this.hold_time = (h + m + s).ToString(); if (button != null) { - button.Text = this.hold_time + "s"; + button.Text = LogicMethod.Current.getTimeStr(this.hold_time); button.Name = timeValue; } selectedState = device.spk + "_" + timeValue; @@ -464,6 +1190,31 @@ { //鏈夋暟鎹噸鏂拌祴鍊� dicSateteList.AddRange(dicList); + } + //浜嬩欢涓撶敤 + switch (device.spk) + { + case SPK.IpCam_Imou: + { + if (inputs.identifier == "ipcam_region_alram_event") + { + button1.Text = Language.StringByID(StringId.shi); + } + + } + break; + case SPK.Peephole: + if (inputs.identifier == "pir_event") + { + button1.Text = Language.StringByID(StringId.shi ); + } + break; + case SPK.Ev_Ipcam: + if (inputs.identifier == "motiondetect_event") + { + button1.Text = Language.StringByID(StringId.shi); + } + break; } InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, ""); } @@ -583,9 +1334,19 @@ /// <returns></returns> private bool CheckSpk() { + if (this.function == null) + { + return false; + } + if (this.function.spk == SPK.VideoDoorLock || + this.function.spk == SPK.doorgate + ) + { + return true; + } return false; - } + } /// <summary> /// 鍒ゆ柇dictionaryB鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA /// </summary> -- Gitblit v1.8.0