From 47f179be722a61c95cc03c8f90e1aa91c12d1124 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期三, 23 十月 2024 18:49:23 +0800
Subject: [PATCH] UI走查,安卓
---
HDL_ON/Entity/Function/Function.cs | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 205 insertions(+), 20 deletions(-)
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 3973493..13b00c1 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -108,6 +108,7 @@
/// 鑾峰彇灞炴�у綋鍓嶇姸鎬�
/// </summary>
/// <param name="key"></param>
+ /// <param name="defaultValue">榛樿鍊�</param>
/// <returns></returns>
public string GetAttrState(string key, string defaultValue = "0")
{
@@ -120,7 +121,7 @@
if (string.IsNullOrEmpty(attrState.state))
{
//浜岀骇鏌ヨkeyValue鍊�
- return GetOriginalState(key);
+ return GetOriginalState(key, defaultValue);
}
return attrState.state;
}
@@ -130,33 +131,48 @@
/// 榛樿鍊硷細0
/// </summary>
/// <param name="key">璇泙瀹氫箟鐨勫睘鎬у��</param>
+ /// <param name="defaultValue">榛樿鍊�</param>
/// <returns></returns>
- public string GetOriginalState(string key)
+ public string GetOriginalState(string key, string defaultValue)
{
var originalState = status.Find((s) => s.key == key.ToString());
if (originalState == null || string.IsNullOrEmpty(originalState.value))
{
- return "0";
+ return defaultValue;
}
return originalState.value;
}
/// <summary>
/// 璁剧疆灞炴�х姸鎬�
/// </summary>
- /// <param name="key"></param>
- /// <param name="value"></param>
+ /// <param name="setKey"></param>
+ /// <param name="setValues"></param>
/// <returns>淇敼缁撴灉</returns>
- public bool SetAttrState(string key, object value)
+ public bool SetAttrState(string setKey, object setValues)
{
- var attr = attributes.Find((s) => s.key == key);
+ var attr = attributes.Find((s) => s.key == setKey);
if (attr == null)
{
+ switch (setKey)
+ {
+ case FunctionAttributeKey.CoolTemperatrue:
+ case FunctionAttributeKey.HeatTemperatrue:
+ case FunctionAttributeKey.AutoTemperatrue:
+ case FunctionAttributeKey.DehumiTemperatrue:
+ attributes.Add(new FunctionAttributes()
+ {
+ key = setKey,
+ state = setValues.ToString(),
+ curValue = setValues.ToString(),
+ });
+ return true;
+ }
return false;
}
else
{
- attr.state = value.ToString();
- attr.curValue = value.ToString();
+ attr.state = setValues.ToString();
+ attr.curValue = setValues.ToString();
}
return true;
}
@@ -171,6 +187,13 @@
string iconPath = spk.Replace(".", "");
switch (spk)
{
+ case SPK.SensorDryContact2:
+ case SPK.OtherCommon:
+ iconPath = "sensordryContact";
+ break;
+ //case SPK.SensorLight:
+ // iconPath = "lightswitch";
+ // break;
case SPK.AirSwitchP3:
iconPath = "electricalbreaker";
break;
@@ -189,13 +212,13 @@
case SPK.HvacAirFreshJinmao:
iconPath = "airFreshjinmao";
break;
- case SPK.HvacAC:
+ case SPK.HvacAC:case SPK.HvacAcPanel:
iconPath = "acstandard";
break;
case SPK.HvacFan:
iconPath = "electricalfan";
break;
- case SPK.HvacFloorHeat:
+ case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel:
iconPath = "floorHeatstandard";
break;
case SPK.ElectricTuyaFan2:
@@ -287,6 +310,11 @@
/// 璁惧spk
/// </summary>
public string spk = "";
+ /// <summary>
+ /// 鎵╁睍淇℃伅
+ /// 瀛楃涓�
+ /// </summary>
+ public string extend = "";
private string _SpkCategory = string.Empty;
/// <summary>
@@ -449,7 +477,7 @@
public bool online {
get
{
- if (spk == SPK.AirSwitchP3)
+ if (spk == SPK.AirSwitchP3|| spk == SPK.ElectricalTvHisense)
{
return _online;
}
@@ -655,21 +683,30 @@
result = ApiUtlis.Ins.HttpRequest.CancelCollectDevice(deviceId).Code;
}
}
- //鎻愮ず閿欒
if (result != StateCode.SUCCESS)
{
- Application.RunOnMainThread(() =>
+ if (!Common.ApiUtlis.Ins.hadInternet)
{
- collect = !collect;
- IMessageCommon.Current.ShowErrorInfoAlter(result);
- });
- } else
+ this.SaveFunctionFile();
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ collect = !collect;
+ IMessageCommon.Current.ShowErrorInfoAlter(result);
+ });
+ }
+ }
+ else
{
Application.RunOnMainThread(() =>
{
+ this.SaveFunctionFile();
UI.HomePage.RefreshFunctionView();
});
}
+
})
{ IsBackground = true }.Start();
}
@@ -860,6 +897,43 @@
}
}
}
+ else if (spk == SPK.MusicStandard || spk == SPK.AvMusic)
+ {
+ list.Add(new FunctionAttributes
+ {
+ key = FunctionAttributeKey.OnOff,
+ curValue = string.Empty,
+ });
+ list.Add(new FunctionAttributes
+ {
+ key = FunctionAttributeKey.Volume,
+ curValue = string.Empty,
+ });
+ list.Add(new FunctionAttributes
+ {
+ key = FunctionAttributeKey.SongName,
+ curValue = string.Empty,
+ });
+
+ }
+ else if (spk == SPK.ElectricalTvHisense)
+ {
+ list.Add(new FunctionAttributes
+ {
+ key = FunctionAttributeKey.OnOff,
+ curValue = string.Empty,
+ });
+ list.Add(new FunctionAttributes
+ {
+ key = FunctionAttributeKey.SetVolume,
+ curValue = string.Empty,
+ });
+ list.Add(new FunctionAttributes
+ {
+ key = FunctionAttributeKey.Signal,
+ curValue = string.Empty,
+ });
+ }
else
{
list.AddRange(attributes);
@@ -940,6 +1014,10 @@
switch (attr.key)
{
+ case FunctionAttributeKey.SongName:
+ case FunctionAttributeKey.Volume:
+ case FunctionAttributeKey.SetVolume:
+ case FunctionAttributeKey.Signal:
case FunctionAttributeKey.OnOff:
case FunctionAttributeKey.Brightness:
case FunctionAttributeKey.Mode:
@@ -1017,6 +1095,11 @@
/// 鏇存柊鏃堕棿
/// </summary>
public DateTime refreshTime = DateTime.MinValue;
+ /// <summary>
+ /// 鏈�鍚庢洿鏂扮姸鎬佺殑鏃堕棿
+ /// </summary>
+ [Newtonsoft.Json.JsonIgnore]
+ public DateTime updateTime = DateTime.MinValue;
/// <summary>
/// 鑾峰彇鏈湴鎺у埗鏁版嵁
@@ -1225,7 +1308,45 @@
/// </summary>
public static class FunctionAttributeKey
{
+ #region 绌鸿皟bus灞炴��
+ /// <summary>
+ /// 鍒跺喎妯″紡娓╁害
+ /// </summary>
+ public const string CoolTemperatrue = "CoolTemperatrue";
+ /// <summary>
+ /// 鍒剁儹妯″紡娓╁害
+ /// </summary>
+ public const string HeatTemperatrue = "HeatTemperatrue";
+ /// <summary>
+ /// 鑷姩妯″紡娓╁害
+ /// </summary>
+ public const string AutoTemperatrue = "AutoTemperatrue";
+ /// <summary>
+ /// 闄ゆ箍妯″紡娓╁害
+ /// </summary>
+ public const string DehumiTemperatrue = "DehumiTemperatrue";
+ #endregion
+
+ #region 绌鸿皟bus灞炴��
+ /// <summary>
+ /// [4]鏅�氾細璁剧疆娓╁害(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)
+ /// </summary>
+ public const string NormalTemperatrue = "NormalTemperatrue";
+ /// <summary>
+ /// [5]鐧藉ぉ锛氳缃俯搴�(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)
+ /// </summary>
+ public const string DayTemperatrue = "DayTemperatrue";
+ /// <summary>
+ /// [6]澶滄櫄锛氳缃俯搴�(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)
+ /// </summary>
+ public const string NightTemperatrue = "NightTemperatrue";
+ /// <summary>
+ /// [7]绂诲紑锛氳缃俯搴�(鎽勬皬0-100锛屽崕姘�32-212)/鍔熺巼鍊�(0-10) (1byte)
+ /// </summary>
+ public const string AwayTemperatrue = "AwayTemperatrue";
#region 涓夌浉绌哄紑灞炴��
+
+
/// <summary>
/// A鐩稿姛鐜�
/// </summary>
@@ -1295,6 +1416,7 @@
/// </summary>
public const string ElectricityC = "electricity_c";
+ #endregion
#endregion
@@ -1439,7 +1561,12 @@
public const string Temperature = "temperature";
public const string Hcho = "hcho";
public const string Humidity = "humidity";
+ /// <summary>
+ /// 鐓у害
+ /// </summary>
+ public const string Illuminance = "illuminance";
public const string Pm25 = "pm25";
+ public const string Pm10 = "pm10";
public const string Tvoc = "tvoc";
/// <summary>
/// 鐘舵��,浼犳劅鍣�
@@ -1577,6 +1704,32 @@
/// </summary>
public const string TotalElectricity = "total_electricity";
+ /// <summary>
+ /// 娴蜂俊tv闊抽噺
+ /// </summary>
+ public const string SetVolume = "set_volume";
+ /// <summary>
+ /// 娴蜂俊tv淇″彿婧�(0:LiveTV;2:PS;3:HDMI_1;4:HDMI_2;5:HDMI_3;6:HDMI_4;11:AV;)
+ /// </summary>
+ public const string Signal = "signal";
+
+ /// <summary>
+ /// 闊充箰闊抽噺
+ /// </summary>
+ public const string Volume = "volume";
+ /// <summary>
+ /// 姝屾洸鍚�
+ /// </summary>
+ public const string SongName = "song_name";
+ /// <summary>
+ /// 鍒楄〃鍚�
+ /// </summary>
+ public const string PlaylistName = "playlist_name";
+ /// <summary>
+ /// 鎾斁璺緞
+ /// </summary>
+ public const string Url = "url";
+
}
/// <summary>
@@ -1636,6 +1789,16 @@
public static class SPK
{
/// <summary>
+ /// 鏈煡SPK
+ /// (鑷畾涔�)
+ /// </summary>
+ public const string NULL = "NULL";
+ /// <summary>
+ /// 瑗垮ⅷ鍙瀵硅闂ㄥ彛鏈�
+ /// (鑷畾涔�)
+ /// </summary>
+ public const string LinphoneXiMo = "door.gate";
+ /// <summary>
/// 缇ゆ帶锛堣嚜瀹氫箟锛�
/// </summary>
public const string GroupControl = "groupControl";
@@ -1665,6 +1828,16 @@
/// 瀛愭帶
/// </summary>
public const string AcstSub = "acst.sub";
+ /// <summary>
+ /// 鐑按鍣�
+ /// 閲戣寕
+ /// </summary>
+ public const string WaterHeaterJinmao = "electrical.water_heater.jinmao";
+ /// <summary>
+ /// 閫嗗彉鍣�/鏂拌兘婧�
+ /// 閲戣寕
+ /// </summary>
+ public const string InverterJinmao = "energy.inverter.jinmao";
/// <summary>
/// 闂ㄩ攣
@@ -1831,6 +2004,10 @@
/// </summary>
public const string HvacAC = "hvac.ac";
/// <summary>
+ /// 闈㈡澘绌鸿皟
+ /// </summary>
+ public const string HvacAcPanel = "hvac.ac_panel";
+ /// <summary>
/// 姣涚粏绠$┖璋�
/// </summaryc
public const string HvacCac = "hvac.cac";
@@ -1844,6 +2021,7 @@
var spkList = new List<string>();
spkList.Add(AcStandard);
spkList.Add(HvacAC);
+ spkList.Add(HvacAcPanel);
spkList.Add(AcIr);
spkList.Add(HvacCac);
return spkList;
@@ -1859,6 +2037,10 @@
/// 鍦版殩
/// </summary>
public const string HvacFloorHeat = "hvac.floorHeat";
+ /// <summary>
+ /// 闈㈡澘鍦版殩
+ /// </summary>
+ public const string HvacFloorHeatPanel = "hvac.floorHeat_panel";
/// <summary>
/// 鍦扮儹spk鍒楄〃
@@ -1868,7 +2050,7 @@
{
var spkList = new List<string>();
spkList.Add(FloorHeatStandard);
- spkList.Add(HvacFloorHeat);
+ spkList.Add(HvacFloorHeat); spkList.Add(HvacFloorHeatPanel);
return spkList;
}
#endregion
@@ -2125,6 +2307,7 @@
spkList.Add(SensorEnvironment2);
spkList.Add(SensorEnvironment3);
spkList.Add(SensorHcho);
+ spkList.Add(SensorLight);
return spkList;
}
/// <summary>
@@ -2141,6 +2324,7 @@
spkList.Add(SensorTVOC);
spkList.Add(SensorHumidity);
spkList.Add(SensorHcho);
+ spkList.Add(SensorLight);
return spkList;
}
@@ -2154,6 +2338,7 @@
spkList.Add(SensorEnvironment); spkList.Add(SensorEnvironmentHailin);
spkList.Add(SensorEnvironment2);
spkList.Add(SensorEnvironment3);
+
return spkList;
}
@@ -2217,7 +2402,7 @@
/// <summary>
/// 绾㈠鐑按鍣�
/// </summary>
- public const string HeaterIr = " ir.water_heater";
+ public const string HeaterIr = "ir.water_heater";
/// <summary>
/// 绾㈠椋庢墖
/// </summary>
--
Gitblit v1.8.0