From c8c33200e43f05136eca9fc8ff4942f8def31cc6 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 18 八月 2021 10:45:40 +0800
Subject: [PATCH] 2021-08-18 1.完善Android对接LinphoneSDK 2.完善SIP相关接口对接
---
HDL_ON/Entity/Function/Function.cs | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 207 insertions(+), 18 deletions(-)
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 177d948..b9e3102 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;
@@ -126,7 +126,6 @@
/// <returns>淇敼缁撴灉</returns>
public bool SetAttrState(string key, object value)
{
- //var attrState = status.Find((s) => s.key == key.ToString());
var attr = attributes.Find((s) => s.key == key);
if (attr == null)
{
@@ -173,7 +172,7 @@
#endregion
- #region base info
+ #region base info
public string sid = "0301011234567801012301230123";
/// <summary>
/// 澶囨敞
@@ -282,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>
/// 浣跨敤娆℃暟
@@ -508,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";
}
@@ -517,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
@@ -639,7 +675,7 @@
public List<AttributesStatus> status = new List<AttributesStatus>();
}
/// <summary>
- /// a鍗忚鎺у埗鍔ㄤ綔鏁版嵁
+ /// 鍔熻兘灞炴�х姸鎬�
/// </summary>
public class AttributesStatus
{
@@ -691,6 +727,7 @@
/// </summary>
public object curValue = new object();
}
+
/// <summary>
/// 鍔熻兘灞炴�ч敭鍚嶅垪琛�
/// </summary>
@@ -717,6 +754,10 @@
/// 妯″紡
/// </summary>
public const string Mode = "mode";
+ /// <summary>
+ /// 鎵
+ /// </summary>
+ public const string Swing = "swing";
/// <summary>
/// 宸ヤ綔妯″紡
/// 鍦扮儹/鍦板喎/鍔熺巼鍦扮儹/鍔熺巼鍦板喎
@@ -748,6 +789,7 @@
/// 绌鸿皟銆佸湴鐑�//app鑷姞
/// </summary>
public const string TempType = "temperature_type";
+
/// <summary>
/// 鏃堕棿鏍囪
/// 鍦扮儹//app鑷姞
@@ -768,7 +810,7 @@
/// <summary>
/// 瀹ゅ唴娓╁害
/// </summary>
- public const string IndoorTemp = "room_temp";
+ public const string RoomTemp = "room_temp";
/// <summary>
/// value
/// </summary>
@@ -777,6 +819,10 @@
/// 鐘舵��,浼犳劅鍣�
/// </summary>
public const string Status = "status";
+ /// <summary>
+ /// 姣背娉紶鎰熷櫒锛屽姩浣滅姸鎬�
+ /// </summary>
+ public const string ActionStatus = "action_state";
/// <summary>
/// 鐢甸噺鐘舵��
/// </summary>
@@ -838,7 +884,7 @@
/// </summary>
public const string AnionTimeLeft = "anion_time_surplus";
/// <summary>
- /// 鎵撳紑鐧昏(椋庢墖)
+ /// 鎵撳紑绛夌骇(椋庢墖)
/// </summary>
public const string OpenLevel = "openLevel";
/// <summary>
@@ -846,6 +892,34 @@
/// </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>
@@ -853,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";
}
@@ -895,7 +977,13 @@
{
get
{
- return Convert.ToByte(loopId, 16);
+ try
+ {
+ return Convert.ToByte(loopId, 16);
+ }catch
+ {
+ return 0;
+ }
}
}
@@ -904,6 +992,8 @@
public static class SPK
{
+
+
#region 鐏厜
/// <summary>
@@ -1022,6 +1112,10 @@
/// 锛堟柊椋庯級
/// </summary>
public const string AirFreshStandard = "airFresh.standard";
+ /// <summary>
+ /// 鏂伴 鈥斺�旈噾鑼傚畾鍒�
+ /// </summary>
+ public const string AirFreshJinmao = "airFresh.jinmao";
/// <summary>
/// 鏂伴spk鍒楄〃
@@ -1031,6 +1125,29 @@
{
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
@@ -1090,12 +1207,15 @@
/// <summary>
/// 瓒呭0娉紶鎰熷櫒
/// </summary>
- public const string SensoruUtrasonic = "sensor.ultrasonic";
+ 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>
@@ -1103,16 +1223,17 @@
public static List<string> ArmSensorSpkList()
{
var spkList = new List<string>();
- spkList.Add(SensorLight);
+ //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(SensorGas);
+ //spkList.Add(SensorShanLan);
+ //spkList.Add(SensorDuiShe);
+ //spkList.Add(SensoruUtrasonic);
+ //spkList.Add(SensorDryContact);
+ spkList.Add(SenesorMegahealth);
return spkList;
}
#endregion
@@ -1138,6 +1259,13 @@
/// 婀垮害浼犳劅鍣�
/// </summary>
public const string SensorHumidity = "sensor.humidity";
+ /// <summary>
+ /// 鐜浼犳劅鍣�
+ /// 鐜妫�娴嬩紶鎰熷櫒
+ /// 鐗规畩绫籹pk
+ /// 璇pk鍔熻兘鏄幆澧冧紶鎰熷櫒鍔熻兘鐨勯泦鎴�
+ /// </summary>
+ public const string SensorEnvironment = "sensor.environment";
/// <summary>
/// 鐜浼犳劅鍣╯pk鍒楄〃
@@ -1151,6 +1279,7 @@
spkList.Add(SensorCO2);
spkList.Add(SensorTVOC);
spkList.Add(SensorHumidity);
+ spkList.Add(SensorEnvironment);
return spkList;
}
#endregion
@@ -1170,6 +1299,10 @@
/// </summary>
public const string TvIr = "ir.tv";
/// <summary>
+ /// 绾㈠銆佸皬绫崇數瑙�
+ /// </summary>
+ public const string TvXmIr = "ir.tvxm";
+ /// <summary>
/// 瀹剁數銆侀鎵�
/// </summary>
public const string ElectricFan = "electrical.fan";
@@ -1181,6 +1314,31 @@
/// 绾㈠閬ユ帶鍣�
/// </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";
+
#region 娑傞甫
/// <summary>
/// 瀹剁數銆佹秱楦︾┖姘斿噣鍖栧櫒
@@ -1211,9 +1369,13 @@
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);
@@ -1242,7 +1404,21 @@
}
#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>
@@ -1253,17 +1429,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>
/// 绗笁鏂瑰搧鐗屽垪琛�
@@ -1273,6 +1458,10 @@
All = 0,
Hdl = 1,
Tuya = 2,
+ /// <summary>
+ /// 鍏嗚
+ /// </summary>
+ Megahealth = 3,
All3tyBrand = 999,
--
Gitblit v1.8.0