From c1cb2d8c6034a2ee7aa8a5710bba15b14f76cebc Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 18 八月 2023 18:54:31 +0800 Subject: [PATCH] 2023年08月18日18:54:22 --- HDL_ON/Entity/Function/Function.cs | 660 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 624 insertions(+), 36 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 300e667..6e0f81f 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -88,7 +88,7 @@ { var attrs = new List<string>(); - foreach(var attr in attributes) + foreach (var attr in attributes) { attrs.Add(attr.key); } @@ -100,7 +100,7 @@ /// <returns></returns> public FunctionAttributes GetAttribute(string key) { - var attr = attributes.Find((a) => a.key == key); + var attr = GetFunctionAttributes().Find((a) => a.key == key); return attr; } @@ -109,14 +109,36 @@ /// </summary> /// <param name="key"></param> /// <returns></returns> - public string GetAttrState(string key) + public string GetAttrState(string key, string defaultValue = "0") { + //涓�绾ф煡璇eyValue鍊� var attrState = attributes.Find((s) => s.key == key.ToString()); - if (attrState == null || string.IsNullOrEmpty(attrState.state)) + if (attrState == null) + { + return defaultValue; + } + if (string.IsNullOrEmpty(attrState.state)) + { + //浜岀骇鏌ヨkeyValue鍊� + return GetOriginalState(key); + } + return attrState.state; + } + + /// <summary> + /// 鑾峰彇鍒濆鐘舵�� + /// 榛樿鍊硷細0 + /// </summary> + /// <param name="key">璇泙瀹氫箟鐨勫睘鎬у��</param> + /// <returns></returns> + public string GetOriginalState(string key) + { + var originalState = status.Find((s) => s.key == key.ToString()); + if (originalState == null || string.IsNullOrEmpty(originalState.value)) { return "0"; } - return attrState.state; + return originalState.value; } /// <summary> /// 璁剧疆灞炴�х姸鎬� @@ -221,12 +243,43 @@ /// <summary> /// 澶囨敞 /// </summary> - public string name; + public string name = ""; + /// <summary> + /// 璁惧缁戝畾鐨刪omeId + /// </summary> + private string _homeId = ""; + public string homeId + { + get + { + if (string.IsNullOrEmpty(_homeId)) + { + return DB_ResidenceData.Instance.CurrentRegion.id; + } + else + { + return _homeId; + } + } + set + { + _homeId = value; + } + } + /// <summary> /// 璁惧ID /// 浜戠璐熻矗鐢熸垚 /// </summary> public string deviceId = "0"; + /// <summary> + /// 绗笁鏂硅澶囨墿灞昳d + /// </summary> + public string extDevId = string.Empty; + /// <summary> + /// 鐗╃悊璁惧(妯″潡)鍨嬪彿 + /// </summary> + public string omodel = string.Empty; /// <summary> /// 璁惧spk /// </summary> @@ -320,11 +373,64 @@ /// </summary> public List<FunctionAttributes> attributes = new List<FunctionAttributes>(); + public List<FunctionAttributes> GetFunctionAttributes() + { + if (spk == SPK.GroupControl) + { + var list = new List<FunctionAttributes>(); + var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); + if (gc != null) + { + foreach (var temp in gc.sids) + { + var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid); + if (light != null) + { + foreach (var attr in light.attributes) + { + if (list.Find((obj) => obj.key == attr.key) == null) + { + list.Add(attr); + } + } + } + } + } + + return list; + } + else + { + return attributes; + } + } + + /// <summary> /// 鎴块棿ID鍒楄〃 /// 璇ュ姛鑳芥坊鍔犲埌鍒版埧闂村垪琛� /// </summary> public List<string> roomIds = new List<string>(); + + /// <summary> + /// 瀛樺偍灞炴�ч厤缃� + /// 鐜浼犳劅鍣ㄧ殑绛夌骇 + /// </summary> + public List<AttrKeyConfig> attrKeyConfigs = new List<AttrKeyConfig>(); + + public List<AttrKeyConfig> GetAttrKeyConfigs(string key) + { + if (attrKeyConfigs.Count == 0) + { + switch (key) + { + case "pm2.5": + // + break; + } + } + return attrKeyConfigs; + } /// <summary> /// bus鍗忚鏁版嵁鏍煎紡 @@ -335,10 +441,27 @@ /// 鏄惁鏀惰棌 /// </summary> public bool collect = false; + + private bool _online = false; /// <summary> /// 鏄惁鍦ㄧ嚎 /// </summary> - public bool online = true; + public bool online + { + get + { + return true; + } + set + { + _online = value; + } + } + + /// <summary> + /// 鐜闈㈡澘 缁戝畾鐨� 璁惧鐩爣sid鍒楄〃 + /// </summary> + public List<string> targetSids = new List<string>(); /// <summary> /// 浜戠鏁版嵁鍒涘缓鐨勬椂闂� /// </summary> @@ -348,7 +471,17 @@ /// </summary> public string modifyTime = ""; + /// <summary> + /// 鎵╁睍淇℃伅 + /// </summary> + public ExtSet extSet = new ExtSet(); + #endregion + + + //public void + + /// <summary> /// 寤舵椂 /// </summary> @@ -358,6 +491,31 @@ /// </summary> [Newtonsoft.Json.JsonIgnore] public string lastState = ""; + /// <summary> + /// 鑾峰彇鐘舵�佹樉绀烘枃鏈� + /// </summary> + /// <returns></returns> + public string GetLastStateText() + { + var text = ""; + switch (spk) + { + case SPK.HvacCac: + switch (GetAttrState(FunctionAttributeKey.Mode)) + { + case "cool": + text = Language.StringByID(StringId.Cool); + break; + case "heat": + text = Language.StringByID(StringId.Heat); + break; + } + + break; + + } + return text; + } FunctionAttributes _trait_on_off; [Newtonsoft.Json.JsonIgnore] @@ -381,7 +539,7 @@ _trait_on_off.curValue = "off"; } } - if(_trait_on_off.curValue.ToString() != "on"&& _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop") + if (_trait_on_off.curValue.ToString() != "on" && _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop") { _trait_on_off.curValue = "off"; } @@ -402,6 +560,14 @@ SetAttrState(sta.key, sta.value); } } + /// <summary> + /// 鍔熻兘鍒楄〃鎺掑簭 + /// </summary> + public int FunctionOrderNumber = 9999; + /// <summary> + /// 鎴块棿鍒楄〃鎺掑簭 + /// </summary> + public int RoomOrderNumber = 9999; /// <summary> @@ -432,13 +598,27 @@ new System.Threading.Thread(() => { - if (collect) - { - result = ApiUtlis.Ins.HttpRequest.CollectDevice(deviceId).Code; + if (spk == SPK.GroupControl) { + var groupControl = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); + if (collect) + { + result = ApiUtlis.Ins.HttpRequest.CollectGroupControl(groupControl.userDeviceGroupControlId).Code; + } + else + { + result = ApiUtlis.Ins.HttpRequest.CancelCollectGroupControl(groupControl.userDeviceGroupControlId).Code; + } } else { - result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code; + if (collect) + { + result = ApiUtlis.Ins.HttpRequest.CollectDevice(deviceId).Code; + } + else + { + result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code; + } } //鎻愮ず閿欒 if (result != StateCode.SUCCESS) @@ -448,7 +628,7 @@ collect = !collect; IMessageCommon.Current.ShowErrorInfoAlter(result); }); - }else + } else { Application.RunOnMainThread(() => { @@ -473,7 +653,7 @@ } else { - result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId,roomId); + result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId, roomId); } //鎻愮ず閿欒 if (result != StateCode.SUCCESS) @@ -516,9 +696,9 @@ { roomNameList += ","; } - roomNameList += findRoom.floorName +"-"+ findRoom.roomName; + roomNameList += findRoom.floorName + "-" + findRoom.roomName; } - if (roomNameList == "" ) + if (roomNameList == "") { roomNameList = Language.StringByID(StringId.WholeZone); } @@ -556,6 +736,13 @@ SaveFunctionFile(); if (pack.Code == StateCode.SUCCESS) { + if (UI.RoomPage.bodyView != null) + { + Application.RunOnMainThread(() => + { + UI.RoomPage.bodyView.ReLoadPage(); + }); + } } else { @@ -612,8 +799,79 @@ public SceneFunction ConvertSceneFunction() { var sFunc = new SceneFunction(); - foreach (var attr in attributes) + + var list = new List<FunctionAttributes>(); + if (spk == SPK.GroupControl) { + lock (list) + { + var gc = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); + if (gc != null) + { + foreach (var temp in gc.sids) + { + var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid); + if (light != null) + { + foreach (var attr in light.attributes) + { + if (list.Find((obj) => obj.key == attr.key) == null) + { + list.Add(attr); + } + } + } + } + } + } + } + else + { + list.AddRange(attributes); + } + + foreach (var attr in list) + { + //绐楀笜鍚屾椂鍙戦�佸紑鍏宠窡鐧惧垎姣斾細鏈夐棶棰橈紝 + if(spk == SPK.CurtainRoller || spk == SPK.CurtainTrietex || spk == SPK.CurtainDream) + { + if (attr.key == FunctionAttributeKey.OnOff) + { + if (attributes.Find((obj) => obj.key == FunctionAttributeKey.Percent) != null) + { + continue; + } + } + }else if (spk == SPK.GroupControl) + { + sFunc.type = "5"; + } + + string us = ""; + switch (attr.key) + { + case FunctionAttributeKey.SetTemp: + case FunctionAttributeKey.RoomTemp: + us = "掳C"; + var tempType = attributes.Find((obj) => obj.key == FunctionAttributeKey.TempType); + if (tempType != null) + { + us = tempType.curValue.ToString(); + } + break; + case FunctionAttributeKey.Percent: + case FunctionAttributeKey.Brightness: + us = "%"; + break; + case FunctionAttributeKey.CCT: + us = "K"; + break; + case FunctionAttributeKey.Angle: + us = "掳"; + break; + } + + switch (attr.key) { case FunctionAttributeKey.OnOff: @@ -624,14 +882,20 @@ case FunctionAttributeKey.Percent: case FunctionAttributeKey.CCT: case FunctionAttributeKey.RGB: - //case FunctionAttributeKey.FadeTime: + case FunctionAttributeKey.Angle: + case FunctionAttributeKey.Colorful: + case FunctionAttributeKey.ColorfulBegin: + case FunctionAttributeKey.ColorfulEnd: + case FunctionAttributeKey.ColorfulTime: + case "security": + //case FunctionAttributeKey.FadeTime: if (attr.curValue.ToString() == "{}") { - if (attr.key == FunctionAttributeKey.OnOff) + if (attr.key == FunctionAttributeKey.OnOff || attr.key == FunctionAttributeKey.Colorful) { attr.curValue = "off"; } - else if (attr.key == FunctionAttributeKey.Mode ) + else if (attr.key == FunctionAttributeKey.Mode) { if (DB_ResidenceData.Instance.GatewayType == 0) { @@ -649,7 +913,11 @@ } } } - else + else if(attr.key == "security") + { + attr.curValue = "false"; + } + else { attr.curValue = "0"; } @@ -662,13 +930,16 @@ { vv = 26; } - sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString(), max = attr.max, min = attr.min }); + sFunc.status.Add(new SceneFunctionStatus() { + UintString = us, + key = attr.key, value = Convert.ToInt32(vv).ToString(), max = attr.max, min = attr.min }) ; } else { - sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = attr.curValue.ToString(), max = attr.max, min = attr.min }); + sFunc.status.Add(new SceneFunctionStatus() { + UintString = us, + key = attr.key, value = attr.curValue.ToString(), max = attr.max, min = attr.min }); } - break; } } @@ -701,6 +972,20 @@ sendDataObj.objects.Add(acd); return sendDataObj; } + + public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId, string extStr) + { + var sendDataObj = new AlinkDoorlockObj(); + sendDataObj.id = Control.Ins.msg_id.ToString(); + sendDataObj.time_stamp = Utlis.GetTimestamp(); + var acd = new AlinkDoorlockStatus(); + acd.sid = sid; + acd.user_id = extStr; + acd.ext_str = extStr; + sendDataObj.objects.Add(acd); + return sendDataObj; + } + /// <summary> /// 鑾峰彇Api鎺у埗鏁版嵁 /// </summary> @@ -754,6 +1039,24 @@ public string time_stamp = ""; public string id = ""; } + /// <summary> + /// 闂ㄩ攣閫氳鏁版嵁 + /// </summary> + public class AlinkDoorlockObj + { + public List<AlinkDoorlockStatus> objects = new List<AlinkDoorlockStatus>(); + public string time_stamp = ""; + public string id = ""; + } + + public class AlinkDoorlockStatus + { + public string sid; + public string user_id; + public string ext_str; + } + + /// <summary> /// 鏈湴鐘舵�佽鍙� /// A鍗忚鐘舵�佽鍙栨牸寮忓璞� @@ -817,6 +1120,11 @@ /// </summary> public List<string> value = new List<string>(); /// <summary> + /// 姝ヨ繘 + /// 绌鸿皟娓╁害鎺у埗 0.5 1 + /// </summary> + public string step = "1"; + /// <summary> /// 鏈�澶у�� /// </summary> public int max = 100; @@ -836,6 +1144,10 @@ /// 褰撳墠鍊� /// </summary> public object curValue = new object(); + /// <summary> + /// 灞炴�у崟浣� + /// </summary> + public string unit=string.Empty; } /// <summary> @@ -845,6 +1157,10 @@ { public const string _null = ""; /// <summary> + /// 瀹夐槻甯冮槻鐘舵�� + /// </summary> + public const string Security = "security"; + /// <summary> /// 寮�鍏� /// </summary> public const string OnOff = "on_off"; @@ -853,9 +1169,26 @@ /// </summary> public const string Brightness = "brightness"; /// <summary> + /// 鐐僵寮�鍏� + /// </summary> + public const string Colorful = "colorful"; + /// <summary> + /// 鐐僵寮�鍚鑹� + /// </summary> + public const string ColorfulBegin = "colorful_begin"; + /// <summary> + /// 鐐僵缁撴潫棰滆壊 + /// </summary> + public const string ColorfulEnd = "colorful_end"; + /// <summary> + /// 鐐僵杩愯鏃堕棿 + /// </summary> + public const string ColorfulTime = "colorful_time"; + /// <summary> /// 棰滆壊 /// </summary> public const string RGB = "rgb"; + public const string RGBW = "rgbw"; /// <summary> /// 娓愬彉鏃堕棿 /// </summary> @@ -918,9 +1251,42 @@ /// </summary> public const string Percent = "percent"; /// <summary> + /// 瑙掑害 + /// </summary> + public const string Angle = "angle"; + /// <summary> /// 瀹ゅ唴娓╁害 /// </summary> public const string RoomTemp = "room_temp"; + /// <summary> + /// 瀹ゅ唴婀垮害 + /// </summary> + public const string RoomHumidity = "room_humidity"; + /// <summary> + /// 闇茬偣娓╁害 + /// </summary> + public const string dew_point_temp = "dew_point_temp"; + /// <summary> + /// 琛ㄩ潰娓╁害 + /// </summary> + public const string surface_temp = "surface_temp"; + /// <summary> + /// 瀹ゅ唴婀垮害琛ュ伩鍊� + /// </summary> + public const string room_humidity_cc = "room_humidity_cc"; + /// <summary> + /// 瀹ゅ唴娓╁害琛ュ伩鍊� + /// </summary> + public const string room_temp_cc = "room_temp_cc"; + /// <summary> + /// 姣涚粏闃�闂� + /// </summary> + public const string cac_valve = "cac_valve"; + /// <summary> + /// 鍦版殩闃�闂� + /// </summary> + public const string fh_valve = "fh_valve"; + /// <summary> /// value /// </summary> @@ -952,6 +1318,16 @@ /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬� /// </summary> public const string ActionStatus = "action_state"; + /// <summary> + /// + /// </summary> + public const string PeopleNum = "people_num"; + public const string PeopleId = "people_id"; + /// <summary> + /// 姣背娉紶鎰熷櫒 浜虹墿鍔ㄤ綔 + /// </summary> + public const string TargetStatus = "target_status";//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔� + /// <summary> /// 鐢甸噺鐘舵�� /// </summary> @@ -1016,6 +1392,7 @@ /// 鎵撳紑绛夌骇(椋庢墖) /// </summary> public const string OpenLevel = "openLevel"; + public const string fan_speed_percent = "fan_speed_percent"; /// <summary> /// 绾㈠鎸夐敭 /// </summary> @@ -1101,7 +1478,7 @@ try { return Convert.ToByte(loopId, 16); - }catch + } catch { return 0; } @@ -1110,21 +1487,116 @@ public string loopId; } - + /// <summary> + /// Tag 鍔熻兘SPK + /// </summary> public static class SPK { + /// <summary> + /// 缇ゆ帶锛堣嚜瀹氫箟锛� + /// </summary> + public const string GroupControl = "groupControl"; + /// <summary> + /// 閫氱敤寮�鍏� + /// </summary> + public const string OtherCommon = "other.common"; + /// <summary> + /// 搴忓垪 + /// </summary> + public const string CommonSeries = "other.series"; + /// <summary> + /// 澶у崕鎽勫儚澶� + /// </summary> + public const string IpCam_Imou = "security.ipcam.imou"; + /// <summary> + /// 鏈烘鎵� + /// </summary> + public const string MechanicalArm = "electrical.mechanical_arm"; + /// <summary> + /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級 + /// 鎬绘帶 + /// </summary> + public const string AcstParent = "acst.parent"; + /// <summary> + /// 绌鸿皟绉戞妧绯荤粺锛堢豢寤猴級 + /// 瀛愭帶 + /// </summary> + public const string AcstSub = "acst.sub"; + /// <summary> /// 闂ㄩ攣 /// </summary> public const string DoorLock = "security.door"; - + + /// <summary> + /// 闂ㄩ攣spk鍒楄〃 + /// </summary> + /// <returns></returns> public static List<string> GetDoorLockSPKList() { var list = new List<string>(); list.Add(DoorLock); return list; } + + /// <summary> + /// 鐚溂(鏃pk) + /// </summary> + public const string Peephole = "peephole"; + + /// <summary> + /// 鐚溂(鏂皊pk 鏆傛椂娌$敤) + /// </summary> + //public const string PeepholeEz = "security.peephole.ez"; + /// <summary> + /// 钀ょ煶瑙嗛闂ㄩ攣 + /// </summary> + public const string VideoDoorLock="security.door.ezviz"; + /// <summary> + /// 钀ょ煶鎽勫儚澶� + /// </summary> + public const string Ev_Ipcam = "security.ipcam.ez"; + /// <summary> + /// 褰遍煶涓帶 + /// </summary> + public const string AvZkAiks = "av.zk.aiks"; + + /// <summary> + /// 钀ょ煶瑙嗛闂ㄩ攣spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> GetVideoDoorLockSPKList() + { + var list = new List<string>(); + list.Add(VideoDoorLock); + return list; + } + + + /// <summary> + /// 褰遍煶涓帶spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> GetVideoControlsSPKList() + { + var list = new List<string> + { + AvZkAiks + }; + return list; + } + + /// <summary> + /// 钀ょ煶鎽勫儚澶磗pk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> GetEvIpcamSPKList() + { + var list = new List<string>(); + list.Add(Ev_Ipcam); + return list; + } #region 鐏厜 /// <summary> @@ -1181,6 +1653,10 @@ /// 锛堝嵎甯橈級 /// </summary> public const string CurtainRoller = "curtain.roller"; + /// <summary> + /// 姊﹀够甯� + /// </summary> + public const string CurtainDream = "curtain.dream"; /// <summary> /// 绐楀笜spk鍒楄〃 @@ -1193,6 +1669,7 @@ spkList.Add(CurtainSwitch); spkList.Add(CurtainShades); spkList.Add(CurtainTrietex); + spkList.Add(CurtainDream); return spkList; } #endregion @@ -1205,11 +1682,15 @@ /// <summary> /// 锛堢孩澶栫┖璋冿級 /// </summary> - public const string AcIr= "ir.ac"; + public const string AcIr = "ir.ac"; /// <summary> /// 绌鸿皟 /// </summary> public const string HvacAC = "hvac.ac"; + /// <summary> + /// 姣涚粏绠$┖璋� + /// </summaryc + public const string HvacCac = "hvac.cac"; /// <summary> /// 绌鸿皟spk鍒楄〃 @@ -1221,6 +1702,7 @@ spkList.Add(AcStandard); spkList.Add(HvacAC); spkList.Add(AcIr); + spkList.Add(HvacCac); return spkList; } #endregion @@ -1283,6 +1765,14 @@ #region 鑳芥簮 /// <summary> + /// 閫嗗彉鍣� + /// </summary> + public const string Inverter = "energy.inverter"; + /// <summary> + /// 涓夌浉閫嗗彉鍣� + /// </summary> + public const string InverterRst = "energy.inverter_rst"; + /// <summary> /// 鑳芥簮妯″潡 /// </summary> public const string EnergyStandard = "energy.standard"; @@ -1338,6 +1828,10 @@ /// </summary> public const string SensorPir = "sensor.pir"; /// <summary> + /// 浜轰綋瀛樺湪浼犳劅鍣� + /// </summary> + public const string SensorPirHold = "sensor.pir_hold"; + /// <summary> /// 锛堥棬绐椾紶鎰熷櫒锛� /// </summary> public const string SensorDoorWindow = "sensor.doorwindow"; @@ -1376,6 +1870,14 @@ public const string SenesorMegahealth = "sensor.megahealth"; public const string SenesorMegahealth2 = "sensor.megahealth.zg"; /// <summary> + /// 姣背娉紶鎰熷櫒锛堝Э鎬佺増锛� + /// </summary> + public const string SensorMmvPose = "sensor.mmv_pose"; + /// <summary> + /// 绱ф�ュ懠鍙� + /// </summary> + public const string SensorHelp = "sensor.help"; + /// <summary> /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃 /// </summary> /// <returns></returns> @@ -1384,6 +1886,8 @@ var spkList = new List<string>(); //spkList.Add(SensorLight); spkList.Add(SensorPir); + spkList.Add(SensorPirHold); + spkList.Add(SensorHelp); spkList.Add(SensorDoorWindow); spkList.Add(SensorSmoke); spkList.Add(SensorWater); @@ -1395,11 +1899,29 @@ spkList.Add(SensorDryContact2); spkList.Add(SenesorMegahealth); spkList.Add(SenesorMegahealth2); + spkList.Add(SensorMmvPose); return spkList; } #endregion + public const string PanelEnvironment = "screen.panel"; + /// <summary> + /// 闈㈡澘spk鍒楄〃 + /// </summary> + /// <returns></returns> + public static List<string> PanelSpkList() + { + var spkList = new List<string>(); + spkList.Add(SensorHelp); + spkList.Add(PanelEnvironment); + return spkList; + } + #region 鐜浼犳劅鍣� + /// <summary> + /// 锛圥M10浼犳劅鍣級 + /// </summary> + public const string SensorPm10 = "sensor.pm10"; /// <summary> /// 锛堟俯搴︿紶鎰熷櫒锛� /// </summary> @@ -1449,11 +1971,12 @@ { var spkList = new List<string>(); spkList.Add(SensorTemperature); + spkList.Add(SensorPm10); spkList.Add(SensorPm25); spkList.Add(SensorCO2); spkList.Add(SensorTVOC); spkList.Add(SensorHumidity); - spkList.Add(SensorEnvironment); + spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin); spkList.Add(SensorEnvironment2); spkList.Add(SensorEnvironment3); spkList.Add(SensorHcho); @@ -1467,6 +1990,7 @@ { var spkList = new List<string>(); spkList.Add(SensorTemperature); + spkList.Add(SensorPm10); spkList.Add(SensorPm25); spkList.Add(SensorCO2); spkList.Add(SensorTVOC); @@ -1482,7 +2006,7 @@ public static List<string> EvironmentSensorList() { var spkList = new List<string>(); - spkList.Add(SensorEnvironment); + spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin); spkList.Add(SensorEnvironment2); spkList.Add(SensorEnvironment3); return spkList; @@ -1492,6 +2016,10 @@ #endregion #region 瀹剁數 + /// <summary> + /// 娴蜂俊鐢佃 + /// </summary> + public const string ElectricalTvHisense = "electrical.tv.hisense"; /// <summary> /// 瀹剁數銆佹彃搴� /// </summary> @@ -1606,6 +2134,7 @@ spkList.Add(ElectricTuyaWaterValve); spkList.Add(ElectricTuyaWaterValve2); spkList.Add(AirSwitch); + spkList.Add(ElectricalTvHisense); return spkList; } @@ -1630,6 +2159,13 @@ } #endregion + #region 鍙瀵硅 + /// <summary> + /// HDL鍙瀵硅 + /// </summary> + public const string doorgate="door.gate"; + #endregion + #region 绗笁鏂箂pk鍒楄〃 /// <summary> /// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk @@ -1646,6 +2182,7 @@ spkList.Add(ElectricTuyaWaterValve2); spkList.Add(ElectricTuyaWeepRobot); spkList.Add(ElectricTuyaWeepRobot2); + spkList.Add(SensorMmvPose); spkList.Add(SenesorMegahealth); spkList.Add(SenesorMegahealth2); return spkList; @@ -1671,7 +2208,7 @@ list.Add(ElectricTuyaWeepRobot2); break; case BrandType.All3tyBrand: - list.Add(SenesorMegahealth);//鍏嗚 + list.Add(SenesorMegahealth2);//鍏嗚 break; } return list; @@ -1758,9 +2295,60 @@ //} -public class VersionInfo -{ - public string module = ""; - public string version = ""; -} + public class VersionInfo + { + public string module = ""; + public string version = ""; + } + + /// <summary> + /// 鍔熻兘灞炴�х浉鍏抽厤缃俊鎭� + /// 鐜浼犳劅鍣ㄧ瓑绾т娇鐢� + /// </summary> + public class AttrKeyConfig + { + public string key = string.Empty; + /// <summary> + /// 閰嶇疆绫诲瀷 + /// interval 鍖洪棿 + /// 鐩墠鍙敮鎸侊細interval + /// </summary> + public string type = string.Empty; + + public string unit = string.Empty; + + public List<AttrKeyInfo> configs = new List<AttrKeyInfo>(); + + } + + public class AttrKeyInfo + { + /// <summary> + /// + /// </summary> + public string start = string.Empty; + /// <summary> + /// + /// </summary> + public string end = string.Empty; + /// <summary> + /// + /// </summary> + public string color = string.Empty; + /// <summary> + /// 鎻忚堪 + /// </summary> + public string desc = string.Empty; + } + + /// <summary> + /// 鎵╁睍淇℃伅璁剧疆 + /// </summary> + public class ExtSet + { + /// <summary> + /// 鏄惁寮�鍚疄楠屽妯″紡 + /// </summary> + public bool labModel = false; + } } -- Gitblit v1.8.0