From af9c3e0b3b1eb370e966b3ca9db3f62848d4189b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 21 八月 2021 13:03:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/newBranch1' into WJC
---
HDL_ON/DAL/DriverLayer/Control.cs | 84 ++++++++++++++++++++++++++++++++++++-----
1 files changed, 73 insertions(+), 11 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 0724f2b..b72b210 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -26,7 +26,6 @@
public class Control
{
-
static Control _control;
public static Control Ins
{
@@ -323,6 +322,15 @@
}
}
}
+ /// <summary>
+ /// 瀹夐槻鎺у埗
+ /// </summary>
+ public void ControlArm()
+ {
+ DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest();
+ //var pack = httpServer.GetSecurityAlarmLogList
+ }
+
/// <summary>
/// 鍙戦�佸懡浠�
@@ -357,15 +365,6 @@
commandDictionary[FunctionAttributeKey.Brightness] = "0";
}
}
- }
- }
- //Bug淇锛氫竴绔彛杩滅▼鎺у埗璋冨厜璁惧鐨勮皟鍏夊睘鎬ф椂锛屾棤娉曟帶鍒跺埌0锛屽弽澶嶆í璺炽��
- //鍥犱负On + 杩滅▼鎺у埗鍙戦�佺粰浜戠浣跨敤鐨勬槸link鍗忚鏁版嵁锛屾潹娑涗腑杞粰楂樿儨澶勭悊鏃跺�欓�昏緫涓婃湁鍐茬獊锛屽鑷存棤娉曞崟鐙帶鍒朵寒搴﹀�硷紝闇�瑕佸悓鏃跺彂閫佸紑鍏冲�间笌浜害鍊笺��
- if (DB_ResidenceData.Instance.GatewayType == 0)
- {
- if(commandDictionary.Count == 1 && commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
- {
- commandDictionary.Add(FunctionAttributeKey.OnOff, commandDictionary[FunctionAttributeKey.Brightness] == "0" ? "off" : "on");
}
}
@@ -443,6 +442,25 @@
//杩滅▼閫氳
else
{
+ //Bug淇锛氫竴绔彛杩滅▼鎺у埗璋冨厜璁惧鐨勮皟鍏夊睘鎬ф椂锛屾棤娉曟帶鍒跺埌0锛屽弽澶嶆í璺炽��
+ //鍥犱负On + 杩滅▼鎺у埗鍙戦�佺粰浜戠浣跨敤鐨勬槸link鍗忚鏁版嵁锛屾潹娑涗腑杞粰楂樿儨澶勭悊鏃跺�欓�昏緫涓婃湁鍐茬獊锛屽鑷存棤娉曞崟鐙帶鍒朵寒搴﹀�硷紝闇�瑕佸悓鏃跺彂閫佸紑鍏冲�间笌浜害鍊笺��
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ if (commandDictionary.Count == 1)
+ {
+ if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
+ {
+ commandDictionary.Add(FunctionAttributeKey.OnOff, commandDictionary[FunctionAttributeKey.Brightness] == "0" ? "off" : "on");
+ }
+ }
+ if(function.spk == SPK.LightCCT)
+ {
+ if (!commandDictionary.ContainsKey(FunctionAttributeKey.CCT))
+ {
+ commandDictionary.Add(FunctionAttributeKey.CCT, function.GetAttrState(FunctionAttributeKey.CCT));
+ }
+ }
+ }
DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest();
//ALink鎺у埗銆丅us鎺у埗浣跨敤鍚屼竴涓帴鍙f帶鍒讹紝鐢变簯绔礋璐hВ鏋�
var apiControlData = function.GetApiControlData(commandDictionary);
@@ -604,6 +622,39 @@
}
/// <summary>
+ /// 瀹夐槻鎺у埗
+ /// </summary>
+ public void ControlSecurity(SecurityAlarm securityAlarm,string state)
+ {
+ if (!Ins.GatewayOnline_Local)//缃戝叧鏈湴涓嶅湪绾�
+ {
+ var pm = new DAL.Server.HttpServerRequest();
+ var result = pm.SetSecurityStatus(new List<SecurityState>() { new SecurityState() {
+ gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId,
+ sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId
+ } });
+ }
+ else
+ {
+ Dictionary<string, string> keys = new Dictionary<string, string>();
+ keys.Add("sid", securityAlarm.sid);
+ keys.Add("status", state);
+ var aLinkData = new AlinkReadFunctionStatusObj()
+ {
+ id = Ins.msg_id.ToString(),
+ objects = new List<Dictionary<string, string>>()
+ {
+ keys
+ },
+ time_stamp = Utlis.GetTimestamp()
+ };
+ var aLinkJson = Newtonsoft.Json.JsonConvert.SerializeObject(aLinkData);
+ var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlSeurity, aLinkJson);
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, aLinkData.id);
+ }
+ }
+
+ /// <summary>
/// a鍗忚鎺у埗鍦烘櫙
/// </summary>
/// <param name="scene"></param>
@@ -695,8 +746,9 @@
//}
receiveObj.BodyDataString = res[1];
- if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply)
+ if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply || receiveObj.Topic == CommunicationTopic.GatewayBroadcast)
{
+
var bodyJObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]);
if (bodyJObj == null)
{
@@ -726,6 +778,14 @@
{
//TODO 鏆傛椂涓嶄紶姝g‘鐨勬暟鎹笂鍘伙紝濡傛灉鍚庨潰瑕佷紭鍖栧墠闈㈣繖浜涗唬鐮�
UpdataFunctionStatus(receiveObj.BodyDataString, null);
+ }
+ else if (receiveObj.Topic == CommunicationTopic.ct.ControlSeurity +"_reply")
+ {
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(receiveObj.BodyDataString);
+ if (temp != null)
+ {
+ Control_Udp.ReceiveRepeatManager(temp.id, null);
+ }
}
else
{
@@ -912,6 +972,8 @@
EnvironmentalPage.LoadEvent_UpdataStatus(localFunction);
break;
case SPK.SensorEnvironment:
+ case SPK.SensorEnvironment2:
+ case SPK.SensorEnvironment3:
if (localFunction.GetAttributes().Contains(FunctionAttributeKey.Temperature))
{
HomePage.LoadEvent_RefreshEnvirIndoorTemp();
--
Gitblit v1.8.0