From 4c0b2ce14b299b3409dfee230a052979c2844de4 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 01 九月 2021 15:17:14 +0800
Subject: [PATCH] Merge branch 'WJC' into wxr7
---
HDL_ON/Entity/Function/Function.cs | 716 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 614 insertions(+), 102 deletions(-)
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 35e790f..143cc90 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1,4 +1,4 @@
-锘縰sing System;
+using System;
using System.Collections.Generic;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
@@ -65,6 +65,22 @@
#region 浼樺寲鍖哄煙 2021-02-25
/// <summary>
+ /// 鏇存柊鐨勬渶鍚庢椂闂�
+ /// </summary>
+ public string time_stamp = "1615261019796";
+
+ public string GeteTime()
+ {
+ try
+ {
+ DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯
+ return startTime.AddMilliseconds(Convert.ToDouble(time_stamp)).ToString("s");
+ }
+ catch {
+ return DateTime.MinValue.ToString("s");
+ }
+ }
+ /// <summary>
/// 鑾峰彇灞炴�у垪琛�
/// </summary>
/// <returns></returns>
@@ -79,7 +95,7 @@
return attrs;
}
/// <summary>
- /// 鑾峰彇鍒跺畾灞炴��
+ /// 鑾峰彇鎸囧畾灞炴��
/// </summary>
/// <returns></returns>
public FunctionAttributes GetAttribute(string key)
@@ -89,18 +105,18 @@
}
/// <summary>
- /// 鑾峰彇灞炴�х姸鎬�
+ /// 鑾峰彇灞炴�у綋鍓嶇姸鎬�
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string GetAttrState(string key)
{
- var attrState = status.Find((s) => s.key == key.ToString());
- if(attrState == null)
+ var attrState = attributes.Find((s) => s.key == key.ToString());
+ if (attrState == null || string.IsNullOrEmpty(attrState.state))
{
- return "";
+ return "0";
}
- return attrState.value;
+ return attrState.state;
}
/// <summary>
/// 璁剧疆灞炴�х姸鎬�
@@ -108,46 +124,55 @@
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns>淇敼缁撴灉</returns>
- public bool SetAttrState(string key, string value)
+ public bool SetAttrState(string key, object value)
{
- var attrState = status.Find((s) => s.key == key.ToString());
- if (attrState == null)
+ var attr = attributes.Find((s) => s.key == key);
+ if (attr == null)
{
return false;
}
else
{
- attrState.value = value;
+ attr.state = value.ToString();
+ attr.curValue = value.ToString();
}
return true;
}
+ /// <summary>
+ /// icon鏂囦欢鍚嶇О
+ /// </summary>
+ public string IconName
+ {
+ get
+ {
+ return spk.Replace(".","");
+ }
+ }
+
+
+ /// <summary>
+ /// 鐗堟湰鏁版嵁鍒楄〃
+ /// </summary>
+ public List<VersionInfo> versions = new List<VersionInfo>();
+
+ /// <summary>
+ /// 涓婁竴娆℃墦寮�鐨勪寒搴�
+ /// 鐏厜绉佹湁灞炴��
+ /// </summary>
+ [Newtonsoft.Json.JsonIgnore]
+ public int lastBrightness = 100;
+
+ /// <summary>
+ /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴�
+ /// 鍦扮儹绉佹湁灞炴��
+ /// </summary>
+ [Newtonsoft.Json.JsonIgnore]
+ public Dictionary<string, byte> Fh_Mode_Temp = new Dictionary<string, byte>();
#endregion
- #region base info
- /// <summary>
- /// HDL缁熶竴鍗忚鏍煎紡锛�14bytes
- /// 涓句緥锛� 鏉ユ簮 鍘傚晢浠g爜 閫氳鏂瑰紡 浜у搧鏃堕棿鎴� 浜у搧绫诲埆 鐗╂ā鍨嬬被 閫氶亾鍙� 澶у皬绫诲埆
- /// 1byte 1byte 1byte 4byte 1byte 2byte 2byte 2byte
- /// 鏉ユ簮锛�00 榛樿鍘熺敓鎬佺郴缁熸暟鎹� 銆�01 缃戝叧鎴栬�呭叾浠朅璁惧銆�02 璋冭瘯杞欢銆�03 APP搴旂敤绋嬪簭銆�04 绗笁鏂圭綉鍏虫垨鑰呭钩鍙�
- /// 鍘傚晢浠g爜锛�01 HDL
- /// 閫氳鏂瑰紡锛�01 HDL Bus銆�02 Zigbee銆�03 KNX銆�04 Z-Wave
- /// 浜у搧鏃堕棿鎴筹細4bytes 浠�2020骞�1鏈�1鏃ョ畻鍑虹殑鏃堕棿鎴�0.1s涓哄崟浣�
- /// 浜у搧绫诲埆锛�01 璋冨厜鍣ㄣ��02 缁х數鍣ㄣ��03 骞叉帴鐐规ā鍧椼��04 浼犳劅鍣ㄣ��05 闈㈡澘
- /// 鐗╂ā鍨嬬被鍨嬶細
- /// 01 寮�鍏崇被锛�01 寮�鍏炽��02 鎻掑骇銆�03
- /// 02 鐓ф槑锛� 01 寮�鍏炽��02 璋冨厜銆�03 鑹叉俯銆�04 LED
- /// 03 閬槼锛� 01 绐楀笜鐢垫満銆�02 鐧惧彾绐椼��03 寮�鍚堝笜銆�04 鍗峰笜
- /// 04 鎭掓俯鍣細01 绌鸿皟銆�02 鍦版殩銆�03 姣涚粏绌鸿皟
- /// 05 鏂伴
- /// 06 褰遍煶
- /// 07 闊充箰
- /// 08 鑳芥簮
- /// 09 瀹夐槻
- /// 澶х被鍒� 1bytes 锛堥鐣欙級
- /// 灏忕被鍒� 1byte 锛堥鐣欙級
- /// </summary> 鈥�0001021599F98A04050300010000鈥�
+ #region base info
public string sid = "0301011234567801012301230123";
/// <summary>
/// 澶囨敞
@@ -187,23 +212,6 @@
/// attri
/// </summary>
public List<FunctionAttributes> attributes = new List<FunctionAttributes>();
- /// <summary>
- /// 鍔熻兘鐘舵�佸垪琛�
- /// </summary>
- public List<AttributesStatus> status = new List<AttributesStatus>();
- /// <summary>
- /// 鑾峰彇鐘舵�佸��
- /// </summary>
- /// <returns></returns>
- public string GetStatusValus(string key)
- {
- var d = status.Find((obj) => obj.key == key);
- if(d==null)
- {
- return null;
- }
- return d.value;
- }
/// <summary>
/// 鎴块棿ID鍒楄〃
@@ -273,6 +281,21 @@
return _trait_on_off;
}
}
+ /// <summary>
+ /// 鍔熻兘鐨勫睘鎬х姸鎬佸垪琛�
+ /// </summary>
+ public List<AttributesStatus> status = new List<AttributesStatus>();
+ /// <summary>
+ /// 閫氳繃鐘舵�佸垪琛ㄧ粍瑁呭睘鎬ч噷闈㈢殑鐘舵��
+ /// </summary>
+ public void AssembleStatus()
+ {
+ foreach (var sta in status)
+ {
+ SetAttrState(sta.key, sta.value);
+ }
+ }
+
/// <summary>
/// 浣跨敤娆℃暟
@@ -299,7 +322,6 @@
public void CollectFunction()
{
var result = "";
- //var waitPage = new Loading();
new System.Threading.Thread(() =>
{
@@ -318,6 +340,12 @@
{
collect = !collect;
IMessageCommon.Current.ShowErrorInfoAlter(result);
+ });
+ }else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ UI.HomePage.RefreshFunctionView();
});
}
})
@@ -494,7 +522,25 @@
{
attr.curValue = "off";
}
- else
+ else if (attr.key == FunctionAttributeKey.Mode )
+ {
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ attr.curValue = "0";
+ }
+ else
+ {
+ if (SPK.AcSpkList().Contains(spk))
+ {
+ attr.curValue = "cool";
+ }
+ else if (SPK.FhSpkList().Contains(spk))
+ {
+ attr.curValue = "day";
+ }
+ }
+ }
+ else
{
attr.curValue = "0";
}
@@ -503,6 +549,10 @@
{
double vv = 16;
Double.TryParse(attr.curValue.ToString(), out vv);
+ if (vv == 0)
+ {
+ vv = 26;
+ }
sFunc.status.Add(new SceneFunctionStatus() { key = attr.key, value = Convert.ToInt32(vv).ToString() });
}
else
@@ -528,10 +578,8 @@
{
var sendDataObj = new AlinkFunctionStatusObj();
sendDataObj.id = Control.Ins.msg_id.ToString();
- sendDataObj.time_stamp = Control.Ins.Get_TimeStamp();
-
-
- var acd = new AlinkControlData();
+ sendDataObj.time_stamp = Utlis.GetTimestamp();
+ var acd = new AlinkStatusData();
acd.sid = sid;
foreach (var dic in commandDictionary)
{
@@ -540,9 +588,7 @@
aca.value = dic.Value;
acd.status.Add(aca);
}
-
sendDataObj.objects.Add(acd);
-
return sendDataObj;
}
/// <summary>
@@ -593,7 +639,7 @@
/// </summary>
public class AlinkFunctionStatusObj
{
- public List<AlinkControlData> objects = new List<AlinkControlData>();
+ public List<AlinkStatusData> objects = new List<AlinkStatusData>();
public string time_stamp = "";
public string id = "";
@@ -609,15 +655,27 @@
public string time_stamp = "";
}
/// <summary>
- /// A鍗忚鎺у埗鏁版嵁
+ /// A鍗忚鐘舵�佹暟鎹�
/// </summary>
- public class AlinkControlData
+ public class AlinkStatusData
{
+ /*
+ mqtt鎺ユ敹鐨勭姸鎬佹暟鎹病鏈塪eviceId
+ 鎺ュ彛鍙嶉鐨勬暟鎹湁
+ */
+ /// <summary>
+ ///
+ /// </summary>
public string sid = "";
+ /// <summary>
+ /// 璁惧ID
+ /// 浜戠璐熻矗鐢熸垚
+ /// </summary>
+ public string deviceId = "0";
public List<AttributesStatus> status = new List<AttributesStatus>();
}
/// <summary>
- /// a鍗忚鎺у埗鍔ㄤ綔鏁版嵁
+ /// 鍔熻兘灞炴�х姸鎬�
/// </summary>
public class AttributesStatus
{
@@ -661,10 +719,15 @@
/// </summary>
public string data_type = "";
/// <summary>
+ /// 褰撳墠鐘舵��
+ /// </summary>
+ public string state = "";
+ /// <summary>
/// 褰撳墠鍊�
/// </summary>
public object curValue = new object();
}
+
/// <summary>
/// 鍔熻兘灞炴�ч敭鍚嶅垪琛�
/// </summary>
@@ -692,13 +755,46 @@
/// </summary>
public const string Mode = "mode";
/// <summary>
+ /// 鎵
+ /// </summary>
+ public const string Swing = "swing";
+ /// <summary>
+ /// 宸ヤ綔妯″紡
+ /// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎
+ /// </summary>
+ public const string WorkMode = "mode_work";
+ /// <summary>
/// 椋庨��
/// </summary>
public const string FanSpeed = "fan";
/// <summary>
+ /// 鎵嬪姩椋庡悜
+ /// </summary>
+ public const string FanManual = "fan_manual";
+ /// <summary>
+ /// 鑷姩椋庡悜
+ /// </summary>
+ public const string FanAuto = "fan_auto";
+
+ /// <summary>
/// 璁剧疆娓╁害
/// </summary>
public const string SetTemp = "set_temp";
+ /// <summary>
+ /// 娓╁害鍔犲噺
+ /// </summary>
+ public const string SetTempStep = "set_temp_step";
+ /// <summary>
+ /// 娓╁害妯″紡
+ /// 绌鸿皟銆佸湴鐑�//app鑷姞
+ /// </summary>
+ public const string TempType = "temperature_type";
+
+ /// <summary>
+ /// 鏃堕棿鏍囪
+ /// 鍦扮儹//app鑷姞
+ /// </summary>
+ public const string TimeFlag = "time_flag";
/// <summary>
/// 寤舵椂
/// </summary>
@@ -714,7 +810,7 @@
/// <summary>
/// 瀹ゅ唴娓╁害
/// </summary>
- public const string IndoorTemp = "room_temp";
+ public const string RoomTemp = "room_temp";
/// <summary>
/// value
/// </summary>
@@ -723,6 +819,10 @@
/// 鐘舵��,浼犳劅鍣�
/// </summary>
public const string Status = "status";
+ /// <summary>
+ /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬�
+ /// </summary>
+ public const string ActionStatus = "action_state";
/// <summary>
/// 鐢甸噺鐘舵��
/// </summary>
@@ -771,8 +871,55 @@
/// 娑堟瘨鍓╀綑鏃堕棿
/// </summary>
public const string DisinfectTimeLeft = "disinfect_time_surplus";
+ /// <summary>
+ /// 璐熺瀛�
+ /// </summary>
+ public const string Anion = "anion";
+ /// <summary>
+ /// 璐熺瀛愭椂闂�
+ /// </summary>
+ public const string AnionTime = "anion_time";
+ /// <summary>
+ /// 璐熺瀛愬墿浣欐椂闂�
+ /// </summary>
+ public const string AnionTimeLeft = "anion_time_surplus";
+ /// <summary>
+ /// 鎵撳紑绛夌骇(椋庢墖)
+ /// </summary>
+ public const string OpenLevel = "openLevel";
+ /// <summary>
+ /// 绾㈠鎸夐敭
+ /// </summary>
+ public const string Key = "key";
-
+ /// <summary>
+ /// 鑺傝兘
+ /// </summary>
+ public const string Energy = "energy";
+ /// <summary>
+ /// 婀垮害
+ /// </summary>
+ public const string Humidity = "humidity";
+ /// <summary>
+ /// 娓╁害
+ /// </summary>
+ public const string Temperature = "temperature";
+ /// <summary>
+ /// 瀹ゅ唴娓╁害
+ /// </summary>
+ public const string IndoorTemp = "indoor_temp";
+ /// <summary>
+ /// 瀹ゅ唴婀垮害
+ /// </summary>
+ public const string IndoorHumidity = "indoor_humidity";
+ /// <summary>
+ /// 杩囨护缃戝墿浣欓噺
+ /// </summary>
+ public const string FilterRemain = "filter_remain";
+ /// <summary>
+ /// 杩囨护缃戞槸鍚﹁秴鏃惰鍛�
+ /// </summary>
+ public const string FilterTimeout = "filter_timeout";
#region tuya
/// <summary>
@@ -780,6 +927,14 @@
/// </summary>
public const string TuyaWaterTime = "countdown_1";
#endregion
+ /// <summary>
+ /// 鍔熺巼
+ /// </summary>
+ public const string Power = "power";
+ /// <summary>
+ /// 鎬荤數閲�
+ /// </summary>
+ public const string TotalElectricity = "total_electricity";
}
@@ -822,7 +977,13 @@
{
get
{
- return Convert.ToByte(loopId, 16);
+ try
+ {
+ return Convert.ToByte(loopId, 16);
+ }catch
+ {
+ return 0;
+ }
}
}
@@ -831,6 +992,10 @@
public static class SPK
{
+
+
+
+ #region 鐏厜
/// <summary>
/// 锛堝紑鍏崇伅锛�
/// </summary>
@@ -851,6 +1016,24 @@
/// 锛圕CT鐏級
/// </summary>
public const string LightCCT = "light.cct";
+
+ /// <summary>
+ /// 鐏厜spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> LightSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(LightCCT);
+ spkList.Add(LightDimming);
+ spkList.Add(LightRGB);
+ spkList.Add(LightRGBW);
+ spkList.Add(LightSwitch);
+ return spkList;
+ }
+ #endregion
+
+ #region 绐楀笜
/// <summary>
/// 锛堝紑鍏崇獥甯橈級
/// </summary>
@@ -867,26 +1050,195 @@
/// 锛堝嵎甯橈級
/// </summary>
public const string CurtainRoller = "curtain.roller";
+
+ /// <summary>
+ /// 绐楀笜spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> CurtainSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(CurtainRoller);
+ spkList.Add(CurtainSwitch);
+ spkList.Add(CurtainShades);
+ spkList.Add(CurtainTrietex);
+ return spkList;
+ }
+ #endregion
+
+ #region 绌鸿皟
/// <summary>
/// 锛堢┖璋冿級
/// </summary>
public const string AcStandard = "ac.standard";
/// <summary>
+ /// 锛堢孩澶栫┖璋冿級
+ /// </summary>
+ public const string AcIr= "ir.ac";
+
+ /// <summary>
+ /// 绌鸿皟spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> AcSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(AcStandard);
+ spkList.Add(AcIr);
+ return spkList;
+ }
+ #endregion
+
+ #region 鍦扮儹
+ /// <summary>
/// 锛堝湴鐑級
/// </summary>
public const string FloorHeatStandard = "floorHeat.standard";
+
+ /// <summary>
+ /// 鍦扮儹spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> FhSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(FloorHeatStandard);
+ return spkList;
+ }
+ #endregion
+
+ #region 鏂伴
/// <summary>
/// 锛堟柊椋庯級
/// </summary>
public const string AirFreshStandard = "airFresh.standard";
/// <summary>
+ /// 鏂伴 鈥斺�旈噾鑼傚畾鍒�
+ /// </summary>
+ public const string AirFreshJinmao = "airFresh.jinmao";
+
+ /// <summary>
+ /// 鏂伴spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> AirFreshSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(AirFreshStandard);
+ spkList.Add(AirFreshJinmao);
+ return spkList;
+ }
+ #endregion
+
+ #region 鑳芥簮
+ /// <summary>
+ /// 鑳芥簮妯″潡
+ /// </summary>
+ public const string EnergyStandard = "energy.standard";
+
+ /// <summary>
+ /// 鑳芥簮-鐢佃兘
+ /// </summary>
+ public const string ElectricEnergy = "energy.electric";
+ /// <summary>
+ /// 鑳芥簮spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> EnergySpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(ElectricEnergy);
+ return spkList;
+ }
+ #endregion
+
+ #region 闊充箰
+ /// <summary>
/// 锛堥煶涔愶級
/// </summary>
public const string MusicStandard = "music.standard";
+
+ /// <summary>
+ /// 闊充箰spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> MusicSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(MusicStandard);
+ return spkList;
+ }
+ #endregion
+
+ #region 浼犳劅鍣�
+ #region 瀹夐槻浼犳劅鍣�
/// <summary>
/// 锛堜寒搴︿紶鎰熷櫒锛�
/// </summary>
public const string SensorLight = "sensor.light";
+ /// <summary>
+ /// (绾㈠绉诲姩浼犳劅鍣�)
+ /// </summary>
+ public const string SensorPir = "sensor.pir";
+ /// <summary>
+ /// 锛堥棬绐椾紶鎰熷櫒锛�
+ /// </summary>
+ public const string SensorDoorWindow = "sensor.doorwindow";
+ /// <summary>
+ /// 鐑熼浘浼犳劅鍣�
+ /// </summary>
+ public const string SensorSmoke = "sensor.smoke";
+ /// <summary>
+ /// 姘存蹈浼犳劅鍣�
+ /// </summary>
+ public const string SensorWater = "sensor.water";
+ /// <summary>
+ /// 鐕冩皵浼犳劅鍣�
+ /// </summary>
+ public const string SensorGas = "sensor.gas";
+ /// <summary>
+ /// 绾㈠鐝婃爮浼犳劅鍣�
+ /// </summary>
+ public const string SensorShanLan = "sensor.shanlan";
+ /// <summary>
+ /// 绾㈠瀵瑰皠浼犳劅鍣�
+ /// </summary>
+ public const string SensorDuiShe = "sensor.duishe";
+ /// <summary>
+ /// 瓒呭0娉紶鎰熷櫒
+ /// </summary>
+ public const string SensorUtrasonic = "sensor.ultrasonic";
+ /// <summary>
+ /// 锛堝共鎺ョ偣锛�
+ /// </summary>
+ public const string SensorDryContact = "sensor.dryContact";
+ /// <summary>
+ /// 姣背娉紶鎰熷櫒
+ /// </summary>
+ public const string SenesorMegahealth = "sensor.megahealth";
+ /// <summary>
+ /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> ArmSensorSpkList()
+ {
+ var spkList = new List<string>();
+ //spkList.Add(SensorLight);
+ spkList.Add(SensorPir);
+ spkList.Add(SensorDoorWindow);
+ spkList.Add(SensorSmoke);
+ spkList.Add(SensorWater);
+ spkList.Add(SensorGas);
+ //spkList.Add(SensorShanLan);
+ //spkList.Add(SensorDuiShe);
+ //spkList.Add(SensoruUtrasonic);
+ //spkList.Add(SensorDryContact);
+ spkList.Add(SenesorMegahealth);
+ return spkList;
+ }
+ #endregion
+
+ #region 鐜浼犳劅鍣�
/// <summary>
/// 锛堟俯搴︿紶鎰熷櫒锛�
/// </summary>
@@ -907,44 +1259,77 @@
/// 婀垮害浼犳劅鍣�
/// </summary>
public const string SensorHumidity = "sensor.humidity";
+ /// <summary>
+ /// 鐜浼犳劅鍣�
+ /// 鐜妫�娴嬩紶鎰熷櫒
+ /// 鐗规畩绫籹pk
+ /// 璇pk鍔熻兘鏄幆澧冧紶鎰熷櫒鍔熻兘鐨勯泦鎴�
+ /// </summary>
+ public const string SensorEnvironment = "sensor.environment";
+ /// <summary>
+ /// 闈掕悕鐜浼犳劅鍣�
+ /// </summary>
+ public const string SensorEnvironment2 = "sensor.environment2";
+ /// <summary>
+ /// 闈掕悕鐜浼犳劅鍣�
+ /// </summary>
+ public const string SensorEnvironment3 = "sensor.environment3";
+ /// <summary>
+ /// 鐢查啗
+ /// </summary>
+ public const string SensorHcho = "sensor.hcho";
/// <summary>
- /// (绾㈠绉诲姩浼犳劅鍣�)
+ /// 鐜浼犳劅鍣ㄨ澶噑pk鍒楄〃
/// </summary>
- public const string SensorPir = "sensor.pir";
+ /// <returns></returns>
+ public static List<string> EnvironDeviceSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(SensorTemperature);
+ spkList.Add(SensorPm25);
+ spkList.Add(SensorCO2);
+ spkList.Add(SensorTVOC);
+ spkList.Add(SensorHumidity);
+ spkList.Add(SensorEnvironment);
+ spkList.Add(SensorEnvironment2);
+ spkList.Add(SensorEnvironment3);
+ spkList.Add(SensorHcho);
+ return spkList;
+ }
/// <summary>
- /// 锛堥棬绐椾紶鎰熷櫒锛�
+ /// 鐜浼犳劅鍣╯pk鍒楄〃
/// </summary>
- public const string SensorDoorWindow = "sensor.doorwindow";
- /// <summary>
- /// 鐑熼浘浼犳劅鍣�
- /// </summary>
- public const string SensorSmoke = "sensor.smoke";
- /// <summary>
- /// 姘存蹈浼犳劅鍣�
- /// </summary>
- public const string SensorWater = "sensor.water";
- /// <summary>
- /// 鐕冩皵浼犳劅鍣�
- /// </summary>
- public const string SensorGas= "sensor.gas";
- /// <summary>
- /// 绾㈠鐝婃爮浼犳劅鍣�
- /// </summary>
- public const string SensorShanLan = "sensor.shanlan";
- /// <summary>
- /// 绾㈠瀵瑰皠浼犳劅鍣�
- /// </summary>
- public const string SensorDuiShe = "sensor.duishe";
- /// <summary>
- /// 瓒呭0娉紶鎰熷櫒
- /// </summary>
- public const string SensoruUtrasonic = "sensor.ultrasonic";
+ /// <returns></returns>
+ public static List<string> EnvironSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(SensorTemperature);
+ spkList.Add(SensorPm25);
+ spkList.Add(SensorCO2);
+ spkList.Add(SensorTVOC);
+ spkList.Add(SensorHumidity);
+ spkList.Add(SensorHcho);
+ return spkList;
+ }
/// <summary>
- /// 锛堝共鎺ョ偣锛�
+ /// 鐜浼犳劅鍣ㄨ澶囧垪琛�
/// </summary>
- public const string SensorDryContact = "sensor.dryContact";
+ /// <returns></returns>
+ public static List<string> EvironmentSensorList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(SensorEnvironment);
+ spkList.Add(SensorEnvironment2);
+ spkList.Add(SensorEnvironment3);
+ return spkList;
+ }
+
+ #endregion
+ #endregion
+
+ #region 瀹剁數
/// <summary>
/// 瀹剁數銆佹彃搴�
/// </summary>
@@ -954,9 +1339,55 @@
/// </summary>
public const string ElectricTV = "electrical.tv";
/// <summary>
+ /// 绾㈠銆佺數瑙�
+ /// </summary>
+ public const string TvIr = "ir.tv";
+ /// <summary>
+ /// 绾㈠銆佸皬绫崇數瑙�
+ /// </summary>
+ public const string TvXmIr = "ir.tvxm";
+ /// <summary>
/// 瀹剁數銆侀鎵�
/// </summary>
- public const string ElectricFan = "electrical.fan";
+ public const string ElectricFan = "electrical.fan";
+ /// <summary>
+ /// 鍑夐湼
+ /// </summary>
+ public const string ClothesHanger = "electrical.racks";
+ /// <summary>
+ /// 绾㈠閬ユ帶鍣�
+ /// </summary>
+ public const string IrLearn = "ir.learn";
+ /// <summary>
+ /// 绾㈠鎶曞奖浠�
+ /// </summary>
+ public const string PjtIr = "ir.pjt";
+ /// <summary>
+ /// 绾㈠鏈洪《鐩�
+ /// </summary>
+ public const string StbIr = "ir.stb";
+ /// <summary>
+ /// 绾㈠褰辩鏈�
+ /// </summary>
+ public const string DvDIr = "ir.dvd";
+ /// <summary>
+ /// 绾㈠绌烘皵鍑�鍖栧櫒
+ /// </summary>
+ public const string PurifierIr = "ir.air_purifier";
+ /// <summary>
+ /// 绾㈠鐑按鍣�
+ /// </summary>
+ public const string HeaterIr = " ir.water_heater";
+ /// <summary>
+ /// 绾㈠椋庢墖
+ /// </summary>
+ public const string FanIr = "ir.fan";
+ /// <summary>
+ /// 鏅鸿兘绌哄紑
+ /// </summary>
+ public const string AirSwitch = "electrical.breaker";
+
+ #region 娑傞甫
/// <summary>
/// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒
/// </summary>
@@ -964,7 +1395,7 @@
/// <summary>
/// 瀹剁數銆佹秱楦︾數椋庢墖
/// </summary>
- public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
+ public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
/// <summary>
/// 瀹剁數銆佹秱楦︽壂鍦版満鍣ㄤ汉
/// </summary>
@@ -973,12 +1404,70 @@
/// 瀹剁數銆佹秱楦︽按闃�
/// </summary>
public const string ElectricTuyaWaterValve = "electrical.koiGhMKwLf2ZP81g";
+ #endregion
+
+
/// <summary>
- /// 鍑夐湼
+ /// 瀹剁數spk鍒楄〃
/// </summary>
- public const string ClothesHanger = "electrical.racks";
+ /// <returns></returns>
+ public static List<string> ElectricalSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(ElectricSocket);
+ spkList.Add(ElectricTV);
+ spkList.Add(TvIr);
+ spkList.Add(TvXmIr);
+ spkList.Add(ElectricFan);
+ spkList.Add(FanIr);
+ spkList.Add(ClothesHanger);
+ spkList.Add(IrLearn);
+ spkList.Add(PjtIr);
+ spkList.Add(StbIr);
+ spkList.Add(ElectricTuyaAirCleaner);
+ spkList.Add(ElectricTuyaFan);
+ spkList.Add(ElectricTuyaWeepRobot);
+ spkList.Add(ElectricTuyaWaterValve);
+ spkList.Add(AirSwitch);
+ return spkList;
+ }
+ #endregion
+
+ #region 璁惧绫�
+ /// <summary>
+ /// 绾㈠瀹�
+ /// </summary>
+ public const string IrModule = "ir.module";
+
+ /// <summary>
+ /// 璁惧绫籹pk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> DeviceSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(IrModule);
+ return spkList;
+ }
+ #endregion
+
+ #region 绗笁鏂箂pk鍒楄〃
+ /// <summary>
+ /// 鑾峰彇鎵�鏈夌涓夋柟鍝佺墝鍔熻兘鐨剆pk
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> GetAll3tySPK()
+ {
+ var spkList = new List<string>();
+ spkList.Add(ElectricTuyaAirCleaner);
+ spkList.Add(ElectricTuyaFan);
+ spkList.Add(ElectricTuyaWaterValve);
+ spkList.Add(ElectricTuyaWeepRobot);
+ spkList.Add(SenesorMegahealth);
+ return spkList;
+ }
/// <summary>
/// 鑾峰彇绗笁鏂硅澶噑pk
/// </summary>
@@ -989,16 +1478,26 @@
switch (brandType)
{
- case BrandType.All3tyBrand:
case BrandType.Tuya:
list.Add(ElectricTuyaAirCleaner);
list.Add(ElectricTuyaFan);
list.Add(ElectricTuyaWaterValve);
list.Add(ElectricTuyaWeepRobot);
break;
+ case BrandType.All3tyBrand:
+ list.Add(SenesorMegahealth);//鍏嗚
+ break;
}
return list;
}
+ #endregion
+
+ /// <summary>
+ /// 娌℃湁鐘舵�佹樉绀虹殑鍔熻兘spk鍒楄〃
+ /// </summary>
+ public static List<string> NotStatusSpkList = new List<string> {
+ ElectricTV, FanIr, TvIr, TvXmIr, StbIr, PjtIr, IrLearn
+ };
/// <summary>
/// 绗笁鏂瑰搧鐗屽垪琛�
@@ -1008,6 +1507,10 @@
All = 0,
Hdl = 1,
Tuya = 2,
+ /// <summary>
+ /// 鍏嗚
+ /// </summary>
+ Megahealth = 3,
All3tyBrand = 999,
@@ -1058,11 +1561,20 @@
/// 瀹剁數
/// </summary>
public const string Electric = "electrical";
+ /// <summary>
+ /// 绾㈠璁惧
+ /// </summary>
+ public const string IR = "ir";
- //Music = 0x09,
+
}
+public class VersionInfo
+{
+ public string module = "";
+ public string version = "";
+}
}
--
Gitblit v1.8.0