wei
2021-01-11 b271bcceb1c4e718377ca86b6213816abcf7482a
HDL_ON/Entity/FunctionList.cs
@@ -249,52 +249,52 @@
        /// <param name="sidObj"></param>
        public void AddDeviceFunction(Function sidObj0)
        {
            switch (sidObj0.functionType)
            switch (sidObj0.spk)
            {
                case FunctionType.AC:
                case SPK.AcStandard:
                    var sidObj =  Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.aCs.Add(sidObj);
                    sidObj.SaveFunctionFile();
                    break;
                case FunctionType.FloorHeating:
                case SPK.FloorHeatStandard:
                    var sidObj1 =  Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.floorHeatings.Add(sidObj1);
                    sidObj1.SaveFunctionFile();
                    break;
                case FunctionType.Dimmer:
                case FunctionType.RGB:
                case FunctionType.Relay:
                case SPK.LightDimming:
                case SPK.LightRGB:
                case SPK.LightSwitch:
                    var sidObj2 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.lights.Add(sidObj2);
                    sidObj2.SaveFunctionFile();
                    break;
                case FunctionType.Curtain:
                case FunctionType.RollingShutter:
                case FunctionType.MotorCurtain:
                case SPK.CurtainSwitch:
                case SPK.CurtainRoller:
                case SPK.CurtainTrietex:
                    var sidObj3 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.curtains.Add(sidObj3 );
                    sidObj3.SaveFunctionFile();
                    break;
                case FunctionType.TV:
                case SPK.ElectricTV:
                    var sidObj4 =  Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.tVs.Add(sidObj4);
                    sidObj4.SaveFunctionFile();
                    break;
                case FunctionType.Socket:
                case SPK.ElectricSocket:
                    var sidObj5 =  Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.switchSockets.Add(sidObj5);
                    sidObj5.SaveFunctionFile();
                    break;
                case FunctionType.Fan:
                case SPK.ElectricFan:
                    var sidObj6 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.fans.Add(sidObj6);
                    sidObj6.SaveFunctionFile();
                    break;
                case FunctionType.CO2:
                case FunctionType.TVOC:
                case FunctionType.PM25:
                case FunctionType.Temp:
                case FunctionType.Humidity:
                case SPK.SensorCO2:
                case SPK.SensorTVOC:
                case SPK.SensorPm25:
                case SPK.SensorTemperature:
                case SPK.SensorHumidity:
                    var sidObj7 =  Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(Newtonsoft.Json.JsonConvert.SerializeObject(sidObj0));
                    List.sensorsEnvironmentalScience.Add(sidObj7);
                    sidObj7.SaveFunctionFile();
@@ -311,15 +311,20 @@
            var f = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(obj.ToString());
            if (f == null)
                return;
            switch (f.functionCategory)
            switch (f.Spk_Prefix)
            {
                case FunctionCategory.Thermostat:
                    switch (f.functionType)
                case FunctionCategory.AC:
                    switch (f.spk)
                    {
                        case FunctionType.AC:
                        case SPK.AcStandard:
                            _FunctionList.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(obj.ToString()));
                            break;
                        case FunctionType.FloorHeating:
                    }
                    break;
                case FunctionCategory.FloorHeat:
                    switch (f.spk)
                    {
                        case SPK.FloorHeatStandard:
                            _FunctionList.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(obj.ToString()));
                            break;
                    }
@@ -330,28 +335,28 @@
                case FunctionCategory.Curtain:
                    _FunctionList.curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(obj.ToString()));
                    break;
                case FunctionCategory.Electrical:
                    switch(f.functionType)
                case FunctionCategory.Electric:
                    switch(f.spk)
                    {
                        case FunctionType.TV:
                        case SPK.ElectricTV:
                            _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString()));
                            break;
                        case FunctionType.Socket:
                        case SPK.ElectricSocket:
                            _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString()));
                            break;
                        case FunctionType.Fan:
                        case SPK.ElectricFan:
                            _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(obj.ToString()));
                            break;
                    }
                    break;
                case FunctionCategory.Sensor:
                    switch(f.functionType)
                    switch(f.spk)
                    {
                        case FunctionType.TVOC:
                        case FunctionType.CO2:
                        case FunctionType.PM25:
                        case FunctionType.Humidity:
                        case FunctionType.Temp:
                        case SPK.SensorTVOC:
                        case SPK.SensorCO2:
                        case SPK.SensorPm25:
                        case SPK.SensorHumidity:
                        case SPK.SensorTemperature:
                            _FunctionList.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString()));
                            break;
                    }
@@ -498,13 +503,13 @@
                    {
                        foreach (var function in GetDeviceFunctionList())
                        {
                            switch (function.functionCategory)
                            switch (function.Spk_Prefix)
                            {
                                case FunctionCategory.Light:
                                case FunctionCategory.Electrical:
                                case FunctionCategory.SwitchDevice:
                                case FunctionCategory.Electric:
                                case FunctionCategory.Curtain:
                                case FunctionCategory.Thermostat:
                                case FunctionCategory.AC:
                                case FunctionCategory.FloorHeat:
                                    DriverLayer.Control.Ins.SendReadCommand(function);
                                    break;
                            }