From 34e965100d635346e2d4cd6e6013bdaed66b3004 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:52:13 +0800
Subject: [PATCH] 2019.1.2-3
---
ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs | 33 +++++++++++++++++++++++++--------
1 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
index f4c69b6..fd5ef37 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs
@@ -22,6 +22,10 @@
/// 鏂板彂鐜扮殑缃戝叧閫氱煡
/// </summary>
public static Action<ZigBee.Device.ZbGateway> NewGateWayAction;
+ /// <summary>
+ /// 涓婁竴娆$殑浣忓畢ID
+ /// </summary>
+ private static string oldHomeID = string.Empty;
public static void Init()
{
@@ -35,7 +39,6 @@
{
var gateWayList = new List<ZbGateway> { };
var searchCount = 6;
- var oldHomeID = string.Empty;
var broadBytes = new byte[44];// byteHomeId[0] ,//H
broadBytes[0] = 0xfe;
broadBytes[1] = 0x29;
@@ -50,7 +53,9 @@
try
{
if (string.IsNullOrEmpty(Shared.Common.Config.Instance.HomeId))
- {
+ {
+ //浣忓畢ID涓虹┖鍙湁涓�绉嶅彲鑳藉氨鏄��鍑轰簡鐧诲綍锛岃繖閲岀殑涓婁竴娆′綇瀹匢D瑕佹竻绌�
+ oldHomeID = "?";
System.Threading.Thread.Sleep(1000);
continue;
}
@@ -65,7 +70,7 @@
//鏈�鍚庡啀鏂紑mqtt杩炴帴
for (int i = 0; i < list.Count; i++)
{
- list[i].DisConnect("1");
+ list[i].DisConnectLocalMqttClient("1");
}
list.Clear();
oldHomeID = Shared.Common.Config.Instance.HomeId;
@@ -111,6 +116,10 @@
else
{
ZbGateway.IsRemote = true;
+ for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
+ {
+ ZbGateway.GateWayList[i].DisConnectLocalMqttClient("1");
+ }
}
searchCount--;
@@ -208,8 +217,8 @@
var gateWay = ZbGateway.GateWayList.Find(obj => obj.getGatewayBaseInfo != null && obj.getGatewayBaseInfo.gwID == zbGateWay.getGatewayBaseInfo.gwID);
if (gateWay == null)
{
- await zbGateWay.StartLocalMqtt(ipAddress);
ZbGateway.GateWayList.Add(zbGateWay);
+ await zbGateWay.StartLocalMqtt(ipAddress);
NewGateWayAction?.Invoke(zbGateWay);
}
else
@@ -219,11 +228,11 @@
gateWay.GatewayOnlineFlage = true;
if (gateWay.getGatewayBaseInfo.IpAddress != ipAddress)
{
- gateWay.DisConnect("2");
+ await gateWay.DisConnectLocalMqttClient("2");
ZbGateway.GateWayList.Remove(gateWay);
gateWay = zbGateWay;
- await zbGateWay.StartLocalMqtt(ipAddress);
ZbGateway.GateWayList.Add(gateWay);
+ await zbGateWay.StartLocalMqtt(ipAddress);
}
else
{
@@ -270,13 +279,13 @@
try
{
//瀹氭椂妫�娴嬭繙绋嬭繛鎺ユ儏鍐�
- await ZbGateway.StartCloudMqtt();
+ await ZbGateway.StartRemoteMqtt();
if (!ZbGateway.IsRemote)
{
System.Threading.Thread.Sleep(500);
continue;
}
- var gateWayList =ZbGateway.GateWayList.FindAll(obj => obj.getGatewayBaseInfo.HomeId == Shared.Common.Config.Instance.HomeId);
+ var gateWayList = ZbGateway.GateWayList.FindAll(obj => obj.getGatewayBaseInfo.HomeId == Shared.Common.Config.Instance.HomeId);
if (gateWayList.Count == 1)
{
@@ -320,6 +329,14 @@
{ IsBackground = true }.Start();
}
+ /// <summary>
+ /// 閲嶆柊鎼滅储,娉ㄦ剰锛氳皟鐢ㄨ鏂规硶,鍒欎績浣垮叏閮ㄧ綉鍏崇殑mqtt鍏ㄩ儴鏂紑,鐒跺悗閲嶆柊鎼滅储(鍙兘浼氭湁1绉掑欢杩�)
+ /// </summary>
+ public static void ReSearch()
+ {
+ //涓轰簡閭d箞澶氬皯涓囧垎涔嬩竴鐨勫嚑鐜�,杩欓噷璁剧疆鎴愬埆鐨勫彟涓�绫荤殑鍊�
+ oldHomeID = "**";
+ }
/// <summary>
/// 鎺ユ敹澶勭悊UDP鏁版嵁鍖�
--
Gitblit v1.8.0