From 0a11352dffeb8d5f31dd40b9728fe1abf4537f04 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 01 九月 2023 18:06:45 +0800 Subject: [PATCH] 2023年09月01日18:06:42 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 359 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 345 insertions(+), 14 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 430bd42..31916af 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -400,6 +400,13 @@ inputView.btnState.Text = str; } break; + case SPK.SensorLight: + { + string str = this.GetText(dicList, "illuminance"); + inputView.btnState.Text = str; + + } + break; case SPK.DoorLock: { string value = this.GetValue(dicList); @@ -460,11 +467,23 @@ 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: @@ -738,6 +757,7 @@ if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 + || device.spk == SPK.SensorLight ) { ///褰撳墠鐨勭储寮曞�兼暟鎹璞� @@ -752,6 +772,20 @@ switch (key) { + case "illuminance": + { + int titleInt = 0; + if (comparator == ">") + { + titleInt = StringId.zhaomingdugaoyu; + } + else if (comparator == "<") + { + titleInt = StringId.zhaomingdudiyu; + } + ConditionDeviceFunList.Current.InputBoxAction(device, titleInt, indexVulae, true, stateValue); + } + break; case "temperature": { int titleInt = 0; @@ -989,6 +1023,7 @@ switch (outputTarget.target_type) { case "1": + case "5": { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); @@ -1003,6 +1038,10 @@ 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: { @@ -1040,11 +1079,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 != "") @@ -1068,12 +1110,86 @@ //鑹叉俯杩欎釜灞炴�ф墠鏈夋晥 if (stateStr != Language.StringByID(StringId.offLogic) && GetKeyValue("cct", dicList) != "") { - stateStr += "," +GetKeyValue("cct", dicList) + "k"; + 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) @@ -1170,8 +1286,8 @@ if (set_temp != "") { - string unit = device.GetAttribute("temperature_type") == null ? "掳" : device.GetAttribute("temperature_type").state; - stateStr += set_temp + unit+","; + string unit = GetTemperatureUnit(device); + stateStr += set_temp + unit + ","; } if (mode != "") @@ -1268,7 +1384,7 @@ } if (set_temp != "") { - string unit = device.GetAttribute("temperature_type") == null ? "掳" : device.GetAttribute("temperature_type").state; + string unit = GetTemperatureUnit(device); stateStr += set_temp + unit + ","; } if (mode != "") @@ -1381,14 +1497,55 @@ { string song_name = GetKeyValue("song_name", dicList); string volume = GetKeyValue("volume", dicList); - stateStr = song_name + ";" +Language.StringByID(StringId.volumeMusic)+volume; + stateStr = song_name + ";" + Language.StringByID(StringId.volumeMusic) + volume; if (stateStr.StartsWith(";")) { stateStr = stateStr.Substring(1, stateStr.Length - 1); - }else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic))) + } else if (stateStr.EndsWith(Language.StringByID(StringId.volumeMusic))) { stateStr = stateStr.Substring(0, stateStr.Length - 3); } + } + break; + case SPK.ElectricalTvHisense: + { + string on_off = GetKeyValue("on_off", dicList); + string volumet = GetKeyValue("set_volume", dicList); + string signal = GetKeyValue("signal", dicList); + if (!string.IsNullOrEmpty(on_off)) + { + if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else + { + stateStr = Language.StringByID(StringId.offLogic); + //濡傛灉鍏充簡锛屽叾瀹冨睘鎬т笉鏄剧ず + break; + } + + } + if (!string.IsNullOrEmpty(stateStr)) + { + stateStr += ","; + } + if (!string.IsNullOrEmpty(volumet)) + { + stateStr += Language.StringByID(StringId.yinliang) + volumet; + } + + if (!string.IsNullOrEmpty(stateStr)) + { + stateStr += ","; + } + if (!string.IsNullOrEmpty(signal)) + { + var p = new PublicInterface(); + string key = p.GetKey(p.GetHisenseSignalSourceDic(), signal); + stateStr += key; + } + stateStr = stateStr.TrimEnd(','); } break; } @@ -1437,7 +1594,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; } @@ -1467,6 +1627,7 @@ switch (button.Name) { case "1": + case "5": { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); @@ -1503,7 +1664,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; } @@ -1529,8 +1691,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) { @@ -1614,9 +1777,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: @@ -1757,7 +2003,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -1870,7 +2116,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -2005,7 +2251,7 @@ } } break; - + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2271,6 +2517,59 @@ button2.Tag = tag; } break; + case SPK.ElectricalTvHisense: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + switch (value) + { + case "on": + { + button1.Text = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + button1.Text = Language.StringByID(StringId.offLogic); + } + break; + } + } + break; + + case "set_volume": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value; + } + break; + case "signal": + { + if (button3 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + var p = new PublicInterface(); + string key = p.GetKey(p.GetHisenseSignalSourceDic(), value); + button3.Text = key; + } + break; + } + + } + } + break; + } } @@ -2320,6 +2619,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> ///鑾峰彇鑷姩鍖栧悕绉� @@ -2611,6 +2929,19 @@ switch (key) { + case "illuminance": + { + if (comparator == ">") + { + strtext = ">" + value; + } + else if (comparator == "<") + { + strtext = "<" + value; + } + + } + break; case "temperature": { if (comparator == ">") -- Gitblit v1.8.0