From 6a8eb1ce9d8e34c50164a4e24e7098e681ee08b6 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 06 十一月 2023 15:08:06 +0800 Subject: [PATCH] 国际化支持:场景增加自动化使能配置 --- HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 358 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 268 insertions(+), 90 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 6da1d29..1425f70 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -48,7 +48,7 @@ { case "1": { - + inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; foreach (var dic in dicList) { @@ -130,7 +130,7 @@ case "2": { inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; - string value= this.GetKeyValue("timesection", dicList); + string value = this.GetKeyValue("timesection", dicList); inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; } break; @@ -181,7 +181,7 @@ } } break; - //浼犳劅鍣� + //绱ф�ユ眰鍔╀紶鎰熷櫒 case SPK.SensorHelp: { string value = this.GetKeyValue("alarm_status", dicList); @@ -218,9 +218,9 @@ case SPK.SensorDryContact2: { - string value = this.GetKeyValue("on_off", dicList); + string value = this.GetKeyValue("contact_status", dicList); inputView.btnState.Text = Language.StringByID(StringId.offLogic); - if (value == "on") + if (value == "open") { inputView.btnState.Text = Language.StringByID(StringId.onLogic); } @@ -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); @@ -411,7 +418,7 @@ break; case SPK.VideoDoorLock: { - string s = string.Empty; + string userName = string.Empty; string tag = string.Empty; for (int b = 0; b < dicList.Count; b++) { @@ -422,11 +429,9 @@ //s += ","; //tag += FaceItem.userId; //tag += "_"; - var userName = dic["value"].ToString(); - s += userName; - s += ","; + userName = dic["value"].ToString(); } - inputView.btnState.Text = s; + inputView.btnState.Text = RemoveLastStr(userName); } break; case SPK.doorgate: @@ -460,7 +465,7 @@ 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); } @@ -468,9 +473,15 @@ } break; case SPK.Ev_Ipcam: + if (inputCondition.identifier == Constant.intelligentDetection_event) + { + inputView.btnState.Text = Language.StringByID(StringId.shi); + } + break; + case SPK.Peephole: if (inputCondition.identifier == "pir_event") { - inputView.btnState.Text = Language.StringByID(StringId.On); + inputView.btnState.Text = Language.StringByID(StringId.shi); } break; case SPK.SensorPirHold: @@ -478,11 +489,11 @@ string value = this.GetKeyValue("people_status", dicList); if (string.IsNullOrEmpty(value)) { - inputView.btnState.Text = inputCondition.hold_time + "s"; + inputView.btnState.Text = LogicMethod.Current.getTimeStr(inputCondition.hold_time).Replace("0s",""); break; } - + inputView.btnState.Text = Language.StringByID(StringId.wuren); if (value == "true") { @@ -491,8 +502,8 @@ } if (!string.IsNullOrEmpty(inputCondition.hold_time) && int.Parse(inputCondition.hold_time) > 0) { - - inputView.btnState.Text += "鎸佺画" + inputCondition.hold_time + "s"; + int time = int.Parse(inputCondition.hold_time); + inputView.btnState.Text += "鎸佺画" + LogicMethod.Current.getTimeStr(inputCondition.hold_time).Replace("0s", ""); } @@ -744,6 +755,7 @@ if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 + || device.spk == SPK.SensorLight ) { ///褰撳墠鐨勭储寮曞�兼暟鎹璞� @@ -758,6 +770,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; @@ -813,7 +839,7 @@ else if (device.spk == SPK.SensorTemperature) { - this.SensorView(thisView, device, "temperature", indexVulae); + this.SensorView(thisView, device, "temperature", indexVulae); } else if (device.spk == SPK.SensorHumidity) @@ -1009,7 +1035,7 @@ //鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬� 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); @@ -1017,7 +1043,8 @@ //鎻掑骇(鏈塙SB) case SPK.PanelSocket: { - string on_off = GetKeyValue("on_off_master", dicList); + //string on_off = GetKeyValue("on_off_master", dicList); + string on_off = GetKeyValue("on_off", dicList); if (on_off == "on") { stateStr = Language.StringByID(StringId.onLogic); @@ -1028,6 +1055,7 @@ } } break; + case SPK.OtherCommon: case SPK.AirSwitch: case SPK.LightSwitch: //鎻掑骇 @@ -1051,14 +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 != "") @@ -1082,7 +1110,7 @@ //鑹叉俯杩欎釜灞炴�ф墠鏈夋晥 if (stateStr != Language.StringByID(StringId.offLogic) && GetKeyValue("cct", dicList) != "") { - stateStr += "," +GetKeyValue("cct", dicList) + "k"; + stateStr += "," + GetKeyValue("cct", dicList) + "k"; } } if (device.spk == SPK.LightRGB) @@ -1112,7 +1140,11 @@ 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 colorful = GetKeyValue(FunctionAttributeKey.Colorful, dicList); + string rgb = GetKeyValue("rgb", dicList); + + if (on_off == "on" && brightness != "") { stateStr = Language.StringByID(StringId.onLogic) + brightness + "%"; @@ -1135,22 +1167,19 @@ 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(colorful)) + //{ + // stateStr += "," + Language.StringByID(StringId.ColorfulFunction); + // if (colorful == "on") + // { + // stateStr += Language.StringByID(StringId.onLogic); + // } + // else if (colorful == "off") + // { + // stateStr += Language.StringByID(StringId.offLogic); + // } + //} - break; - } - - string rgb = GetKeyValue("rgb", dicList); if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6) { targetView.btnStateColor.Visible = true; @@ -1257,11 +1286,7 @@ if (set_temp != "") { - string unit = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state; - if (string.IsNullOrEmpty(unit)) - { - unit = "鈩�"; - } + string unit = GetTemperatureUnit(device); stateStr += set_temp + unit + ","; } @@ -1359,11 +1384,7 @@ } if (set_temp != "") { - string unit = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state; - if (string.IsNullOrEmpty(unit)) - { - unit = "鈩�"; - } + string unit = GetTemperatureUnit(device); stateStr += set_temp + unit + ","; } if (mode != "") @@ -1476,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 = GetKeyValue("wol", dicList); + string off = GetKeyValue("on_off", dicList); + string volumet = GetKeyValue("set_volume", dicList); + string signal = GetKeyValue("signal", dicList); + + if (!string.IsNullOrEmpty(off)) + { + stateStr = Language.StringByID(StringId.offLogic); + //濡傛灉鍏充簡锛屽叾瀹冨睘鎬т笉鏄剧ず + break; + } + + if (!string.IsNullOrEmpty(on)) + { + stateStr = Language.StringByID(StringId.onLogic); + } + 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; } @@ -1532,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; } @@ -1562,6 +1627,7 @@ switch (button.Name) { case "1": + case "5": { //鐢╯id鎵惧埌璁惧锛� var device = LogicMethod.Current.GetDevice(outputTarget.sid); @@ -1598,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; } @@ -1624,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) { @@ -1648,6 +1716,7 @@ break; case SPK.ElectricSocket: //寮�鍏崇伅鍏� + case SPK.OtherCommon: case SPK.AirSwitch: case SPK.LightSwitch: //鏈烘鎵� @@ -1734,8 +1803,13 @@ { foreach (var dic in dicList) { + string key = dic["key"]; + if (key != attribute) + { + continue; + } string value = dic["value"]; - switch (dic["key"]) + switch (key) { case "on_off": case "colorful": @@ -1785,9 +1859,11 @@ } break; - } + + } } + } break; case SPK.CurtainSwitch: @@ -1928,7 +2004,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -2041,7 +2117,7 @@ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 break; } - button2.Text = value + "鈩�"; + button2.Text = value + GetTemperatureUnit(device); ; } break; case "mode": @@ -2176,7 +2252,7 @@ } } break; - + case SPK.SensorGas: case SPK.SensorSmoke: { @@ -2216,7 +2292,7 @@ foreach (var dic in dicList) { string value = dic["value"]; - if (value == "on") + if (value == "on"|| value == "open") { button1.Text = Language.StringByID(StringId.onLogic); } @@ -2384,7 +2460,7 @@ break; case SPK.VideoDoorLock: { - string s = string.Empty; + string userName = string.Empty; string tag = string.Empty; for (int b = 0; b < dicList.Count; b++) { @@ -2395,11 +2471,10 @@ //s += ","; //tag += FaceItem.userId; //tag += "_"; - var userName = dic["value"].ToString(); - s += userName; - s += ","; + userName = dic["value"].ToString(); + } - button1.Text = s; + button1.Text = RemoveLastStr(userName); button1.Tag = tag; } break; @@ -2442,6 +2517,62 @@ button2.Tag = tag; } break; + case SPK.ElectricalTvHisense: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + if (value == "off") + { + button1.Text = Language.StringByID(StringId.offLogic); + + } + + } + break; + case "wol": + { + if (value == "on") + { + button1.Text = Language.StringByID(StringId.onLogic); + + } + + } + 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; + } } @@ -2491,6 +2622,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> ///鑾峰彇鑷姩鍖栧悕绉� @@ -2743,29 +2893,30 @@ string state = ""; var minutes = timeValue / 60; var seconds = timeValue % 60; - if (minutes != 0) - { - if (seconds == 0) - { - state = minutes.ToString() + Language.StringByID(StringId.minute); - } - else - { - state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); - } - } - else - { - if (seconds != 0) - { - state = seconds.ToString() + Language.StringByID(StringId.s); - } - } - if (!string.IsNullOrEmpty(state)) - { - state = Language.StringByID(StringId.delayLogic) + state; - } - return state; + return LogicMethod.Current.getTimeStr(strTimeValue).Replace("0s",""); + //if (minutes != 0) + //{ + // if (seconds == 0) + // { + // state = minutes.ToString() + Language.StringByID(StringId.minute); + // } + // else + // { + // state = minutes.ToString() + Language.StringByID(StringId.minute) + seconds.ToString() + Language.StringByID(StringId.s); + // } + //} + //else + //{ + // if (seconds != 0) + // { + // state = seconds.ToString() + Language.StringByID(StringId.s); + // } + //} + //if (!string.IsNullOrEmpty(state)) + //{ + // state = Language.StringByID(StringId.delayLogic) + state; + //} + //return state; } /// <summary> /// 鑾峰彇鏄剧ず闈㈢啛鏂囨湰 @@ -2782,6 +2933,19 @@ switch (key) { + case "illuminance": + { + if (comparator == ">") + { + strtext = ">" + value; + } + else if (comparator == "<") + { + strtext = "<" + value; + } + + } + break; case "temperature": { if (comparator == ">") @@ -2844,7 +3008,7 @@ Input inputedit = Logic.currlogic.input[indexVulae]; ///鐘舵�佸�� string stateValue = ""; - for (int i=0;i<inputedit.condition.Count;i++) + for (int i = 0; i < inputedit.condition.Count; i++) { var dic = inputedit.condition[i]; string comparator = dic["comparator"]; @@ -2945,6 +3109,20 @@ return face; } + /// <summary> + /// 鍒犻櫎鏈�鍚庝竴涓� "," + /// </summary> + /// <param name="s">瀛楃涓�</param> + /// <returns></returns> + public string RemoveLastStr(string s) + { + if (string.IsNullOrEmpty(s)) + { + return string.Empty; + } + return s.Replace("[","").Replace("]","").Replace("\"","").TrimEnd(','); + } + } } -- Gitblit v1.8.0