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