From f8343a2e765eefe10c8a0d6bdd6db65b0cf0321c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期六, 06 五月 2023 15:33:30 +0800 Subject: [PATCH] 灯光延时 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 209 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 194 insertions(+), 15 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 5953a75..7055171 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -140,7 +140,7 @@ //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(inputCondition.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - inputView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetIconPath(device.spk); + inputView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetDeviceIconPath(device); //鏄剧ず璁惧鍚嶇О inputView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 @@ -162,6 +162,7 @@ //绌鸿皟 case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: //鍦扮儹 case SPK.HvacFloorHeat: case SPK.FloorHeatStandard: @@ -281,6 +282,7 @@ } break; case SPK.SenesorMegahealth: + case SPK.SensorMmvPose: { string key = this.GetKey(dicList); string value = this.GetValue(dicList); @@ -310,7 +312,7 @@ } } break; - case SPK.SensorEnvironment: + case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: { @@ -385,6 +387,7 @@ } break; + case SPK.SensorPm10: case SPK.SensorCO2: case SPK.SensorPm25: case SPK.SensorTVOC: @@ -404,18 +407,62 @@ } } break; + case SPK.VideoDoorLock: + { + string s = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + //var userId = dic["value"].ToString(); + //var FaceItem = this.GetVideoDoorLockUserItem(userId, device); + //s += FaceItem.userName; + //s += ","; + //tag += FaceItem.userId; + //tag += "_"; + var userName = dic["value"].ToString(); + s += userName; + s += ","; + } + inputView.btnState.Text = s; + } + break; case SPK.doorgate: { + string s = string.Empty; if (inputCondition.identifier == "door_call_cloud_event") { - inputView.btnState.Text = Language.StringByID(StringId.shipintonghuahujiao); + s = Language.StringByID(StringId.shipintonghuahujiao); } else { - string userId = this.GetKeyValue("user_id",dicList); - var FaceItem = this.GetFaceItem(userId, device.deviceId); - inputView.btnState.Text = FaceItem.userName; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") + { + continue; + } + var userId = dic["value"].ToString(); + var FaceItem = this.GetFaceItem(userId, device.deviceId); + s += FaceItem.userName; + s += ","; + + + } + } + inputView.btnState.Text = s; + } + break; + case SPK.IpCam_Imou: + { + if (inputCondition.identifier == "door_caipcam_region_alram_eventll_cloud_event") + { + inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); + } + } break; } @@ -661,7 +708,7 @@ { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(inputCondition.sid); - if (device.spk == SPK.SensorEnvironment + if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 ) @@ -746,6 +793,12 @@ { this.SensorView(thisView, device, "co2", indexVulae); + + } + else if (device.spk == SPK.SensorPm10) + { + + this.SensorView(thisView, device, "pm10", indexVulae); } else if (device.spk == SPK.SensorPm25) @@ -913,7 +966,7 @@ //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); //鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛� - targetView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetIconPath(device.spk); + targetView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetDeviceIconPath(device); //鏄剧ず璁惧鍚嶇О targetView.btnText.Text = device.name; //鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害 @@ -922,11 +975,27 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { + + //鎻掑骇(鏈塙SB) + case SPK.PanelSocket: + { + string on_off = GetKeyValue("on_off_master", dicList); + if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else + { + stateStr = stateStr = Language.StringByID(StringId.offLogic); + } + } + break; case SPK.AirSwitch: case SPK.LightSwitch: //鎻掑骇 - case SPK.PanelSocket: case SPK.ElectricSocket: + //鏈烘鎵� + case SPK.MechanicalArm: {//寮�鍏� foreach (var dic in dicList) @@ -966,6 +1035,14 @@ else if (brightness != "") { stateStr = brightness + "%"; + } + if (device.spk == SPK.LightCCT) + { + //鑹叉俯杩欎釜灞炴�ф墠鏈夋晥 + if (stateStr != Language.StringByID(StringId.offLogic) && GetKeyValue("cct", dicList) != "") + { + stateStr += "," +GetKeyValue("cct", dicList) + "k"; + } } } @@ -1040,6 +1117,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); @@ -1429,12 +1507,29 @@ { switch (device.spk) { - //鎻掑骇 + //鎻掑骇(鏈塙SB) case SPK.PanelSocket: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + } + break; case SPK.ElectricSocket: //寮�鍏崇伅鍏� case SPK.AirSwitch: case SPK.LightSwitch: + //鏈烘鎵� + case SPK.MechanicalArm: { foreach (var dic in dicList) { @@ -1480,6 +1575,16 @@ break; } button2.Text = value + "%"; + } + break; + case "cct": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button3.Text = value + "k"; } break; } @@ -1594,6 +1699,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { foreach (var dic in dicList) { @@ -1997,6 +2103,7 @@ } break; case SPK.SenesorMegahealth: + case SPK.SensorMmvPose: { foreach (var dic in dicList) { @@ -2059,6 +2166,27 @@ } } break; + case SPK.VideoDoorLock: + { + string s = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + //var userId = dic["value"].ToString(); + //var FaceItem = this.GetVideoDoorLockUserItem(userId, device); + //s += FaceItem.userName; + //s += ","; + //tag += FaceItem.userId; + //tag += "_"; + var userName = dic["value"].ToString(); + s += userName; + s += ","; + } + button1.Text = s; + button1.Tag = tag; + } + break; case SPK.MusicStandard: case SPK.AvMusic: { @@ -2077,10 +2205,28 @@ break; case SPK.doorgate: { - string value = this.GetKeyValue("user_id", dicList); - button2.Text = this.GetFaceItem(value, device.deviceId).userName; + string s = string.Empty; + string tag = string.Empty; + for (int b = 0; b < dicList.Count; b++) + { + var dic = dicList[b]; + var key = dic["key"].ToString(); + if (key != "user_id") + { + continue; + } + var userId = dic["value"].ToString(); + var FaceItem = this.GetFaceItem(userId, device.deviceId); + s += FaceItem.userName; + s += ","; + tag += FaceItem.userId; + tag += "_"; + } + button2.Text = s; + button2.Tag = tag; } break; + } } /// <summary> @@ -2189,6 +2335,7 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { + case SPK.MechanicalArm: case SPK.AirSwitch: case SPK.LightSwitch: {//寮�鍏崇伅 @@ -2256,6 +2403,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: { @@ -2373,7 +2521,9 @@ /// <returns></returns> private string GetTimeText(string strTimeValue) { - var timeValue = int.Parse(strTimeValue); + //鍥犱负璋冭瘯杞欢涓婁紶涓虹┖杩�; + string intTimeValue = string.IsNullOrEmpty(strTimeValue) ? "0" : strTimeValue; + var timeValue = int.Parse(intTimeValue); string state = ""; var minutes = timeValue / 60; var seconds = timeValue % 60; @@ -2447,6 +2597,11 @@ strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); } break; + case "pm10": + { + strtext = Language.StringByID(StringId.pm10) + new PublicInterface { }.GetString("pm25", value); + } + break; case "pm25": { strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); @@ -2473,8 +2628,9 @@ Input inputedit = Logic.currlogic.input[indexVulae]; ///鐘舵�佸�� string stateValue = ""; - foreach (var dic in inputedit.condition) + for (int i=0;i<inputedit.condition.Count;i++) { + var dic = inputedit.condition[i]; string comparator = dic["comparator"]; stateValue = dic["value"]; switch (key) @@ -2513,6 +2669,11 @@ ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "co2", StringId.co2, indexVulae, true, stateValue); } break; + case "pm10": + { + ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "pm10", StringId.pm10, indexVulae, true, stateValue); + } + break; case "pm25": { ConditionDeviceFunList.Current.PmCo2TvocAction(thisView, device, "pm25", StringId.pm25, indexVulae, true, stateValue); @@ -2532,7 +2693,7 @@ } } /// <summary> - /// 鏌ユ壘鎸囧畾userId + /// 鏌ユ壘鎸囧畾鍙瀵硅userId /// </summary> /// <param name="userId"></param> /// <returns></returns> @@ -2549,6 +2710,24 @@ } return face; } + /// <summary> + /// 鏌ユ壘鎸囧畾钀ょ煶瑙嗛闂ㄩ攣userId + /// </summary> + /// <param name="userId"></param> + /// <returns></returns> + public Face GetVideoDoorLockUserItem(string userId, Function device) + { + if (Send.Current.VideoDoorLockUserListInfo.Count == 0) + { + Send.Current.GetVideoDoorLockUserListInfo(device); + } + var face = Send.Current.VideoDoorLockUserListInfo.Find((o) => { return o.userId == userId; }); + if (face == null) + { + face = new Face(); + } + return face; + } } } -- Gitblit v1.8.0