From 585b34a73cf351b65ef6322163946cb019a19c34 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 01 二月 2023 14:41:46 +0800
Subject: [PATCH] 空调温度设置问题修复
---
HDL_ON/Entity/Function/Function.cs | 189 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 182 insertions(+), 7 deletions(-)
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index c706201..63f24fe 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -109,13 +109,13 @@
/// </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)
{
- return "0";
+ return defaultValue;
}
if (string.IsNullOrEmpty(attrState.state))
{
@@ -243,12 +243,39 @@
/// <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>
/// 璁惧spk
/// </summary>
@@ -377,16 +404,20 @@
/// 鏄惁鏀惰棌
/// </summary>
public bool collect = false;
+
+ private bool _online = false;
/// <summary>
/// 鏄惁鍦ㄧ嚎
/// </summary>
- public bool online {
+ public bool online
+ {
get
{
return true;
}
- set {
-
+ set
+ {
+ _online = value;
}
}
@@ -403,7 +434,17 @@
/// </summary>
public string modifyTime = "";
+ /// <summary>
+ /// 鎵╁睍淇℃伅
+ /// </summary>
+ public ExtSet extSet = new ExtSet();
+
#endregion
+
+
+ //public void
+
+
/// <summary>
/// 寤舵椂
/// </summary>
@@ -413,6 +454,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]
@@ -686,6 +752,8 @@
case FunctionAttributeKey.Percent:
case FunctionAttributeKey.CCT:
case FunctionAttributeKey.RGB:
+ case FunctionAttributeKey.Angle:
+ case "security":
//case FunctionAttributeKey.FadeTime:
if (attr.curValue.ToString() == "{}")
{
@@ -710,6 +778,10 @@
attr.curValue = "day";
}
}
+ }
+ else if(attr.key == "security")
+ {
+ attr.curValue = "false";
}
else
{
@@ -911,6 +983,11 @@
/// </summary>
public List<string> value = new List<string>();
/// <summary>
+ /// 姝ヨ繘
+ /// 绌鸿皟娓╁害鎺у埗 0.5 1
+ /// </summary>
+ public string step = "1";
+ /// <summary>
/// 鏈�澶у��
/// </summary>
public int max = 100;
@@ -939,6 +1016,10 @@
{
public const string _null = "";
/// <summary>
+ /// 瀹夐槻甯冮槻鐘舵��
+ /// </summary>
+ public const string Security = "security";
+ /// <summary>
/// 寮�鍏�
/// </summary>
public const string OnOff = "on_off";
@@ -950,6 +1031,7 @@
/// 棰滆壊
/// </summary>
public const string RGB = "rgb";
+ public const string RGBW = "rgbw";
/// <summary>
/// 娓愬彉鏃堕棿
/// </summary>
@@ -1012,9 +1094,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>
@@ -1120,6 +1235,7 @@
/// 鎵撳紑绛夌骇(椋庢墖)
/// </summary>
public const string OpenLevel = "openLevel";
+ public const string fan_speed_percent = "fan_speed_percent";
/// <summary>
/// 绾㈠鎸夐敭
/// </summary>
@@ -1220,6 +1336,29 @@
public static class SPK
{
/// <summary>
+ /// 閫氱敤寮�鍏�
+ /// </summary>
+ public const string OtherCommon = "other.common";
+ /// <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";
@@ -1233,6 +1372,7 @@
list.Add(DoorLock);
return list;
}
+
#region 鐏厜
@@ -1402,6 +1542,10 @@
#region 鑳芥簮
/// <summary>
+ /// 閫嗗彉鍣�
+ /// </summary>
+ public const string Inverter = "energy.inverter";
+ /// <summary>
/// 鑳芥簮妯″潡
/// </summary>
public const string EnergyStandard = "energy.standard";
@@ -1495,6 +1639,10 @@
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";
@@ -1507,6 +1655,7 @@
var spkList = new List<string>();
//spkList.Add(SensorLight);
spkList.Add(SensorPir);
+ spkList.Add(SensorHelp);
spkList.Add(SensorDoorWindow);
spkList.Add(SensorSmoke);
spkList.Add(SensorWater);
@@ -1518,6 +1667,7 @@
spkList.Add(SensorDryContact2);
spkList.Add(SenesorMegahealth);
spkList.Add(SenesorMegahealth2);
+ spkList.Add(SensorMmvPose);
return spkList;
}
#endregion
@@ -1536,6 +1686,10 @@
}
#region 鐜浼犳劅鍣�
+ /// <summary>
+ /// 锛圥M10浼犳劅鍣級
+ /// </summary>
+ public const string SensorPm10 = "sensor.pm10";
/// <summary>
/// 锛堟俯搴︿紶鎰熷櫒锛�
/// </summary>
@@ -1585,6 +1739,7 @@
{
var spkList = new List<string>();
spkList.Add(SensorTemperature);
+ spkList.Add(SensorPm10);
spkList.Add(SensorPm25);
spkList.Add(SensorCO2);
spkList.Add(SensorTVOC);
@@ -1603,6 +1758,7 @@
{
var spkList = new List<string>();
spkList.Add(SensorTemperature);
+ spkList.Add(SensorPm10);
spkList.Add(SensorPm25);
spkList.Add(SensorCO2);
spkList.Add(SensorTVOC);
@@ -1766,6 +1922,13 @@
}
#endregion
+ #region 鍙瀵硅
+ /// <summary>
+ /// HDL鍙瀵硅
+ /// </summary>
+ public const string doorgate="door.gate";
+ #endregion
+
#region 绗笁鏂箂pk鍒楄〃
/// <summary>
/// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk
@@ -1782,6 +1945,7 @@
spkList.Add(ElectricTuyaWaterValve2);
spkList.Add(ElectricTuyaWeepRobot);
spkList.Add(ElectricTuyaWeepRobot2);
+ spkList.Add(SensorMmvPose);
spkList.Add(SenesorMegahealth);
spkList.Add(SenesorMegahealth2);
return spkList;
@@ -1807,7 +1971,7 @@
list.Add(ElectricTuyaWeepRobot2);
break;
case BrandType.All3tyBrand:
- list.Add(SenesorMegahealth);//鍏嗚
+ list.Add(SenesorMegahealth2);//鍏嗚
break;
}
return list;
@@ -1939,4 +2103,15 @@
/// </summary>
public string desc = string.Empty;
}
+
+ /// <summary>
+ /// 鎵╁睍淇℃伅璁剧疆
+ /// </summary>
+ public class ExtSet
+ {
+ /// <summary>
+ /// 鏄惁寮�鍚疄楠屽妯″紡
+ /// </summary>
+ public bool labModel = false;
+ }
}
--
Gitblit v1.8.0