From b271bcceb1c4e718377ca86b6213816abcf7482a Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期一, 11 一月 2021 13:57:18 +0800 Subject: [PATCH] 20210111-删除功能类别,统一使用spk去设备功能 --- HDL_ON/DAL/DriverLayer/Packet.cs | 96 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 67 insertions(+), 29 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs index a1d7c74..1723234 100644 --- a/HDL_ON/DAL/DriverLayer/Packet.cs +++ b/HDL_ON/DAL/DriverLayer/Packet.cs @@ -130,18 +130,18 @@ { if (updataObj.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { - if (updataObj.functionType != FunctionType.RGB) + if (updataObj.spk != SPK.LightRGB) { updataObj.trait_on_off.curValue = receiveBytes[2] > 0 ? "on" : "off"; if (updataObj.trait_on_off.curValue.ToString() == "on") { - switch (updataObj.functionType) + switch (updataObj.spk) { - case FunctionType.Fan: + case SPK.ElectricFan: (updataObj as Fan).openLevel = receiveBytes[2]; updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2]; break; - case FunctionType.Dimmer: + case SPK.LightDimming: (updataObj as Light).brightness = receiveBytes[2]; updataObj.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%"; break; @@ -151,15 +151,15 @@ RoomPage.UpdataStates(updataObj); FunctionPage.UpdataStates(updataObj); ClassificationPage.UpdataInfo(updataObj); - switch (updataObj.functionType) + switch (updataObj.spk) { - case FunctionType.Relay: + case SPK.LightSwitch: RelayPage.UpdataState(updataObj as Light); break; - case FunctionType.Dimmer: + case SPK.LightDimming: DimmerPage.UpdataStates(updataObj as Light); break; - case FunctionType.Fan: + case SPK.ElectricFan: FanPage.UpdataState(updataObj as Fan); break; } @@ -174,7 +174,7 @@ var light = FunctionList.List.lights.Find((obj) => obj.bus.SubnetID == subnetID && obj.bus.DeviceID == deviceID && obj.bus.LoopId == (i + 1)); if (light != null) { - if (light.functionType != FunctionType.RGB) + if (light.spk != SPK.LightRGB) { light.trait_on_off.curValue = receiveBytes[light.bus.LoopId] == 0 ? "off" : "on"; if (light.trait_on_off.curValue.ToString() == "on") @@ -186,12 +186,12 @@ RoomPage.UpdataStates(light); FunctionPage.UpdataStates(light); ClassificationPage.UpdataInfo(light); - switch (light.functionType) + switch (light.spk) { - case FunctionType.Relay: + case SPK.LightSwitch: RelayPage.UpdataState(light); break; - case FunctionType.Dimmer: + case SPK.LightDimming: DimmerPage.UpdataStates(light); break; } @@ -213,12 +213,12 @@ RoomPage.UpdataStates(fan); FunctionPage.UpdataStates(fan); ClassificationPage.UpdataInfo(fan); - switch (fan.functionType) + switch (fan.spk) { - case FunctionType.Fan: + case SPK.ElectricFan: FanPage.UpdataState(fan); break; - case FunctionType.Socket: + case SPK.ElectricSocket: break; } @@ -232,7 +232,7 @@ { if (rgb.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { - if (rgb.functionType == FunctionType.RGB) + if (rgb.spk == SPK.LightRGB) { rgb.trait_on_off.curValue = receiveBytes[1] > 0 ? "on" : "off"; if (receiveBytes[1] > 0) @@ -293,15 +293,15 @@ FunctionPage.UpdataStates(curtain); HomePage.UpdataFunctionStates(curtain); ClassificationPage.UpdataInfo(curtain); - switch (curtain.functionType) + switch (curtain.spk) { - case FunctionType.Curtain: + case SPK.CurtainSwitch: CurtainModulePage.UpdataState(curtain); break; - case FunctionType.MotorCurtain: + case SPK.CurtainTrietex: MotorCurtainPage.UpdataState(curtain); break; - case FunctionType.RollingShutter: + case SPK.CurtainRoller: RollingShutterPage.UpdataState(curtain); break; } @@ -447,31 +447,50 @@ } break; case Command.ReadDeviceLoopInfoACK: - FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]); + //FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]); string tag = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience) { + byte sensorType = 0; + switch (sensor.spk) + { + case SPK.SensorTemperature: + sensorType = 2; + break; + case SPK.SensorHumidity: + sensorType = 3; + break; + case SPK.SensorTVOC: + sensorType = 5; + break; + case SPK.SensorPm25: + sensorType = 6; + break; + case SPK.SensorCO2: + sensorType = 7; + break; + } if (sensor.bus != null) { - if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus.SubnetID == subnetID && + if (sensorType == receiveBytes[1] && sensor.bus.SubnetID == subnetID && sensor.bus.DeviceID == deviceID && sensor.bus.LoopId == receiveBytes[2]) { - switch (dt) + switch (sensor.spk) { - case FunctionType.Temp: + case SPK.SensorTemperature: byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] }; sensor.values = Math.Round(BitConverter.ToSingle(tempBytes, 0), 1); break; - case FunctionType.Humidity: + case SPK.SensorHumidity: sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10; break; - case FunctionType.TVOC: + case SPK.SensorTVOC: sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100; break; - case FunctionType.PM25: + case SPK.SensorPm25: sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]); break; - case FunctionType.CO2: + case SPK.SensorCO2: sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]); break; } @@ -484,9 +503,28 @@ string tag1 = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience) { + byte sensorType = 0; + switch (sensor.spk) + { + case SPK.SensorTemperature: + sensorType = 2; + break; + case SPK.SensorHumidity: + sensorType = 3; + break; + case SPK.SensorTVOC: + sensorType = 5; + break; + case SPK.SensorPm25: + sensorType = 6; + break; + case SPK.SensorCO2: + sensorType = 7; + break; + } if (sensor.bus != null) { - if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus.SubnetID == subnetID && + if (sensorType == receiveBytes[1] && sensor.bus.SubnetID == subnetID && sensor.bus.DeviceID == deviceID && sensor.bus.LoopId == receiveBytes[2]) { //0淇濈暀 1鏃犵鍙�4Byte鏁村舰 2鏈夌鍙�4Byte鏁村舰 3Float褰紙浠B憋級 -- Gitblit v1.8.0