From 0857891207a8fa2fd68cb9f7c9cf544806b46741 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 26 五月 2021 09:38:13 +0800
Subject: [PATCH] 2021-5-26-1
---
HDL_ON/Entity/Function/Function.cs | 411 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 362 insertions(+), 49 deletions(-)
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 8bd7fe7..17bec36 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -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>
@@ -124,8 +140,22 @@
return true;
}
+ /// <summary>
+ /// icon鏂囦欢鍚嶇О
+ /// </summary>
+ public string IconName
+ {
+ get
+ {
+ return spk.Replace(".","");
+ }
+ }
+ /// <summary>
+ /// 鐗堟湰鏁版嵁鍒楄〃
+ /// </summary>
+ public List<VersionInfo> versions = new List<VersionInfo>();
/// <summary>
/// 涓婁竴娆℃墦寮�鐨勪寒搴�
@@ -512,9 +542,7 @@
{
var sendDataObj = new AlinkFunctionStatusObj();
sendDataObj.id = Control.Ins.msg_id.ToString();
- sendDataObj.time_stamp = Control.Ins.Get_TimeStamp();
-
-
+ sendDataObj.time_stamp = Utlis.GetTimestamp();
var acd = new AlinkStatusData();
acd.sid = sid;
foreach (var dic in commandDictionary)
@@ -524,9 +552,7 @@
aca.value = dic.Value;
acd.status.Add(aca);
}
-
sendDataObj.objects.Add(acd);
-
return sendDataObj;
}
/// <summary>
@@ -701,9 +727,22 @@
/// </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鑷姞
@@ -729,7 +768,7 @@
/// <summary>
/// 瀹ゅ唴娓╁害
/// </summary>
- public const string IndoorTemp = "room_temp";
+ public const string RoomTemp = "room_temp";
/// <summary>
/// value
/// </summary>
@@ -799,10 +838,38 @@
/// </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 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>
@@ -852,7 +919,13 @@
{
get
{
- return Convert.ToByte(loopId, 16);
+ try
+ {
+ return Convert.ToByte(loopId, 16);
+ }catch
+ {
+ return 0;
+ }
}
}
@@ -861,6 +934,8 @@
public static class SPK
{
+
+ #region 鐏厜
/// <summary>
/// 锛堝紑鍏崇伅锛�
/// </summary>
@@ -881,6 +956,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>
@@ -897,26 +990,186 @@
/// 锛堝嵎甯橈級
/// </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>
+ /// 鑳芥簮spk鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public static List<string> EnergySpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(EnergyStandard);
+ 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 SensoruUtrasonic = "sensor.ultrasonic";
+ /// <summary>
+ /// 锛堝共鎺ョ偣锛�
+ /// </summary>
+ public const string SensorDryContact = "sensor.dryContact";
+
+ /// <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);
+ return spkList;
+ }
+ #endregion
+
+ #region 鐜浼犳劅鍣�
/// <summary>
/// 锛堟俯搴︿紶鎰熷櫒锛�
/// </summary>
@@ -939,42 +1192,23 @@
public const string SensorHumidity = "sensor.humidity";
/// <summary>
- /// (绾㈠绉诲姩浼犳劅鍣�)
+ /// 鐜浼犳劅鍣╯pk鍒楄〃
/// </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 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);
+ return spkList;
+ }
+ #endregion
+ #endregion
- /// <summary>
- /// 锛堝共鎺ョ偣锛�
- /// </summary>
- public const string SensorDryContact = "sensor.dryContact";
+ #region 瀹剁數
/// <summary>
/// 瀹剁數銆佹彃搴�
/// </summary>
@@ -984,9 +1218,47 @@
/// </summary>
public const string ElectricTV = "electrical.tv";
/// <summary>
+ /// 绾㈠銆佺數瑙�
+ /// </summary>
+ public const string TvIr = "ir.tv";
+ /// <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 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";
+
+ #region 娑傞甫
/// <summary>
/// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒
/// </summary>
@@ -994,7 +1266,7 @@
/// <summary>
/// 瀹剁數銆佹秱楦︾數椋庢墖
/// </summary>
- public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
+ public const string ElectricTuyaFan = "electrical.tyqborgovyzytytz";
/// <summary>
/// 瀹剁數銆佹秱楦︽壂鍦版満鍣ㄤ汉
/// </summary>
@@ -1003,18 +1275,49 @@
/// 瀹剁數銆佹秱楦︽按闃�
/// </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(ElectricFan);
+ spkList.Add(ClothesHanger);
+ spkList.Add(IrLearn);
+ spkList.Add(ElectricTuyaAirCleaner);
+ spkList.Add(ElectricTuyaFan);
+ spkList.Add(ElectricTuyaWeepRobot);
+ spkList.Add(ElectricTuyaWaterValve);
+ return spkList;
+ }
+
+
+ #endregion
+
+ #region 璁惧绫�
/// <summary>
/// 绾㈠瀹�
/// </summary>
public const string IrModule = "ir.module";
+
/// <summary>
- /// 绾㈠绌鸿皟
+ /// 璁惧绫籹pk鍒楄〃
/// </summary>
- public const string IrAC = "ir.ac";
+ /// <returns></returns>
+ public static List<string> DeviceSpkList()
+ {
+ var spkList = new List<string>();
+ spkList.Add(IrModule);
+ return spkList;
+ }
+ #endregion
/// <summary>
@@ -1037,6 +1340,7 @@
}
return list;
}
+
/// <summary>
/// 绗笁鏂瑰搧鐗屽垪琛�
@@ -1096,11 +1400,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