From 6de7f8a29b04737d80ad8cb17804fcc50d267bd9 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 20 十月 2023 14:21:28 +0800
Subject: [PATCH] 2.3版本
---
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs | 135 +++++++++++++++++++++++++++++---------------
1 files changed, 88 insertions(+), 47 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
index 1c25db0..6a36845 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
using Shared;
namespace HDL_ON.Entity
@@ -10,7 +11,7 @@
{
public GroupControl()
{
- spk = "GroupControl";
+ spk = "groupControl";
}
/// <summary>
/// 缇ゆ帶ID
@@ -25,7 +26,7 @@
/// </summary>
public string NewGroupControlSid()
{
- string sceneId = "";
+ string Id = "";
try
{
string sOidBeginsWith = "000101";//鍘傚晢 + 閫氳鏂瑰紡
@@ -52,23 +53,23 @@
//sTimeSpan = "00000000";
}
- sceneId = sOidBeginsWith + sTimeSpan;
+ Id = sOidBeginsWith + sTimeSpan;
- sceneId += "AA";
- sceneId += "AA01";
+ Id += "AA";
+ Id += "AA01";
int maxId = 1;
Random random = new Random(Guid.NewGuid().GetHashCode());
maxId = random.Next(10);
- sceneId += (maxId + 1).ToString("X4");
- sceneId += "0000";
+ Id += (maxId + 1).ToString("X4");
+ Id += "0000";
}
catch
{
- return sceneId;
+ return Id;
}
- return sceneId;
+ return Id;
}
/// <summary>
/// 缇ゆ帶鍚嶇О
@@ -81,64 +82,78 @@
/// <summary>
/// 鎴块棿uid
/// </summary>
- public List<String> uids = new List<string>();
+ [Newtonsoft.Json.JsonIgnore]
+ public List<string> uids = new List<string>();
//public List<String> roomIds = new List<string>();
/// <summary>
/// 缇ゆ帶鍔熻兘sid閰嶇疆
/// </summary>
public List<GroupControlFunction> sids = new List<GroupControlFunction>();
- ///// <summary>
- ///// 鑾峰彇璁惧娣诲姞鍒版埧闂寸殑鎴块棿鍚嶇О
- ///// </summary>
- ///// <returns></returns>
- //public string GetRoomListName()
- //{
- // string roomNameList = "";
- // foreach (var roomId in roomIds)
- // {
- // var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId);
- // if (findRoom == null)
- // {
- // continue;
- // }
- // if (roomNameList != "")
- // {
- // roomNameList += ",";
- // }
- // roomNameList += findRoom.floorName + "-" + findRoom.roomName;
- // }
- // if (roomNameList == "")
- // {
- // roomNameList = Language.StringByID(StringId.WholeZone);
- // }
- // return roomNameList;
- //}
+ /// <summary>
+ /// 鑾峰彇璁惧娣诲姞鍒版埧闂寸殑鎴块棿鍚嶇О
+ /// </summary>
+ /// <returns></returns>
+ public string GetUidListName()
+ {
+ string roomNameList = "";
+ foreach (var roomId in uids)
+ {
+ var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId);
+ if (findRoom == null)
+ {
+ continue;
+ }
+ if (roomNameList != "")
+ {
+ roomNameList += ",";
+ }
+ roomNameList += findRoom.floorName + "-" + findRoom.roomName;
+ }
+ if (roomNameList == "")
+ {
+ roomNameList = Language.StringByID(StringId.WholeZone);
+ }
+ return roomNameList;
+ }
/// <summary>
/// 缇ゆ帶鎺у埗
/// </summary>
/// <param name="pairs"></param>
- public void Control(Dictionary<string,object> pairs)
+ public void Control(Dictionary<string,string> pairs)
{
try
{
- var controlValues = new Dictionary<string, object>();
- foreach(var p in pairs)
+
+ if (DriverLayer.Control.Ins.GatewayOnline_Local)
{
- controlValues.Add("key", p.Key);
- controlValues.Add("value", p.Value);
+ var functionControlDataObj = GetGatewayAlinkControlData(pairs);
+ var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
+ var sendBytes = DriverLayer.Control.Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlGroupControlTopic, functionControlDataJson);
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, 3);
+ MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
}
- var pack = ApiUtlis.Ins.HttpRequest.ControlGroupControl(userDeviceGroupControlId, controlValues);
- if (pack != null)
+ else
{
- if (pack.Code == StateCode.SUCCESS)
+
+ var controlValues = new Dictionary<string, object>();
+ foreach (var p in pairs)
{
- //DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl.
+ controlValues.Add("key", p.Key);
+ controlValues.Add("value", p.Value);
}
- else
+ var pack = ApiUtlis.Ins.HttpRequest.ControlGroupControl(userDeviceGroupControlId, controlValues);
+ if (pack != null)
{
- MainPage.Log($"缇ゆ帶鎺у埗澶辫触,Code: {pack.Code}");
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ //DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl.
+ }
+ else
+ {
+ MainPage.Log($"缇ゆ帶鎺у埗澶辫触,Code: {pack.Code}");
+ }
}
}
}
@@ -146,6 +161,32 @@
MainPage.Log($"缇ゆ帶鎺у埗澶辫触: {ex.Message}");
}
}
+
+
+ public new List<FunctionAttributes> attributes {
+ get
+ {
+ var list = new List<FunctionAttributes>();
+
+ foreach (var temp in sids)
+ {
+ var light = FunctionList.List.GetLightList().Find((obj) => obj.sid == temp.sid);
+ if (light != null)
+ {
+ foreach(var attr in light.attributes)
+ {
+ if(list.Find((obj)=>obj.key == attr.key) == null)
+ {
+ list.Add(attr);
+ }
+ }
+ }
+
+ }
+
+ return list;
+ }
+ }
}
public class GroupControlFunction
--
Gitblit v1.8.0