HDL-ON_Android/Assets/Language.ini | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_Android/HDL-ON_Android.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_iOS/HDL-ON_iOS.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_iOS/Resources/Language.ini | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Common/R.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/HDL_ON.projitems | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/Security.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HDL-ON_Android/Assets/Language.ini
@@ -992,9 +992,10 @@ 7144=excellence 7145=Security 7146=Add security 7147=Arm 7148=Disarm 7149=Manually 7150=Smart 9000=Please sign in with new cell phone number. @@ -2077,9 +2078,12 @@ 7144=优秀 7145=安防 7146=添加安防 7147=布防 7148=撤防 7149=手动 7150=智能 9000=请使用新的手机账号登录APP 9001=请使用新的邮箱账号登录APP HDL-ON_Android/HDL-ON_Android.csproj
@@ -443,6 +443,7 @@ <AndroidAsset Include="Assets\Phone\Collection\DefenseStatusIcon.png" /> <AndroidAsset Include="Assets\Phone\Collection\DisarmStatusIcon.png" /> <AndroidAsset Include="Assets\Phone\PersonalCenter\ResidenceDefenseIcon.png" /> <AndroidAsset Include="Assets\Phone\LogicIcon\security.png" /> </ItemGroup> <ItemGroup> <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\BindScene.png" /> HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1331,6 +1331,7 @@ <BundleResource Include="Resources\Phone\Collection\DefenseStatusIcon.png" /> <BundleResource Include="Resources\Phone\Collection\DisarmStatusIcon.png" /> <BundleResource Include="Resources\Phone\PersonalCenter\ResidenceDefenseIcon.png" /> <BundleResource Include="Resources\Phone\LogicIcon\security.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> HDL-ON_iOS/Resources/Language.ini
@@ -994,6 +994,8 @@ 7146=Add security 7147=Arm 7148=Disarm 7149=Manually 7150=Smart @@ -2079,6 +2081,8 @@ 7146=添加安防 7147=布防 7148=撤防 7149=手动 7150=智能 9000=请使用新的手机账号登录APP HDL_ON/Common/R.cs
@@ -2555,6 +2555,15 @@ /// 撤防 /// </summary> public const int chefang = 7148; /// <summary> /// manual:手动 /// </summary> public const int shoudong = 7149; /// <summary> /// smart:智能 /// </summary> public const int zhineng = 7150; #region LE新增 HDL_ON/HDL_ON.projitems
@@ -476,6 +476,7 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\AddInputPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\AddOutputPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\AddOutputSettingPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Security.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -273,6 +273,90 @@ #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; //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; } #region 保存 ///保存View HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -376,7 +376,41 @@ } break; case SPK.SensorTemperature: { string str =new InpOrOutLogicMethod { }.GetText(dicList); inputView.btnState.Text = str; } break; case SPK.SensorHumidity: { string str = new InpOrOutLogicMethod { }.GetText(dicList); inputView.btnState.Text = str; } break; case SPK.SensorCO2: { string str = new InpOrOutLogicMethod { }.GetText(dicList); inputView.btnState.Text = str; } break; case SPK.SensorPm25: { string str = new InpOrOutLogicMethod { }.GetText(dicList); inputView.btnState.Text = str; } break; case SPK.SensorTVOC: { string str = new InpOrOutLogicMethod { }.GetText(dicList); inputView.btnState.Text = str; } break; } } break; @@ -612,7 +646,15 @@ { //用sid找到设备; var device = LogicMethod.CurrLogicMethod.GetDevice(inputCondition.sid); if (device.spk == SPK.SensorEnvironment|| device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3) if (device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 || device.spk == SPK.SensorTemperature || device.spk == SPK.SensorHumidity || device.spk == SPK.SensorCO2 || device.spk == SPK.SensorPm25 || device.spk == SPK.SensorTVOC ) { //这个设备比较特殊 ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); @@ -766,7 +808,7 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; } }; ///删除控件 @@ -813,7 +855,6 @@ targetView.btnText.Text = device.name; //改变设备名称显示控件宽度 targetView.btnText.Width = Application.GetRealWidth(80); //区别不同设备,显示不同设备状态 switch (device.spk) { @@ -1048,27 +1089,61 @@ break; } } if (on_off != "" && on_off == "off") { stateStr = Language.StringByID(StringId.offLogic); } else { stateStr = stateStr.TrimEnd(','); switch (mode) } } break; case SPK.AirFreshStandard: { string on_off = GetKeyValue("on_off", dicList); string fan = GetKeyValue("fan", dicList); if (on_off != "") { switch (on_off) { case "cool": case "on": { stateStr += Language.StringByID(StringId.coolLogic) + ","; stateStr = Language.StringByID(StringId.onLogic) + ","; } break; case "heat": case "off": { stateStr += Language.StringByID(StringId.heatingLogic) + ","; stateStr = Language.StringByID(StringId.offLogic) + ","; } break; } } if (fan != "") { switch (fan) { case "high": { stateStr += Language.StringByID(StringId.HighWindSpeed) + ","; } break; case "medium": { stateStr += Language.StringByID(StringId.MiddleWindSpeed) + ","; } break; case "low": { stateStr += Language.StringByID(StringId.LowWindSpeed) + ","; } break; case "auto": { stateStr += Language.StringByID(StringId.autoLogic) + ","; } break; case "dry": { stateStr += Language.StringByID(StringId.dehumidifyLogic) + ","; stateStr += Language.StringByID(StringId.Auto) + ","; } break; } @@ -1506,6 +1581,73 @@ } break; case SPK.AirFreshStandard: { 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 "fan": { if (button2 == null) { //怕调试软件乱上东西导致抛异常 break; } switch (value) { case "high": { button2.Text = Language.StringByID(StringId.HighWindSpeed); } break; case "medium": { button2.Text = Language.StringByID(StringId.MiddleWindSpeed); } break; case "low": { button2.Text = Language.StringByID(StringId.LowWindSpeed); } break; case "auto": { button2.Text = Language.StringByID(StringId.Auto); } break; } } break; } } } break; case SPK.SensorGas: case SPK.SensorSmoke: { @@ -1700,6 +1842,13 @@ name = device.name + "-"; } break; case "10": { //用sid找到场景; var scene = LogicMethod.CurrLogicMethod.GetSecne(inputCondition.sid); name = scene.name + "-"; } break; } //默认取第一个目标 @@ -1821,18 +1970,24 @@ } break; case "3": { //用sid找到安防; var security = LogicMethod.CurrLogicMethod.GetSecurity(outputTarget.sid); name += security.name; } break; } if (!MainView.IsGatewayType) { name +=Language.StringByID(StringId.push); name += Language.StringByID(StringId.push); } } catch { } return name; } /// <summary> /// 延时时间方法 /// </summary> @@ -1928,11 +2083,74 @@ state = seconds.ToString() + Language.StringByID(StringId.s); } } if (!string.IsNullOrEmpty(state)) { if (!string.IsNullOrEmpty(state)) { state = Language.StringByID(StringId.delayLogic) + state; } return state; } /// <summary> /// 获取显示面熟文本 /// </summary> /// <param name="dicList">状态数据列表</param> /// <returns></returns> private string GetText(List<Dictionary<string, string>> dicList) { string strtext = ""; foreach (var dic in dicList) { string key = dic["key"]; string value = dic["value"]; string comparator = dic["comparator"]; switch (key) { case "temperature": { if (comparator == ">") { strtext = ">" + value + "℃"; } else if (comparator == "<") { strtext = "<" + value + "℃"; } } break; case "humidity": { if (comparator == ">") { strtext = ">" + value + "%"; } else if (comparator == "<") { strtext = "<" + value + "%"; } } break; case "co2": { strtext = Language.StringByID(StringId.co2) + new PublicInterface { }.GetString("co2", value); } break; case "pm25": { strtext = Language.StringByID(StringId.pm25) + new PublicInterface { }.GetString("pm25", value); } break; case "tvoc": { strtext = Language.StringByID(StringId.tvoc) + new PublicInterface { }.GetString("tvoc", value); } break; } } return strtext; } } } HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -344,6 +344,11 @@ strPath = "LogicIcon/heatlogic.png"; } break; case SPK.AirFreshStandard: { strPath = "LogicIcon/heatlogic.png"; } break; case SPK.SensorSmoke: case SPK.SensorWater: case SPK.SensorGas: @@ -357,6 +362,11 @@ case SPK.SensorEnvironment: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: case SPK.SensorTemperature: case SPK.SensorHumidity: case SPK.SensorCO2: case SPK.SensorPm25: case SPK.SensorTVOC: { strPath = "LogicIcon/sensor.png"; } @@ -404,6 +414,11 @@ { deviceStrTypeList.Add(Language.StringByID(StringId.FloorHeating)); } var airFresh = deviceList.Find((device) => device.spk == SPK.AirFreshStandard); if (airFresh != null) { deviceStrTypeList.Add(Language.StringByID(StringId.AirFresh)); } var sensor = deviceList.Find((device) => device.spk == SPK.SensorWater || device.spk == SPK.SensorGas @@ -418,6 +433,11 @@ || device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 || device.spk == SPK.SensorTemperature || device.spk == SPK.SensorHumidity || device.spk == SPK.SensorCO2 || device.spk == SPK.SensorPm25 || device.spk == SPK.SensorTVOC ); if (sensor != null) { @@ -456,6 +476,10 @@ { functionTypeList.Add(SPK.FloorHeatStandard); } else if (deviceType == Language.StringByID(StringId.AirFresh)) { functionTypeList.Add(SPK.AirFreshStandard); } else if (deviceType == Language.StringByID(StringId.Sensor)) { functionTypeList.Add(SPK.SensorSmoke); @@ -471,6 +495,11 @@ functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironment2); functionTypeList.Add(SPK.SensorEnvironment3); functionTypeList.Add(SPK.SensorTemperature); functionTypeList.Add(SPK.SensorHumidity); functionTypeList.Add(SPK.SensorCO2); functionTypeList.Add(SPK.SensorPm25); functionTypeList.Add(SPK.SensorTVOC); } @@ -511,6 +540,11 @@ deviceTypeList.Add(SPK.SensorEnvironment); deviceTypeList.Add(SPK.SensorEnvironment2); deviceTypeList.Add(SPK.SensorEnvironment3); deviceTypeList.Add(SPK.SensorTemperature); deviceTypeList.Add(SPK.SensorHumidity); deviceTypeList.Add(SPK.SensorCO2); deviceTypeList.Add(SPK.SensorPm25); deviceTypeList.Add(SPK.SensorTVOC); } break; @@ -526,6 +560,7 @@ deviceTypeList.Add(SPK.CurtainTrietex); deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.AirFreshStandard); } break; } HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -648,6 +648,16 @@ }; } break; case "airFresh": { list = new List<string> { Language.StringByID(StringId.zidong), Language.StringByID(StringId.shoudong), Language.StringByID(StringId.dingshi), Language.StringByID(StringId.zhineng), }; } break; case "week": { list = new List<string> { @@ -796,6 +806,27 @@ } } break; case "airFresh": { if (text == Language.StringByID(StringId.autoLogic)) { str = "auto"; } else if (text == Language.StringByID(StringId.shoudong)) { str = "manual"; } else if (text == Language.StringByID(StringId.dingshi)) { str = "timer"; } else if (text == Language.StringByID(StringId.zhineng)) { str = "smart"; } } break; } return str; } HDL_ON/UI/UI2/3-Intelligence/Automation/Security.cs
@@ -92,7 +92,7 @@ outputDevice.target_type = "3"; outputDevice.sid = sid; outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "security" }, { "value", selecttionMode } } }; AddOutput(outputDevice); AddOutput(outputDevice, true); LogicMethod.CurrLogicMethod.RemoveAllView(); AddLogic addLogic = new AddLogic(); MainPage.BasePageView.AddChidren(addLogic); HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -312,6 +312,88 @@ #endregion } break; case SPK.AirFreshStandard: { #region 界面 ///开关 LogicView.FunTypeView AirFreshSwitchVie = new LogicView.FunTypeView(); AirFreshSwitchVie.btnText.TextID = StringId.switchLogic; fLayout.AddChidren(AirFreshSwitchVie.FLayoutView()); ///风速 LogicView.FunTypeView AirFreshSpeedView = new LogicView.FunTypeView(); AirFreshSpeedView.frameLayout.Y = AirFreshSwitchVie.frameLayout.Bottom; AirFreshSpeedView.btnText.TextID = StringId.speedLogic; fLayout.AddChidren(AirFreshSpeedView.FLayoutView()); #endregion #region 点击事件 ///开关点击事件 AirFreshSwitchVie.btnClick.MouseUpEventHandler += (sender, e) => { SwitchViewMethod(device, AirFreshSwitchVie.btnState, 2); }; ///风速点击事件 AirFreshSpeedView.btnClick.MouseUpEventHandler += (sender, e) => { //定义一个临时列表 List<string> fanAttrList = new List<string>(); //动态读取新风风速列表 var fanAttr = device.GetAttribute(FunctionAttributeKey.FanSpeed); foreach (var fanAttrValue in fanAttr.value) { switch (fanAttrValue) { case "high": { fanAttrList.Add(Language.StringByID(StringId.HighWindSpeed)); } break; case "medium": { fanAttrList.Add(Language.StringByID(StringId.MiddleWindSpeed)); } break; case "low": { fanAttrList.Add(Language.StringByID(StringId.LowWindSpeed)); } break; case "auto": { fanAttrList.Add(Language.StringByID(StringId.Auto)); break; } } } ///之前的状态文本 string currText = AirFreshSpeedView.btnState.Text; //设备属性值,云雀上定义好的; string keyVlaue = "fan"; selectedState = device.spk + "_" + keyVlaue; PublicInterface speedView = new PublicInterface(); var speedListStr = fanAttrList;// speedView.GetViewList(keyVlaue); speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText , (stateValue) => { //界面显示选中值 AirFreshSpeedView.btnState.Text = stateValue; //数据封装 AddDictionary(keyVlaue, speedView.GetModeValueString(stateValue, keyVlaue)); }); }; if (edit) { //显示编辑之前的设备状态 GetEditState(device, index, AirFreshSwitchVie.btnState, AirFreshSpeedView.btnState, null, null); } #endregion } break; } #endregion @@ -356,9 +438,9 @@ } case SPK.AcStandard: case SPK.FloorHeatStandard: case SPK.AirFreshStandard: { //(空调/地热)做了一个特殊处理; //做了一个特殊处理; bool _bool = false; for (int i = 0; i < dicSateteList.Count; i++) { @@ -378,8 +460,6 @@ diction.Add("value", "on"); dicSateteList.Add(diction); } } break; } @@ -600,8 +680,6 @@ } } } }