From 2e74672eff6b971bd15b4783d43cc5c1c680d3ee Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 14 九月 2023 11:21:50 +0800
Subject: [PATCH] 删除离线状态
---
OnPro/HDL_ON/DAL/DriverLayer/Control.cs | 455 --------------------------------------------------------
1 files changed, 6 insertions(+), 449 deletions(-)
diff --git a/OnPro/HDL_ON/DAL/DriverLayer/Control.cs b/OnPro/HDL_ON/DAL/DriverLayer/Control.cs
index e4cebab..cde3133 100644
--- a/OnPro/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/OnPro/HDL_ON/DAL/DriverLayer/Control.cs
@@ -261,6 +261,7 @@
/// </summary>
public void OpenTcpClent()
{
+ return;
if (myTcpClient == null)
{
myTcpClient = new Control_TcpClient(reportIp);
@@ -311,8 +312,6 @@
}
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) });
}
else if (DB_ResidenceData.Instance.GatewayType == 1)
{
@@ -329,57 +328,6 @@
private System.Threading.Thread loginGatewayThread;
-
- /// <summary>
- /// 鐧诲綍缃戝叧
- /// </summary>
- public void LoginGateway()
- {
- return;//tcp鎺у埗瀛樺湪闂锛屼絾鏄厛涓嶇敤tcp鎺у埗浜嗭紝瑕佺粡杩囨祴璇曞厛 2023-07-29 10:14:32
- if (loginGatewayThread == null)
- {
- loginGatewayThread = new System.Threading.Thread(() =>
- {
- while (!Ins.myTcpClient.isConnected)
- {
- if (Ins.GatewayOnline_Local && myTcpClient.isConnected)
- {
- var sendData = new { clientType = "app", version = "1.0" };
- var sendJob = new { id = Control.Ins.msg_id.ToString(), time_stamp = Utlis.GetTimestamp(), objects = sendData };
-
- var bodyString = JsonConvert.SerializeObject(sendJob);
-
- var sendBytes = ConvertSendBodyData($"/user/{GatewayId}/custom/gateway/login", bodyString);
-
- Ins.myTcpClient.SendMessage(sendBytes);
- }
- System.Threading.Thread.Sleep(2000);
- }
- //loginGatewayThread?.Abort();
- //loginGatewayThread = null;
-
- });
- loginGatewayThread.Start();
- }
- else
- {
- try
- {
- loginGatewayThread?.Abort();
- }
- catch (Exception ex)
- {
- MainPage.Log($"閲嶅惎鐧诲綍缃戝叧绾跨▼寮傚父:{ex.Message}");
- }
- finally
- {
- loginGatewayThread = null;
- LoginGateway();
- }
- }
-
- }
-
/// <summary>
/// 鍦烘櫙鎺у埗鍏ュ彛
@@ -422,7 +370,6 @@
{
if (DB_ResidenceData.Instance.GatewayType == 0)
{
- new Control_Udp().ControlBusScenes(scene);
}
}
}
@@ -484,21 +431,6 @@
return true;
}
- //MainPage.Log($"鍙戦�佹暟鎹�:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
-
- ///绗笁鏂规秱楦﹁澶囩粺涓�浣跨敤杩滅▼鎺у埗
- switch (function.spk)
- {
- case SPK.ElectricTuyaAirCleaner:
- case SPK.ElectricTuyaAirCleaner2:
- case SPK.ElectricTuyaFan:
- case SPK.ElectricTuyaFan2:
- case SPK.ElectricTuyaWaterValve:
- case SPK.ElectricTuyaWeepRobot:
- case SPK.ElectricTuyaWeepRobot2:
- useRemote = true;
- break;
- }
//杩滅▼閫氳 --娑傞甫璁惧蹇呴』闇�瑕佽繙绋�
if (useRemote == true)
@@ -515,28 +447,12 @@
//鏈湴閫氳
if (Ins.GatewayOnline_Local)
{
- //Bus鎺у埗
- if (DB_ResidenceData.Instance.GatewayType == 0)
- {
- try
- {
- new Control_Udp().WriteBusData(function, commandDictionary);
- }
- catch (Exception ex)
- {
- MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
- }
- }
- //ALink鎺у埗
- else
- {
var functionControlDataObj = function.GetGatewayAlinkControlData(commandDictionary);
var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, resend);
MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
- Ins.myTcpClient.SendMessage(sendBytes);
- }
+ //Ins.myTcpClient.SendMessage(sendBytes);
}
//杩滅▼閫氳
else
@@ -587,13 +503,6 @@
{
Dictionary<string, string> d1 = new Dictionary<string, string>();
d1.Add(FunctionAttributeKey.OnOff, open ? "on" : "off");
- if (function.spk == SPK.PanelSocket)
- {
- if (function.attributes.Find((obj) => obj.key == "on_off_usb") != null)
- {
- d1.Add("on_off_usb", function.trait_on_off.curValue.ToString());
- }
- }
SendWriteCommand(function, d1);
System.Threading.Thread.Sleep(100);
}
@@ -646,35 +555,6 @@
var pack = pm.RefreshDeviceStatus(functionIds);
}
/// <summary>
- /// 璇诲彇鍔熻兘璇︾粏鏁版嵁
- /// </summary>
- /// <param name="functionIds"></param>
- public void ReadFunctionsInfo(List<string> functionIds)
- {
- var pm = new DAL.Server.HttpServerRequest();
- var pack = pm.GetDeviceInfoList(functionIds);
- if (pack != null && pack.Data != null)
- {
- //寰呮祴璇�2021-03-04
- var ddd = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AlinkStatusData>>(pack.Data.ToString());
- if (ddd != null)
- {
- foreach (var function in ddd)
- {
- var temp = FunctionList.List.GetDeviceFunctionList().Find((obj) => obj.deviceId == function.deviceId);
- if (temp != null)
- {
- if (SPK.Get3tySpk(SPK.BrandType.Tuya).Contains(temp.spk))
- {
- Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(temp.sid, function.status);
- }
- }
- }
- }
- }
- }
-
- /// <summary>
/// 鍙戦�佽鍙栧懡浠�
/// 鑷姩鍒ゆ柇鏄惁涓篈鍗忚璁惧
/// </summary>
@@ -693,14 +573,6 @@
if (DB_ResidenceData.Instance.GatewayType == 0)
{
- try
- {
- new Control_Udp().ReadBusData(function);
- }
- catch (Exception ex)
- {
- MainPage.Log($"鍙戦�佹暟鎹紓甯�: {ex.Message}");
- }
}
else
{
@@ -755,19 +627,6 @@
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
{
@@ -802,41 +661,6 @@
}
}
-
- /// <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
- } });
- MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}");
- }
- else
- {
- Dictionary<string, string> keys = new Dictionary<string, string>();
- keys.Add("sid", securityAlarm.sid);
- keys.Add("status", state);
- keys.Add("alarm", securityAlarm.alarm.ToString());
- 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鍗忚鎺у埗鍦烘櫙
@@ -1011,9 +835,9 @@
if (receiveObj.Topic == CommunicationTopic.ct.HeartBeat + "_reply")
{
- Ins.myTcpClient.ClearHeartBeatLog();
- MainPage.Log("tcp蹇冭烦鍥炲");
- return null;
+ //Ins.myTcpClient.ClearHeartBeatLog();
+ //MainPage.Log("tcp蹇冭烦鍥炲");
+ //return null;
}
//2021-09-23 杩囨护涓嶉渶瑕佽В瀵嗙殑涓婚 鐩墠鎼滅储缃戝叧涓婚涓嶅姞瀵�
@@ -1078,7 +902,7 @@
if (receiveObj.Topic == CommunicationTopic.SearchLoaclGatewayReply || receiveObj.Topic == CommunicationTopic.GatewayBroadcast)
{
- var bodyJObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(res[1]);
+ var bodyJObj = JsonConvert.DeserializeObject<ResponsePack>(res[1]);
if (bodyJObj == null)
{
return receiveObj;
@@ -1105,9 +929,6 @@
reportIp = device.ip_address;//涓绘挱鍦板潃涔熻兘鎺у埗璁惧//"239.0.168.188";//
//2021-09-23 鏂板鑾峰彇褰撳墠缃戝叧鏄惁鏈湴鍔犲瘑
Ins.IsLocalEncrypt = device.isLocalEncrypt;
- //MainPage.Log("缃戝叧鏈湴鍔犲瘑鐘舵�侊細" + device.local_encrypt.ToString());
- //鐧诲綍缃戝叧Tcp
- OpenTcpClent();
}
@@ -1120,39 +941,6 @@
{
//TODO 鏆傛椂涓嶄紶姝g‘鐨勬暟鎹笂鍘伙紝濡傛灉鍚庨潰瑕佷紭鍖栧墠闈㈣繖浜涗唬鐮�
UpdataFunctionStatus(receiveObj.BodyDataString, null);
- }
- else if (receiveObj.Topic == CommunicationTopic.ct.ControlSeurity + "_reply"
- || receiveObj.Topic == CommunicationTopic.ct.ReadSecurityStatus + "_reply"
- || receiveObj.Topic == CommunicationTopic.ct.SecurityStatusUp)
- {
- try
- {
- MainPage.Log($"灞�鍩熺綉瀹夐槻淇℃伅: {receiveObj.Topic} : 鍐呭: {res[1]}");
- var tt = "";
- lock (tt)
- {
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityStatusObj>(receiveObj.BodyDataString);
- if (temp != null)
- {
- Control_Udp.ReceiveRepeatManager(temp.id, null);
- foreach (var updataSecurity in temp.objects)
- {
- var updataLocalSecurity = FunctionList.List.securities.Find((obj) => obj.sid == updataSecurity.sid);
- if (updataLocalSecurity != null)
- {
- updataLocalSecurity.status = updataSecurity.status;
- updataLocalSecurity.alarm = updataSecurity.alarm;
- ArmCenterPage.LoadEvent_RefreshSecurityStatus(updataLocalSecurity);
- }
- }
- HomePage.LoadEvent_RefreshSecurityStatus();
- }
- }
- }
- catch (Exception ex)
- {
- MainPage.Log($"瀹夐槻灞�鍩熺綉寮傚父锛歿ex.Message}");
- }
}
else if (receiveObj.Topic == $"/user/{GatewayId}/custom/gateway/login_reply")
{
@@ -1207,58 +995,6 @@
}
-
- /// <summary>
- /// 鏇存柊缇ゆ帶璁惧鐘舵��
- /// A鍗忚鏁版嵁
- /// </summary>
- public void UpdataGroupControlStatus(string revString, byte[] usefulBytes, bool isCloudData = false)
- {
- var temp = JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString);
- if (temp != null)
- {
- Control_Udp.ReceiveRepeatManager(temp.id, usefulBytes);
- var allLocalFuntion = FunctionList.List.groupControls;
- foreach (var updateTemp in temp.objects)
- {
- try
- {
- var localFunction = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid);
- if (localFunction == null)
- {
- continue;
- }
- MainPage.Log($"鏀跺埌鏁版嵁:{revString}");
- foreach (var attr in updateTemp.status)
- {
- localFunction.time_stamp = temp.time_stamp;
- localFunction.SetAttrState(attr.key, attr.value);
-
- }
-
- //鏇存柊鐣岄潰鐘舵��
- switch (localFunction.spk)
- {
- case SPK.ElectricEnergy:
- EnergyMainPage.UpdataStatus(localFunction);
- break;
- }
-
- HomePage.UpdataFunctionStates(localFunction);
- RoomPage.UpdataStates(localFunction);
- FunctionPage.UpdataStates(localFunction);
- ClassificationPage.UpdataInfo(localFunction);
-
- }
- catch (Exception ex)
- {
- MainPage.Log($"A鍗忚鏇存柊鐘舵�佸紓甯�:{ex.Message}");
- }
- }
- }
- }
-
-
/// <summary>
/// 鏇存柊璁惧鐘舵��
/// A鍗忚鏁版嵁
@@ -1281,48 +1017,13 @@
try
{
- if (Ins.GatewayOnline_Local && isCloudData)//鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�
- {
- if (FunctionList.List.OtherBrandFunction.Count == 0)
- {
- MainPage.Log($"A鍗忚鏇存柊鐘舵��:鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�...");
- return;
- }
- else
- {
- if (FunctionList.List.OtherBrandFunction.Find((obj) => obj.sid == updateTemp.sid) == null)
- {
- return;
- }
- }
- }
var localFunction = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid);
if (localFunction == null)
{
continue;
}
- MainPage.Log(localFunction.name);
- if (Ins.GatewayOnline_Local && isCloudData)//鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�
- {
- if (!SPK.Get3tySpk(SPK.BrandType.All3tyBrand).Contains(localFunction.spk) && !SPK.MusicSpkList().Contains(localFunction.spk))
- {
- //MainPage.Log($"A鍗忚鏇存柊鐘舵��:鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�........");
-
- return;
- }
- }
-
- //if (SPK.MusicSpkList().Contains(localFunction.spk))
- //{
- // if (updateTemp.status.Count < 3)
- // {
- // ///鏄煶涔愬姛鑳界殑
- // ///涓婃姤灞炴�у皯3鏉′笉鍋氬鐞�
- // return;
- // }
- //}
MainPage.Log($"鏀跺埌鏁版嵁:{revString}");
foreach (var attr in updateTemp.status)
{
@@ -1330,35 +1031,10 @@
localFunction.SetAttrState(attr.key, attr.value);
}
- if(localFunction.spk == SPK.AirSwitchP3)
- {
- localFunction.online = updateTemp.online;
- }
//鏇存柊鐣岄潰鐘舵��
switch (localFunction.spk)
{
- case SPK.AcstParent:
- AcstParentPage.UpdateAcstParentInfo(localFunction);
- break;
- case SPK.AcstSub:
- AcstParentPage.UpdateAcstSubInfo(localFunction);
- AcstSubPage.UpdateStatus(localFunction);
- break;
- case SPK.AirSwitch:
- AirSwitchPage.UpdataState(localFunction);
- if (localFunction.GetAttribute(FunctionAttributeKey.Power) != null)//濡傛灉鏄甫鐢甸噺鐨勭┖寮�涔熻鏇存柊鑳芥簮鐣岄潰
- {
- EnergyMainPage.UpdataStatus(localFunction);
- }
- break;
- case SPK.AirSwitchP3:
- AirSwitchP3Page.UpdataState(localFunction);
- AirSwitchP3SubloopEnergyPage.UpdataStatus(localFunction);
- break;
- case SPK.ElectricEnergy:
- EnergyMainPage.UpdataStatus(localFunction);
- break;
case SPK.LightSwitch:
RelayPage.UpdataState(localFunction);
break;
@@ -1366,12 +1042,6 @@
localFunction.lastState = Language.StringByID(StringId.Brightness) + " : " +
localFunction.GetAttrState(FunctionAttributeKey.Brightness) + "%";
DimmerPage.UpdataStates(localFunction);
- break;
- case SPK.ElectricFan:
- case SPK.HvacFan:
- localFunction.lastState = Language.StringByID(StringId.Level) + " : " +
- localFunction.GetAttrState(FunctionAttributeKey.OpenLevel);
- FanPage.UpdataState(localFunction);
break;
case SPK.LightRGB:
localFunction.lastState = Language.StringByID(StringId.Brightness) + " : " + localFunction.GetAttrState(FunctionAttributeKey.Brightness) + "%";
@@ -1477,124 +1147,11 @@
localFunction.lastState += " " + localFunction.GetAttrState(FunctionAttributeKey.SetTemp) + new FloorHeating().GetTempUnitString(localFunction);
FloorHeatingPage.UpdataStates(localFunction);
break;
- case SPK.SensorPm25:
- case SPK.SensorCO2:
- case SPK.SensorTVOC:
- case SPK.SensorTemperature:
- case SPK.SensorHumidity:
- case SPK.SensorHcho:
- if (localFunction.spk == SPK.SensorTemperature)
- {
- HomePage.LoadEvent_RefreshEnvirIndoorTemp();
- }
- else if (localFunction.spk == SPK.SensorHumidity)
- {
- HomePage.LoadEvent_RefreshEnvirIndoorHumi();
- }
- EnvironmentalPage.LoadEvent_UpdataStatus(localFunction);
- //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(localFunction);
- break;
- case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
- case SPK.SensorEnvironment2:
- case SPK.SensorEnvironment3:
- if (localFunction.GetAttributes().Contains(FunctionAttributeKey.Temperature))
- {
- HomePage.LoadEvent_RefreshEnvirIndoorTemp();
- }
- if (localFunction.GetAttributes().Contains(FunctionAttributeKey.Humidity))
- {
- HomePage.LoadEvent_RefreshEnvirIndoorHumi();
- }
- EnvironmentalPage.LoadEvent_UpdataStatus(localFunction);
- //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(localFunction);
- break;
- case SPK.ElectricSocket:
- case SPK.PanelSocket:
- SocketPage.UpdataState(localFunction);
- SocketPage_InstantaneousValue.UpdataView(localFunction);
- break;
- case SPK.ElectricTV:
- break;
- case SPK.ElectricTuyaAirCleaner:
- case SPK.ElectricTuyaAirCleaner2:
- case SPK.ElectricTuyaFan:
- case SPK.ElectricTuyaFan2:
- case SPK.ElectricTuyaWeepRobot:
- case SPK.ElectricTuyaWeepRobot2:
- case SPK.ElectricTuyaWaterValve:
- case SPK.ElectricTuyaWaterValve2:
- case SPK.SensorPir:
- case SPK.SensorDoorWindow:
- case SPK.SensorSmoke:
- case SPK.SensorWater:
- case SPK.ClothesHanger:
case SPK.AirFreshStandard:
case SPK.HvacAirFresh:
- case SPK.SensorGas:
- case SPK.HvacCac:
- case SPK.SensorHelp:
- case SPK.MechanicalArm:
//璁惧鐘舵�佹帹閫�
//鐘舵�佹洿鏂�
Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
- break;
- case SPK.SenesorMegahealth:
- case SPK.SenesorMegahealth2:
- case SPK.SensorMmvPose:
-
- var tempStatus = localFunction.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus);
- if (tempStatus != null)
- {
-
- switch (tempStatus.state)
- {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
- case "0":
- localFunction.lastState = Language.StringByID(StringId.SensorNormalState);
- break;
- case "1":
- localFunction.lastState = Language.StringByID(StringId.SomeoneIn);
- break;
- case "2":
- if (localFunction.extSet.labModel)
- {
- localFunction.lastState = Language.StringByID(StringId.SomeoneRunning);
- }
- break;
- case "3":
- if (localFunction.extSet.labModel)
- {
- localFunction.lastState = Language.StringByID(StringId.SomeoneSitting);
- }
- break;
- case "4":
- localFunction.lastState = Language.StringByID(StringId.SomeoneFell);
- break;
- case "5":
- if (localFunction.extSet.labModel)
- {
- localFunction.lastState = Language.StringByID(StringId.SomeoneStanding);
- }
- break;
- default:
-
- break;
- }
- }
- Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
- break;
- case SPK.AvMusic:
- case SPK.MusicStandard:
- //UI.Music.MusicMain.mMusicMain.RefreshView(updateTemp);
- Console.WriteLine("闊充箰鎾斁鍣ㄦ樉绀虹姸鎬�=======" + revString);
- //wjc
- break;
- case SPK.Inverter:
- case SPK.InverterRst:
- var status = new Dictionary<string, object> { ["method"] = "status", ["data"] = temp.objects };
- Application.RunOnMainThread(() =>
- {
- Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')");
- });
break;
}
--
Gitblit v1.8.0