From bb4bcd1b320502b36d19aacec52ed886a975249a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 19 七月 2022 11:04:00 +0800
Subject: [PATCH] 1.5.9打包
---
HDL_ON/DAL/DriverLayer/Control.cs | 108 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 93 insertions(+), 15 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 5f9b849..e008c9e 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -280,7 +280,8 @@
}
if (DB_ResidenceData.Instance.GatewayType == 0)
{
- new Control_Udp().ControlBytesSend(Command.ReadGateway, 255, 255, new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) });
+ new Control_Udp().ControlBytesSend(Command.ReadGateway, 255, 255,
+ new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) });
}
else if (DB_ResidenceData.Instance.GatewayType == 1)
{
@@ -655,6 +656,79 @@
}
/// <summary>
+ /// 鍙戦�佽鍙栧懡浠�
+ /// 鑷姩鍒ゆ柇鏄惁涓篈鍗忚璁惧
+ /// </summary>
+ public void SendReadCommand(List<Function> functions, bool forceRemote = false)
+ {
+ List<string> sids = new List<string>();
+ foreach (Function function in functions)
+ {
+ sids.Add(function.sid);
+ function.refreshTime = DateTime.Now;
+ }
+ if (forceRemote)
+ {
+
+ var pm = new DAL.Server.HttpServerRequest();
+ var pack = pm.RefreshDeviceStatus(sids);
+ }
+ else
+ {
+ if (Ins.GatewayOnline_Local)
+ {
+
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ try
+ {
+ var busClient = new Control_Udp();
+ foreach (Function function in functions)
+ {
+ busClient.ReadBusData(function);
+ }
+
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
+ }
+ }
+ else
+ {
+ var objects = new List<Dictionary<string, string>>();
+
+
+ foreach (Function function in functions)
+ {
+ var readKey = new Dictionary<string, string>();
+ readKey.Add("sid", function.sid);
+ objects.Add(readKey);
+ }
+
+
+ var readDataObj = new AlinkReadFunctionStatusObj()
+ {
+ id = Ins.msg_id.ToString(),
+ objects = objects,
+ time_stamp = Utlis.GetTimestamp()
+ };
+ var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
+ var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
+ MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
+ }
+ }
+ else
+ {
+ var pm = new DAL.Server.HttpServerRequest();
+ var pack = pm.RefreshDeviceStatus(sids);
+ }
+ }
+ }
+
+
+ /// <summary>
/// 瀹夐槻鎺у埗
/// </summary>
public void ControlSecurity(SecurityAlarm securityAlarm,string state)
@@ -843,13 +917,16 @@
byte[] bodyBytes = new byte[receiveObj.Length];
Array.Copy(originalReceiveBytes, topicBytes.Length + 4, bodyBytes, 0, receiveObj.Length);
byte[] receiveBytes = Securitys.EncryptionService.AesDecryptPayload(bodyBytes, DB_ResidenceData.Instance.CurrentRegion.localSecret);
- var revString = Encoding.UTF8.GetString(receiveBytes);
- receiveObj.BodyDataString = revString;
- MainPage.Log($"灞�鍩熺綉淇℃伅: 瑙e瘑鍚庯細" + receiveObj.BodyDataString);
- //if (receiveObj.Topic.EndsWith("/thing/property/up"))
- //{
- // MsgInfoList.Add(revString + "\r\n");
- //}
+ if (receiveBytes != null)
+ {
+ var revString = Encoding.UTF8.GetString(receiveBytes);
+ receiveObj.BodyDataString = revString;
+ MainPage.Log($"灞�鍩熺綉淇℃伅: 瑙e瘑鍚庯細" + receiveObj.BodyDataString);
+ //if (receiveObj.Topic.EndsWith("/thing/property/up"))
+ //{
+ // MsgInfoList.Add(revString + "\r\n");
+ //}
+ }
}
else
{
@@ -977,9 +1054,6 @@
}
}
-
-
-
var localFunction = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid);
if (localFunction == null)
{
@@ -1056,6 +1130,14 @@
localFunction.lastState = localFunction.trait_on_off.curValue.ToString() == "on" ? Language.StringByID(StringId.Open) : Language.StringByID(StringId.Close);
CurtainModulePage.UpdataState(localFunction);
break;
+ case SPK.CurtainDream:
+ if(localFunction.GetAttrState(FunctionAttributeKey.Percent) == "0")
+ {
+ localFunction.SetAttrState(FunctionAttributeKey.OnOff, "off");
+ }
+ localFunction.lastState = localFunction.trait_on_off.curValue.ToString() == "on" ? Language.StringByID(StringId.Open) : Language.StringByID(StringId.Close);
+ CurtainDreamPage.UpdataState(localFunction);
+ break;
case SPK.CurtainTrietex:
localFunction.lastState = Language.StringByID(StringId.Open) + localFunction.GetAttrState(FunctionAttributeKey.Percent) + "%";
MotorCurtainPage.UpdataState(localFunction);
@@ -1065,10 +1147,6 @@
RollingShutterPage.UpdataState(localFunction);
break;
case SPK.CurtainShades:
- break;
- case SPK.HvacCac:
- Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
-
break;
case SPK.AcStandard:
case SPK.HvacAC:
--
Gitblit v1.8.0