From 7d005a7618e3d7a80d8ede3baf6ecc4bf8019cd5 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 01 九月 2020 15:22:09 +0800 Subject: [PATCH] 2020-09-01 --- HDL_ON/DriverLayer/CommonPage.cs | 179 +++++++++++++++++++++++++---------------------------------- 1 files changed, 77 insertions(+), 102 deletions(-) diff --git a/HDL_ON/DriverLayer/CommonPage.cs b/HDL_ON/DriverLayer/CommonPage.cs index 53c7dff..285baea 100644 --- a/HDL_ON/DriverLayer/CommonPage.cs +++ b/HDL_ON/DriverLayer/CommonPage.cs @@ -67,31 +67,30 @@ } } } - public static bool isHttpListenerStart; - public static DateTime dt; - + //public static bool isHttpListenerStart; + //public static DateTime dt; //public static byte currentSubnetID = 0; - public static void InitHttpListener() - { - if (isHttpListenerStart) - { - return; - } - Console.WriteLine("Init Http Listener !"); - HttpListener.Start(new NetWiFi().IpAddress, 6002); - HttpListener.EventHandler -= httpListener_EventHandler; - HttpListener.EventHandler += httpListener_EventHandler; - isHttpListenerStart = true; - } - public static void CloseHttpListener() - { - //isHttpListenerStart = false; - //return; - if (!isHttpListenerStart) - return; - HttpListener.Close(); - isHttpListenerStart = false; - } + //public static void InitHttpListener() + //{ + // if (isHttpListenerStart) + // { + // return; + // } + // Console.WriteLine("Init Http Listener !"); + // HttpListener.Start(new NetWiFi().IpAddress, 6002); + // HttpListener.EventHandler -= httpListener_EventHandler; + // HttpListener.EventHandler += httpListener_EventHandler; + // isHttpListenerStart = true; + //} + //public static void CloseHttpListener() + //{ + // //isHttpListenerStart = false; + // //return; + // if (!isHttpListenerStart) + // return; + // HttpListener.Close(); + // isHttpListenerStart = false; + //} /// <summary> /// 鍒濆鍖栧鐞唖ocket鎺ユ敹鐨勬暟鎹� /// </summary> @@ -120,14 +119,14 @@ switch (command) { case Command.SetSingleLightACK: - foreach (var light in DB_ResidenceData.residenceData.functionList.lights) + foreach (var light in DB_ResidenceData.functionList.lights) { if (light.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { if (light.functionType != FunctionType.RGB) { - light.on_off = receiveBytes[2] == 0 ? "off" : "on"; - if (light.on_off == "on") + light.trait_on_off.value = receiveBytes[2] == 0 ? "off" : "on"; + if (light.trait_on_off.value.ToString() == "on") { light.brightness = receiveBytes[2]; light.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%"; @@ -149,15 +148,15 @@ } } - foreach (var e in DB_ResidenceData.residenceData.functionList.electricals) + foreach (var e in DB_ResidenceData.functionList.electricals) { if (e.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { if (e.functionType == FunctionType.Fan) { var fan = e as Fan; - fan.on_off = receiveBytes[2] == 0 ? "off" : "on"; - if (fan.on_off == "on") + fan.trait_on_off.value = receiveBytes[2] == 0 ? "off" : "on"; + if (fan.trait_on_off.value == "on") { fan.openLevel = receiveBytes[2]; fan.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2]; @@ -183,13 +182,13 @@ case Command.ReadLightAllLoopBrightnessACK: for (int i = 0; i < receiveBytes[0]; i++) { - var light = DB_ResidenceData.residenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.LoopID == i); + var light = DB_ResidenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.LoopID == i); if (light != null) { if (light.functionType != FunctionType.RGB) { - light.on_off = receiveBytes[2] == 0 ? "off" : "on"; - if (light.on_off == "on") + light.trait_on_off.value = receiveBytes[2] == 0 ? "off" : "on"; + if (light.trait_on_off.value == "on") { light.brightness = receiveBytes[2]; light.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%"; @@ -211,12 +210,12 @@ } else { - var e = DB_ResidenceData.residenceData.functionList.electricals.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.LoopID == i); + var e = DB_ResidenceData.functionList.electricals.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.LoopID == i); if (e != null) { var fan = e as Fan; - fan.on_off = receiveBytes[2] == 0 ? "off" : "on"; - if (fan.on_off == "on") + fan.trait_on_off.value = receiveBytes[2] == 0 ? "off" : "on"; + if (fan.trait_on_off.value.ToString() == "on") { fan.openLevel = receiveBytes[2]; fan.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2]; @@ -240,13 +239,13 @@ break; case Command.SetLogicLoopColorACK: case Command.ReadLogicLoopColorACK: - foreach (var rgb in DB_ResidenceData.residenceData.functionList.lights) + foreach (var rgb in DB_ResidenceData.functionList.lights) { if (rgb.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { if (rgb.functionType == FunctionType.RGB) { - rgb.on_off = receiveBytes[1] > 0 ? "on" : "off"; + rgb.trait_on_off.value = receiveBytes[1] > 0 ? "on" : "off"; if (receiveBytes[1] > 0) { rgb.brightness = receiveBytes[1]; @@ -267,7 +266,7 @@ break; case Command.SetCurtainModelStutasACK: case Command.ReadCurtainStutasACK: - foreach (var curtain in DB_ResidenceData.residenceData.functionList.curtains) + foreach (var curtain in DB_ResidenceData.functionList.curtains) { if (curtain.bus_Data.SubnetID == subnetID && curtain.bus_Data.DeviceID == deviceID) { @@ -275,11 +274,11 @@ { if (receiveBytes[1] > 1) { - curtain.on_off = "on"; + curtain.trait_on_off.value = "on"; } else { - curtain.on_off = "off"; + curtain.trait_on_off.value = "off"; } curtain.openLevel = receiveBytes[1]; curtain.lastState = Language.StringByID(StringId.Open) + curtain.openLevel + "%"; @@ -291,14 +290,14 @@ switch (receiveBytes[1]) { case 0: - curtain.on_off = "stop"; + curtain.trait_on_off.value = "stop"; break; case 1: - curtain.on_off = "on"; + curtain.trait_on_off.value = "on"; curtain.lastState = Language.StringByID(StringId.Open); break; case 2: - curtain.on_off = "off"; + curtain.trait_on_off.value = "off"; curtain.lastState = Language.StringByID(StringId.Close); break; } @@ -319,18 +318,18 @@ break; case Command.SetACModeACK: case Command.ReadACModeACK: - foreach (var ac in DB_ResidenceData.residenceData.functionList.aCs) + foreach (var ac in DB_ResidenceData.functionList.aCs) { if (ac.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { ac.curTempType = receiveBytes[1]; ac.indoorTemp = receiveBytes[2]; - ac.on_off = receiveBytes[8] == 1 ? "on" : "off"; + ac.trait_on_off.value = receiveBytes[8] == 1 ? "on" : "off"; ac.curModeIndex = receiveBytes[9]; ac.curFanIndex = receiveBytes[10]; - ac.curTemp = receiveBytes[11]; + ac.trait_temp.value = receiveBytes[11]; ac.lastState = ""; - switch (ac.trait_mode.curValues.ToString()) + switch (ac.trait_mode.value.ToString()) { case "cool": ac.lastState = Language.StringByID(StringId.Cool); @@ -348,7 +347,7 @@ ac.lastState = Language.StringByID(StringId.AirSupply); break; } - switch (ac.trait_fan.curValues.ToString()) + switch (ac.trait_fan.value.ToString()) { case "high": ac.lastState += " " + Language.StringByID(StringId.HighWindSpeed); @@ -363,7 +362,7 @@ ac.lastState += " " + Language.StringByID(StringId.Auto); break; } - ac.lastState += " " + ac.curTemp + ac.curTempTypeString; + ac.lastState += " " + ac.trait_temp.value + ac.tempUnitString; RoomPage.UpdataStates(ac); FunctionPage.UpdataStates(ac); HomePage.UpdataFunctionStates(ac); @@ -374,20 +373,20 @@ break; case Command.ReadFloorHeatACK: case Command.SetFloorHeatACK: - foreach (var fh in DB_ResidenceData.residenceData.functionList.floorHeatings) + foreach (var fh in DB_ResidenceData.functionList.floorHeatings) { if (fh.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { fh.curTempType = receiveBytes[2]; - fh.on_off = receiveBytes[1] % 2 == 0 ? "off" : "on"; + fh.trait_on_off.value = receiveBytes[1] % 2 == 0 ? "off" : "on"; fh.curModeIndex = receiveBytes[3]; - if (fh.modeTemp.ContainsKey("ordinary")) + if (fh.modeTemp.ContainsKey("normal")) { - fh.modeTemp["ordinary"] = receiveBytes[4]; + fh.modeTemp["normal"] = receiveBytes[4]; } else { - fh.modeTemp.Add("ordinary", receiveBytes[4]); + fh.modeTemp.Add("normal", receiveBytes[4]); } if (fh.modeTemp.ContainsKey("day")) { @@ -397,7 +396,6 @@ { fh.modeTemp.Add("day", receiveBytes[5]); } - if (fh.modeTemp.ContainsKey("night")) { fh.modeTemp["night"] = receiveBytes[6]; @@ -406,7 +404,6 @@ { fh.modeTemp.Add("night", receiveBytes[6]); } - if (fh.modeTemp.ContainsKey("away")) { fh.modeTemp["away"] = receiveBytes[7]; @@ -415,24 +412,32 @@ { fh.modeTemp.Add("away", receiveBytes[7]); } - switch (fh.curMode) + + switch (fh.trait_mode.value) { - case "ordinary": - fh.lastState = Language.StringByID(StringId.Ordinary); + case "normal": + fh.lastState = Language.StringByID(StringId.Normal); + fh.curTemp = receiveBytes[4]; break; case "day": fh.lastState = Language.StringByID(StringId.Day); + fh.curTemp = receiveBytes[5]; break; case "night": fh.lastState = Language.StringByID(StringId.Night); + fh.curTemp = receiveBytes[6]; break; case "timer": fh.lastState = Language.StringByID(StringId.Auto); if (receiveBytes[8] == 0) { + fh.timeFlag = 0; + fh.curTemp = receiveBytes[5]; } else { + fh.timeFlag = 1; + fh.curTemp = receiveBytes[6]; } break; case "away": @@ -440,7 +445,7 @@ fh.lastState = Language.StringByID(StringId.Away); break; } - fh.lastState += " " + fh.curTemp + fh.curTempTypeString; + fh.lastState += " " + fh.curTemp + fh.tempUnitString; RoomPage.UpdataStates(fh); FunctionPage.UpdataStates(fh); HomePage.UpdataFunctionStates(fh); @@ -453,7 +458,7 @@ FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]); string tag = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; - foreach (var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) + foreach (var sensor in DB_ResidenceData.functionList.sensorsEnvironmentalScience) { if (sensor.bus_Data != null) { @@ -486,7 +491,7 @@ break; case Command.New_Analog_Quantity_BROADCAST: string tag1 = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; - foreach (var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) + foreach (var sensor in DB_ResidenceData.functionList.sensorsEnvironmentalScience) { if (sensor.bus_Data != null) { @@ -534,20 +539,20 @@ { break; } - foreach (var ac in DB_ResidenceData.residenceData.functionList.aCs) + foreach (var ac in DB_ResidenceData.functionList.aCs) { if (ac.GetBusId() == subnetID + "_" + deviceID + "_" + reACPanel) { switch (receiveBytes[0]) { case 3:// - ac.on_off = receiveBytes[1] == 1 ? "on" : "off"; + ac.trait_on_off.value = receiveBytes[1] == 1 ? "on" : "off"; break; case 4: case 7: case 8: case 19: - ac.curTemp = receiveBytes[1]; + ac.trait_temp.value = receiveBytes[1]; break; case 5: ac.curFanIndex = receiveBytes[1]; @@ -558,7 +563,7 @@ } ac.lastState = ""; - ac.lastState += " " + ac.curTemp + ac.curTempTypeString; + ac.lastState += " " + ac.trait_temp.value + ac.tempUnitString; RoomPage.UpdataStates(ac); FunctionPage.UpdataStates(ac); HomePage.UpdataFunctionStates(ac); @@ -602,7 +607,7 @@ break; case Command.ReadPanleTempACK://1944 case Command.PanleBroadcastTemp: - foreach (var ac in DB_ResidenceData.residenceData.functionList.aCs) + foreach (var ac in DB_ResidenceData.functionList.aCs) { if (ac.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { @@ -638,7 +643,7 @@ } return s;// } - + /* 2020-09-01寮冪敤锛屼娇鐢╰cp鎺ユ敹鏁版嵁 static void httpListener_EventHandler(System.Collections.Specialized.NameValueCollection nameValueCollection, System.IO.Stream outputStream, System.IO.Stream inputStream) { try @@ -682,9 +687,9 @@ { foreach(var obj in common.objects) { - DB_ResidenceData.residenceData.functionList.AddFunction(obj); + DB_ResidenceData.functionList.AddFunction(obj); } - DB_ResidenceData.residenceData.functionList.GetAllFunction(); + DB_ResidenceData.functionList.GetAllFunction(); } } else @@ -699,36 +704,6 @@ MainPage.Log("httpListener_EventHandler" + ex.ToString()); } } - - /// <summary> - /// 鐩戝惉璇锋眰鐨凥ttp绔彛 - /// </summary> - public static int Port = 5555; - static void httpListener_EventHandler(string rawUrl, System.IO.Stream outputStream, System.IO.Stream inputStream) - { - foreach (var musicInfo in MusicInfo.MusicInfoList) - { - if ("audio-item-" + musicInfo.ID == rawUrl.TrimStart('/')) - { - var file = new System.IO.FileStream(musicInfo.Data, System.IO.FileMode.Open, System.IO.FileAccess.Read); - byte[] bytes = new byte[1024]; - try - { - while (file.CanRead) - { - int len = file.Read(bytes, 0, bytes.Length); - if (len == 0) - { - break; - } - outputStream.Write(bytes, 0, len); - } - } - catch { } - file.Close(); - break; - } - } - } + */ } } \ No newline at end of file -- Gitblit v1.8.0