From 1fcf2302f79f9cbea5ef17c3688311ed65cfabb4 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 28 一月 2021 19:54:25 +0800 Subject: [PATCH] Win7新版本 --- HDL_ON/Entity/FunctionList.cs | 210 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 136 insertions(+), 74 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index 61ba91e..a6b3d33 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -67,10 +67,20 @@ { tVs = new List<TV>(); } + if (airCleaners == null) + { + airCleaners = new List<AirCleaner>(); + } + if (weepRobots == null) + { + weepRobots = new List<WeepRobot>(); + } var list = new List<Function>(); list.AddRange(fans); list.AddRange(switchSockets); - list.AddRange(tVs); + list.AddRange(tVs); + list.AddRange(airCleaners); + list.AddRange(weepRobots); return list; } } @@ -85,12 +95,25 @@ /// <summary> /// 瀹剁數鍒楄〃 /// </summary> - public List<SwitchSocket> switchSockets = new List<SwitchSocket>(); + public List<SwitchSocket> switchSockets = new List<SwitchSocket>(); + /// <summary> + /// 绌烘皵鍑�鍖栧櫒鍒楄〃 + /// </summary> + public List<AirCleaner> airCleaners = new List<AirCleaner>(); + /// <summary> + /// 鎵湴鏈哄櫒浜哄垪琛� + /// </summary> + public List<WeepRobot> weepRobots = new List<WeepRobot>(); + #endregion /// <summary> /// 鐜浼犳劅鍣ㄥ垪琛� /// </summary> public List<Sensor> sensorsEnvironmentalScience = new List<Sensor>(); + /// <summary> + /// 瀹夐槻璁惧鍒楄〃 + /// </summary> + public List<Sensor> sensorsArm = new List<Sensor>(); public List<Scene> scenes = new List<Scene>(); /// <summary> @@ -141,7 +164,7 @@ case SPK.LightRGBW: case SPK.LightCCT: var light = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString); - _FunctionList.lights.Add(light); + List.lights.Add(light); deviceFunctionList.Add(light); break; case SPK.CurtainRoller: @@ -149,17 +172,17 @@ case SPK.CurtainSwitch: case SPK.CurtainTrietex: var curtain = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString); - _FunctionList.curtains.Add(curtain); + List.curtains.Add(curtain); deviceFunctionList.Add(curtain); break; case SPK.AcStandard: var ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString); - _FunctionList.aCs.Add(ac); + List.aCs.Add(ac); deviceFunctionList.Add(ac); break; case SPK.FloorHeatStandard: var fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString); - _FunctionList.floorHeatings.Add(fh); + List.floorHeatings.Add(fh); deviceFunctionList.Add(fh); break; case SPK.SensorPm25: @@ -168,23 +191,45 @@ case SPK.SensorTemperature: case SPK.SensorHumidity: var sensor = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString); - _FunctionList.sensorsEnvironmentalScience.Add(sensor); + List.sensorsEnvironmentalScience.Add(sensor); deviceFunctionList.Add(sensor); break; case SPK.ElectricSocket: var ele = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString); - _FunctionList.switchSockets.Add(ele); + List.switchSockets.Add(ele); deviceFunctionList.Add(ele); break; case SPK.ElectricTV: var tv = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString); - _FunctionList.tVs.Add(tv); + List.tVs.Add(tv); deviceFunctionList.Add(tv); break; case SPK.ElectricFan: - var fan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString); - _FunctionList.fans.Add(fan); + var fan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString); + List.fans.Add(fan); deviceFunctionList.Add(fan); + break; + case SPK.ElectricTuyaAirCleaner: + var airCleaner = Newtonsoft.Json.JsonConvert.DeserializeObject<AirCleaner>(functionDataString); + List.airCleaners.Add(airCleaner); + deviceFunctionList.Add(airCleaner); + break; + case SPK.ElectricTuyaFan: + var tuyaFan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString); + List.fans.Add(tuyaFan); + deviceFunctionList.Add(tuyaFan); + break; + case SPK.ElectricTuyaWeepRobot: + var tuyaWeepRobot = Newtonsoft.Json.JsonConvert.DeserializeObject<WeepRobot>(functionDataString); + List.weepRobots.Add(tuyaWeepRobot); + deviceFunctionList.Add(tuyaWeepRobot); + break; + case SPK.SensorSmoke: + case SPK.SensorWater: + case SPK.SensorGas: + var ser = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString); + List.sensorsArm.Add(ser); + deviceFunctionList.Add(ser); break; } } @@ -212,6 +257,7 @@ deviceFunctionList.AddRange(floorHeatings); deviceFunctionList.AddRange(electricals); deviceFunctionList.AddRange(sensorsEnvironmentalScience); + deviceFunctionList.AddRange(sensorsArm); deviceFunctionList.AddRange(UI.Music.A31MusicModel.A31MusicModelList); } try @@ -229,16 +275,16 @@ /// </summary> public void Clear() { - _FunctionList.aCs = new List<AC>(); - _FunctionList.lights = new List<Light>(); - _FunctionList.curtains = new List<Curtain>(); - _FunctionList.floorHeatings = new List<FloorHeating>(); - _FunctionList.tVs = new List<TV>(); - _FunctionList.switchSockets = new List<SwitchSocket>(); - _FunctionList.fans = new List<Fan>(); - _FunctionList.sensorsEnvironmentalScience = new List<Sensor>(); - _FunctionList.scenes = new List<Scene>(); - _FunctionList.deviceFunctionList = null; + List.aCs = new List<AC>(); + List.lights = new List<Light>(); + List.curtains = new List<Curtain>(); + List.floorHeatings = new List<FloorHeating>(); + List.tVs = new List<TV>(); + List.switchSockets = new List<SwitchSocket>(); + List.fans = new List<Fan>(); + List.sensorsEnvironmentalScience = new List<Sensor>(); + List.scenes = new List<Scene>(); + List.deviceFunctionList = null; _FunctionList = null; } @@ -249,52 +295,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,48 +357,64 @@ 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: - _FunctionList.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(obj.ToString())); + case SPK.AcStandard: + List.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(obj.ToString())); break; - case FunctionType.FloorHeating: - _FunctionList.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(obj.ToString())); + } + break; + case FunctionCategory.FloorHeat: + switch (f.spk) + { + case SPK.FloorHeatStandard: + List.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(obj.ToString())); break; } break; case FunctionCategory.Light: - _FunctionList.lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(obj.ToString())); + List.lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(obj.ToString())); break; case FunctionCategory.Curtain: - _FunctionList.curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(obj.ToString())); + List.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: - _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString())); + case SPK.ElectricTV: + List.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(obj.ToString())); break; - case FunctionType.Socket: - _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString())); + case SPK.ElectricSocket: + List.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(obj.ToString())); break; - case FunctionType.Fan: - _FunctionList.electricals.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(obj.ToString())); + case SPK.ElectricFan: + List.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: - _FunctionList.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString())); + case SPK.SensorTVOC: + case SPK.SensorCO2: + case SPK.SensorPm25: + case SPK.SensorHumidity: + case SPK.SensorTemperature: + List.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString())); + break; + case SPK.SensorWater: + case SPK.SensorSmoke: + case SPK.SensorGas: + case SPK.SensorDryContact: + case SPK.SensorShanLan: + case SPK.SensorDuiShe: + case SPK.SensorPir: + case SPK.SensorDoorWindow: + case SPK.SensoruUtrasonic: + List.sensorsArm.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString())); break; } break; @@ -415,35 +477,35 @@ case SPK.LightRGB: case SPK.LightRGBW: case SPK.LightCCT: - _FunctionList.lights.Remove(_FunctionList.lights.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.lights.Remove(List.lights.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.CurtainRoller: case SPK.CurtainShades: case SPK.CurtainSwitch: case SPK.CurtainTrietex: - _FunctionList.curtains.Remove(_FunctionList.curtains.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.curtains.Remove(List.curtains.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.AcStandard: - _FunctionList.aCs.Remove(_FunctionList.aCs.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.aCs.Remove(List.aCs.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.FloorHeatStandard: - _FunctionList.floorHeatings.Remove(_FunctionList.floorHeatings.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.floorHeatings.Remove(List.floorHeatings.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.SensorPm25: case SPK.SensorCO2: case SPK.SensorTVOC: case SPK.SensorTemperature: case SPK.SensorHumidity: - _FunctionList.sensorsEnvironmentalScience.Remove(_FunctionList.sensorsEnvironmentalScience.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.sensorsEnvironmentalScience.Remove(List.sensorsEnvironmentalScience.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.ElectricSocket: - _FunctionList.switchSockets.Remove(_FunctionList.switchSockets.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.switchSockets.Remove(List.switchSockets.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.ElectricTV: - _FunctionList.tVs.Remove(_FunctionList.tVs.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.tVs.Remove(List.tVs.Find((obj) => obj.deviceId == delTemp.deviceId)); break; case SPK.ElectricFan: - _FunctionList.fans.Remove(_FunctionList.fans.Find((obj) => obj.deviceId == delTemp.deviceId)); + List.fans.Remove(List.fans.Find((obj) => obj.deviceId == delTemp.deviceId)); break; } var removeTemp = deviceFunctionList.Find((obj) => obj.deviceId == delTemp.deviceId); @@ -498,13 +560,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; } -- Gitblit v1.8.0