From 0bd4d1702248641f180345a086e5b3f58e6eb04c Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 15 十二月 2020 17:13:23 +0800
Subject: [PATCH] 2020-12-15 1.更新
---
HDL_ON/DAL/DriverLayer/Control.cs | 72 +++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 96a1719..33a81c0 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -183,18 +183,18 @@
/// </summary>
public void SearchLoaclGateway()
{
- OpenUdp(DB_ResidenceData.residenceData.GatewayType == 0 ? 6000 : 8585);
+ OpenUdp(DB_ResidenceData.Instance.GatewayType == 0 ? 6000 : 8585);
new System.Threading.Thread(() =>
{
for (int i = 0; i < 5; i++)
{
if (GatewayOnline)
break;
- if (DB_ResidenceData.residenceData.GatewayType == 0)
+ if (DB_ResidenceData.Instance.GatewayType == 0)
{
myUdp.ControlBytesSend(Command.ReadGateway, 255, 255, new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) });
}
- else if (DB_ResidenceData.residenceData.GatewayType == 1)
+ else if (DB_ResidenceData.Instance.GatewayType == 1)
{
myUdp.SearchLocalGateway();
}
@@ -214,13 +214,16 @@
/// </summary>
public void ControlScene(Scene scene)
{
- if(myUdp!=null)
- {
- myUdp.ControlBusScenes(scene);
- }
- if(myTcpClient!= null)
+ if (Ins.IsRemote || DB_ResidenceData.Instance.GatewayType == 1)
{
ControlAProtocolScene(scene);
+ }
+ else
+ {
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ myUdp.ControlBusScenes(scene);
+ }
}
}
@@ -245,13 +248,13 @@
var actionObjs = new List<ApiAlinkControlActionObj>();
actionObjs.Add(apiControlData);
var pack = httpServer.ControlDevice(actionObjs);
- MainPage.Log($"{pack.Code}:{pack.Data}");
+ //MainPage.Log($"{pack.Code}:{pack.Data}");
}
//鏈湴閫氳
else
{
//Bus鎺у埗
- if (DB_ResidenceData.residenceData.GatewayType == 0)
+ if (DB_ResidenceData.Instance.GatewayType == 0)
{
try
{
@@ -273,7 +276,7 @@
var functionControlDataObj = function.GetGatewayAlinkControlData(commandDictionary);
var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
- myUdp.SendLocalHdlLinkData(sendBytes);
+ Ins.myUdp.SendLocalHdlLinkData(sendBytes);
}
}
}
@@ -299,7 +302,7 @@
}
else
{
- if (DB_ResidenceData.residenceData.GatewayType == 0)
+ if (DB_ResidenceData.Instance.GatewayType == 0)
{
try
{
@@ -347,15 +350,33 @@
//}
/// <summary>
- /// 鎺у埗a鍗忚鍦烘櫙
+ /// a鍗忚鎺у埗鍦烘櫙
/// </summary>
/// <param name="scene"></param>
static void ControlAProtocolScene(Scene scene)
{
- var sendSidObj = new AProtocolSendingObject();
- sendSidObj.time_stamp = "";
- sendSidObj.type = "device_sid";
- sendSidObj.command = "get_list_response";
+ if (Ins.IsRemote)
+ {
+ var pm = new HDL_ON.DAL.Server.HttpServerRequest();
+ pm.ExecuteScene(scene.userSceneId);
+ }
+ else
+ {
+ Dictionary<string, string> keys = new Dictionary<string, string>();
+ keys.Add("sid", scene.userSceneId);
+ 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.ControlScene, aLinkJson);
+ Ins.myUdp.SendLocalHdlLinkData(sendBytes);
+ }
}
/// <summary>
/// 杞崲閫氳鏁版嵁
@@ -394,7 +415,7 @@
if (res.Length == 2)
{
var topics = res[0].Split("\r\n");
- MainPage.Log(res[1]);
+ //MainPage.Log(res[1]);
foreach (var ts in topics)
{
var key = ts.Split(":");
@@ -424,7 +445,7 @@
if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply)
{
var device = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceModule>(bodyJObj.objects.ToString());
- if (device.device_mac == DB_ResidenceData.residenceData.residenceGatewayMAC)
+ if (device.device_mac == DB_ResidenceData.Instance.residenceGatewayMAC)
{
Ins.GatewayOnline = true;
if(!string.IsNullOrEmpty( device.gatewayId))
@@ -464,7 +485,7 @@
{
try
{
- bool hadChange = false;//鐘舵�佹湁鍙樺寲鍐嶆洿鏂扮晫闈�
+ //bool hadChange = false;//鐘舵�佹湁鍙樺寲鍐嶆洿鏂扮晫闈�
var updataObj = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid);
if (updataObj != null)
{
@@ -479,14 +500,15 @@
continue;
}
locatAttr.curValue = attr.value;
- hadChange = true;
+ //hadChange = true;
}
}
}
- if (!hadChange)//鐘舵�佹湁鍙樺寲鍐嶆洿鏂扮晫闈�
- {
- continue;
- }
+ //2020-12-13 濡傛灉鎺у埗鏃讹紝绔嬪嵆鏇存柊鐣岄潰鍗崇姸鎬侊紝鏀跺埌鏁版嵁涓嶇敤鍦ㄥ鐞嗭紝鐩墠鍙慨鏀硅澶囩姸鎬侊紝鐣岄潰娌℃湁鏇存柊锛岃繕鏄渶瑕佹帴鏀舵暟鎹洿鏂�
+ //if (!hadChange)//鐘舵�佹湁鍙樺寲鍐嶆洿鏂扮晫闈�
+ //{
+ // continue;
+ //}
//鏇存柊鐣岄潰鐘舵��
switch (updataObj.spk)
{
--
Gitblit v1.8.0