From 4820da229822687e472b9d5abb2a09093a877a3a Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 24 九月 2021 13:27:49 +0800
Subject: [PATCH] 更新spk
---
HDL_ON/Entity/FunctionList.cs | 175 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 136 insertions(+), 39 deletions(-)
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 3b7972c..aee9ad3 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -5,6 +5,7 @@
using HDL_ON.Common;
using HDL_ON.DAL;
using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
using Shared;
namespace HDL_ON.Entity
@@ -80,6 +81,17 @@
var spkList = SPK.AirFreshSpkList();
return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
+
+ /// <summary>
+ /// 鑳芥簮鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetEnergyList()
+ {
+ var spkList = SPK.EnergySpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+
#region 瀹剁數鍒楄〃 electricals
/// <summary>
/// 瀹剁數鍒楄〃
@@ -98,15 +110,26 @@
{
return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
}
-
#endregion
+
+ /// <summary>
+ /// 闊充箰鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetMusicList()
+ {
+ var spkList = SPK.MusicSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+
+
/// <summary>
/// 鐜浼犳劅鍣ㄥ垪琛�
/// </summary>
public List<Function> GetEnvirSensorsList()
{
- var spkList = SPK.EnvironSpkList();
- return Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ var spkList = SPK.EnvironDeviceSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
/// <summary>
/// 瀹夐槻璁惧鍒楄〃
@@ -117,7 +140,41 @@
return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
+ /// <summary>
+ /// 鍙瀵硅鍒楄〃,褰撲负null鎴杝ize涓�0鍒欎笉鏄剧ず鍙瀵硅icon
+ /// </summary>
+ // public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom;
+ public List<UI.UI2.FuntionControlView.Video.Video> videoIntercom = new List<UI.UI2.FuntionControlView.Video.Video>();
+
+ List<Function> _OtherBrandFunction;
+ /// <summary>
+ /// 绗笁鏂瑰搧鐗屽姛鑳�
+ /// </summary>
+ public List<Function> OtherBrandFunction
+ {
+ get
+ {
+ if(_OtherBrandFunction == null)
+ {
+ _OtherBrandFunction = new List<Function>();
+ var spkList = SPK.GetAll3tySPK();
+ _OtherBrandFunction = Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+ return _OtherBrandFunction;
+ }
+ }
+
+
+ /// <summary>
+ /// 鍦烘櫙鍒楄〃
+ /// </summary>
public List<Scene> scenes = new List<Scene>();
+
+ /// <summary>
+ /// 瀹夐槻鍒楄〃
+ /// </summary>
+ public List<SecurityAlarm> securities = new List<SecurityAlarm>();
+
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃
@@ -141,19 +198,24 @@
FileUtlis.Files.DeleteFile(filePath);
return;
}
- if (checkRepeat == true)
- {
- //妫�娴嬮噸澶�
- for (int i = 0; i < Functions.Count; i++)
- {
- if (Functions[i].deviceId == tempFunction.deviceId)
- {
- //鍏堢Щ闄ゆ帀鍐嶅姞
- Functions.RemoveAt(i);
- Functions.Add(tempFunction);
- return;
- }
- }
+ //闊充箰閮ㄥ垎瑕佷慨鏀�
+ //if(tempFunction.spk.ToString() == SPK.MusicStandard)
+ //{
+ // UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString));
+ //}
+ if (checkRepeat == true)
+ {
+ //妫�娴嬮噸澶�
+ for (int i = 0; i < Functions.Count; i++)
+ {
+ if (Functions[i].deviceId == tempFunction.deviceId)
+ {
+ //鍏堢Щ闄ゆ帀鍐嶅姞
+ Functions.RemoveAt(i);
+ Functions.Add(tempFunction);
+ return;
+ }
+ }
}
Functions.Add(tempFunction);
}
@@ -163,6 +225,33 @@
var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes);
var tempScene = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(sceneDataString);
List.scenes.Add(tempScene);
+ }
+ else if (filePath.StartsWith("SecurityData_"))
+ {
+ var dataBytes = FileUtlis.Files.ReadFile(filePath);
+ var dataString = System.Text.Encoding.UTF8.GetString(dataBytes);
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
+ if (temp == null)
+ {
+ MainPage.Log("null");
+ FileUtlis.Files.DeleteFile(filePath);
+ return;
+ }
+ if (checkRepeat == true)
+ {
+ //妫�娴嬮噸澶�
+ for (int i = 0; i < securities.Count; i++)
+ {
+ if (securities[i].sid == temp.sid)
+ {
+ //鍏堢Щ闄ゆ帀鍐嶅姞
+ securities.RemoveAt(i);
+ securities.Add(temp);
+ return;
+ }
+ }
+ }
+ securities.Add(temp);
}
}
@@ -204,6 +293,9 @@
return Functions;
}
+
+
+
/// <summary>
/// 娓呯┖璁惧鍔熻兘鍒楄〃
@@ -258,6 +350,7 @@
List.scenes.Remove(scene);
}
}
+
/// <summary>
/// 鍒犻櫎鏈湴鍔熻兘鍙婃枃浠�
/// </summary>
@@ -322,24 +415,18 @@
{
foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl))
{
- switch (function.Spk_Prefix)
- {
- case FunctionCategory.Music:
- case FunctionCategory.DryContact:
- continue;
- }
- DriverLayer.Control.Ins.SendReadCommand(function);
- //switch (function.Spk_Prefix)
- //{
- // case FunctionCategory.Light:
- // case FunctionCategory.Electric:
- // case FunctionCategory.Curtain:
- // case FunctionCategory.AC:
- // case FunctionCategory.FloorHeat:
- // case FunctionCategory.Sensor:
- // DriverLayer.Control.Ins.SendReadCommand(function);
- // break;
- //}
+ Control.Ins.SendReadCommand(function);
+ }
+ if(DB_ResidenceData.Instance.GatewayType == 1)
+ {
+ Dictionary<string, string> pairs = new Dictionary<string, string>();
+ string sendId = Control.Ins.msg_id.ToString();
+ pairs.Add("id", sendId);
+ pairs.Add("time_stamp", Utlis.GetTimestamp());
+ var readSecurityStatusJson = Newtonsoft.Json.JsonConvert.SerializeObject(pairs);
+ var sendBytes = Control.Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadSecurityStatus, readSecurityStatusJson);
+ MainPage.Log($"鏈湴閫氳 璇诲彇瀹夐槻鐘舵��:{readSecurityStatusJson}");
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, sendId);
}
}
else
@@ -375,6 +462,7 @@
})
{ IsBackground = true }.Start();
}
+
#region 鍦烘櫙鐩稿叧
/// <summary>
/// 娣诲姞鍦烘櫙
@@ -386,11 +474,20 @@
var revPack = pm.AddScene(scene);
if (revPack.Code == StateCode.SUCCESS)
{
- var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString());
- tempScene = sceneList.Find((obj) => obj.sid == scene.sid);
- var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene));
- FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd);
- result = tempScene;
+ if (MainPage.NoLoginMode)
+ {
+ var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(scene));
+ FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd);
+ result = scene;
+ }
+ else
+ {
+ var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString());
+ tempScene = sceneList.Find((obj) => obj.sid == scene.sid);
+ var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene));
+ FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd);
+ result = tempScene;
+ }
}
else
{
--
Gitblit v1.8.0