From d76b0e40e5bb127fd33aa1f7842447a1df0628d5 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期日, 30 七月 2023 22:16:34 +0800 Subject: [PATCH] Update PublicAssmeblyBLL.cs --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 396 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 370 insertions(+), 26 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 4930ec3..1d787cb 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -162,6 +162,7 @@ //绌鸿皟 case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: //鍦扮儹 case SPK.HvacFloorHeat: case SPK.FloorHeatStandard: @@ -246,7 +247,7 @@ { inputView.btnState.Text = Language.StringByID(StringId.kaiqi); } - + } break; case SPK.SensorUtrasonic: @@ -306,12 +307,14 @@ { string value = this.GetValue(dicList); inputView.btnState.Text = Language.StringByID(StringId.wuren); - if (value == "fall") { + if (value == "fall") + { inputView.btnState.Text = Language.StringByID(StringId.diedao); } } break; case SPK.SensorEnvironment: + case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: { @@ -375,7 +378,7 @@ case SPK.SensorTemperature: { - string str =this.GetText(dicList, "temperature"); + string str = this.GetText(dicList, "temperature"); inputView.btnState.Text = str; } break; @@ -406,27 +409,99 @@ } } 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") + if (inputCondition.identifier == "ipcam_region_alram_event") { inputView.btnState.Text = Language.StringByID(StringId.quyuruqingaojing); } - + + } + break; + case SPK.Ev_Ipcam: + if (inputCondition.identifier == "motiondetect_event") + { + inputView.btnState.Text = Language.StringByID(StringId.shi); + } + break; + case SPK.Peephole: + if (inputCondition.identifier == "pir_event") + { + inputView.btnState.Text = Language.StringByID(StringId.shi); + } + break; + case SPK.SensorPirHold: + { + string value = this.GetKeyValue("people_status", dicList); + if (string.IsNullOrEmpty(value)) + { + inputView.btnState.Text = inputCondition.hold_time + "s"; + break; + + } + + inputView.btnState.Text = Language.StringByID(StringId.wuren); + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.youren); + + } + if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) + { + + inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + } + + } break; } @@ -672,7 +747,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 ) @@ -926,6 +1001,7 @@ switch (outputTarget.target_type) { case "1": + case "5": { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); @@ -939,7 +1015,11 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� switch (device.spk) { - + + case SPK.CommonSeries: + targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png"; + stateStr = GetKeyValue("on_off", dicList) == "on" ? Language.StringByID(StringId.onLogic) : Language.StringByID(StringId.offLogic); + break; //鎻掑骇(鏈塙SB) case SPK.PanelSocket: { @@ -977,11 +1057,14 @@ } } break; + + case SPK.LightRGB: case SPK.LightRGBW: case SPK.LightCCT: case SPK.LightDimming: { + string on_off = GetKeyValue("on_off", dicList); string brightness = GetKeyValue("brightness", dicList); if (on_off == "on" && brightness != "") @@ -1008,9 +1091,83 @@ stateStr += "," +GetKeyValue("cct", dicList) + "k"; } } + if (device.spk == SPK.LightRGB) + { + string rgb = GetKeyValue("rgb", dicList); + if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) + { + targetView.btnStateColor.Visible = true; + targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); + } + } + if (device.spk == SPK.LightRGBW) + { + string rgb = GetKeyValue("rgbw", dicList); + if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) + { + targetView.btnStateColor.Visible = true; + targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); + } + } } break; + case SPK.GroupControl: //缇ゆ帶 + { + targetView.btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/groupControl.png"; + string on_off = GetKeyValue("on_off", dicList); + string brightness = GetKeyValue("brightness", dicList); + string cct = GetKeyValue(FunctionAttributeKey.CCT, dicList); + //鑷姩鍖栫粍鎺� 鐐僵鍔熻兘 + //string colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList); + string rgb = GetKeyValue("rgb", dicList); + + + if (on_off == "on" && brightness != "") + { + stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; + } + else if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else if (on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else if (brightness != "") + { + stateStr = brightness + "%"; + } + //鑹叉俯杩欎釜灞炴�ф墠鏈夋晥 + if (!string.IsNullOrEmpty(cct)) + { + stateStr += "," + Language.StringByID(StringId.ColorTemperature) + cct + "k"; + } + + //if (!string.IsNullOrEmpty(colorful)) + //{ + // stateStr += "," + Language.StringByID(StringId.ColorfulFunction); + // if (colorful == "on") + // { + // stateStr += Language.StringByID(StringId.onLogic); + // } + // else if (colorful == "off") + // { + // stateStr += Language.StringByID(StringId.offLogic); + // } + //} + + if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) + { + targetView.btnStateColor.Visible = true; + targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb); + } + + + } + break; + case SPK.CurtainSwitch: { foreach (var dic in dicList) @@ -1081,6 +1238,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); @@ -1106,8 +1264,8 @@ if (set_temp != "") { - - stateStr += set_temp + "鈩�,"; + string unit =GetTemperatureUnit(device); + stateStr += set_temp + unit + ","; } if (mode != "") @@ -1204,8 +1362,8 @@ } if (set_temp != "") { - - stateStr += set_temp + "鈩�,"; + string unit = GetTemperatureUnit(device); + stateStr += set_temp + unit + ","; } if (mode != "") { @@ -1373,7 +1531,10 @@ break; } - if (outputTarget.target_type == "1" || outputTarget.target_type == "3") + if (outputTarget.target_type == "1" + || outputTarget.target_type == "3" + || outputTarget.target_type == "5" + ) { targetView.btnState.Text = this.GetTimeText(outputTarget.delay) + stateStr; } @@ -1403,6 +1564,7 @@ switch (button.Name) { case "1": + case "5": { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); @@ -1439,7 +1601,8 @@ this.Delayed(thisView, outputTarget.delay, (value) => { outputTarget.delay = value.ToString(); - if (outputTarget.target_type == "1") + if (outputTarget.target_type == "1" + || outputTarget.target_type == "5") { targetView.btnState.Text = this.GetTimeText(outputTarget.delay) + stateStr; } @@ -1465,8 +1628,9 @@ /// <param name="button1">鏄剧ずBtn</param> /// <param name="button2">鏄剧ずBtn</param> /// <param name="button3">鏄剧ずBtn</param> - /// <param name="button4">鏄剧ずBtn</param> - public void EditDeviceState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4) + /// <param name="button4">鏄剧ずBtn</param> + /// <param name="attribute">灞炴�х储寮�</param> + public void EditDeviceState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4, string attribute) { switch (device.spk) { @@ -1491,7 +1655,7 @@ //寮�鍏崇伅鍏� case SPK.AirSwitch: case SPK.LightSwitch: - //鏈烘鎵� + //鏈烘鎵� case SPK.MechanicalArm: { foreach (var dic in dicList) @@ -1550,9 +1714,92 @@ button3.Text = value + "k"; } break; + case "rgb": + case "rgbw": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + if (!string.IsNullOrEmpty(value) && value.Length > 6) + { + button3.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value); + button3.Tag = value; + } + } + break; + } } + } + break; + case SPK.GroupControl://缇ゆ帶 + { + foreach (var dic in dicList) + { + string key = dic["key"]; + if (key != attribute) + { + continue; + } + string value = dic["value"]; + switch (key) + { + case "on_off": + case "colorful": + { + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + } + else + { + button1.Text = Language.StringByID(StringId.offLogic); + } + } + break; + case "brightness": + { + if (button1 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button1.Text = value + "%"; + } + break; + case "cct": + { + if (button1 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button1.Text = value + "k"; + } + break; + case "rgb": + { + if (button1 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + if (!string.IsNullOrEmpty(value) && value.Length > 6) + { + button1.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value); + button1.Tag = value; + } + } + break; + + + + } + } + } break; case SPK.CurtainSwitch: @@ -1662,6 +1909,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { foreach (var dic in dicList) { @@ -1692,7 +1940,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -1805,7 +2053,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -1940,6 +2188,7 @@ } } break; + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2006,6 +2255,23 @@ button1.Text = Language.StringByID(StringId.wuren); } } + } + break; + case SPK.SensorPirHold: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "true") + { + button1.Text = Language.StringByID(StringId.youren); + } + else + { + button1.Text = Language.StringByID(StringId.wuren); + } + } + } break; case SPK.SensorDoorWindow: @@ -2128,6 +2394,29 @@ } } 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: { @@ -2146,11 +2435,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> @@ -2199,6 +2505,25 @@ return ""; } return dicList[0]["value"].ToString(); + } + /// <summary> + /// 鑾峰彇娓╁害鍗曚綅 + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public string GetTemperatureUnit(Entity.Function device) + { + string unit = string.Empty; + if (device.GetAttribute("temperature_type") != null) + { + unit = device.GetAttribute("temperature_type").unit; + } + if (string.IsNullOrEmpty(unit)) + { + //璋冭瘯杞欢鏈夌┖鑳戒笂浼犱负绌� + unit = "鈩�"; + } + return unit; } /// <summary> ///鑾峰彇鑷姩鍖栧悕绉� @@ -2327,6 +2652,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: { @@ -2616,7 +2942,7 @@ } } /// <summary> - /// 鏌ユ壘鎸囧畾userId + /// 鏌ユ壘鎸囧畾鍙瀵硅userId /// </summary> /// <param name="userId"></param> /// <returns></returns> @@ -2633,6 +2959,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