From 0a11352dffeb8d5f31dd40b9728fe1abf4537f04 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 01 九月 2023 18:06:45 +0800 Subject: [PATCH] 2023年09月01日18:06:42 --- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 153 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 129 insertions(+), 24 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index 4c0e435..8d03e9a 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -131,7 +131,7 @@ /// <param name="dic">Dictionary绫�</param> /// <param name="key">鍋�</param> /// <param name="value">鍊�</param> - public void dictionary(Dictionary<string, string> dic, string key, string value) + public void dictionary(Dictionary<string, string> dic, string key, string value) { if (dic.ContainsKey(key)) //鍒ゆ柇鏄惁瀛樺湪閿�� { @@ -187,7 +187,10 @@ var list2 = this.GetVideoDeviceList(); list.AddRange(list1); list.AddRange(list2); - GetTestDevice(ref list, false); + list.AddRange(FunctionList.List.groupControls); +#if DEBUG + //GetTestDevice(ref list, true); +#endif return list; } /// <summary> @@ -203,7 +206,7 @@ function.spk = videoDevice.spk; function.name = videoDevice.deviceName; function.deviceId = videoDevice.deviceId; - function.online = videoDevice.status == "online"; + function.setOnine( videoDevice.status == "online"); function.sid = videoDevice.sid; var video = functionList.Find((o) => o.deviceId == function.deviceId); if (video == null) @@ -343,17 +346,50 @@ return roomName.TrimEnd(','); } - #region 鍔ㄤ竴鏀瑰洓 + /// <summary> /// 鑾峰彇璁惧绫诲瀷鍥炬爣 /// </summary> + /// <param name="device">璁惧</param> + /// <returns></returns> + public string GetDeviceIconPath(Function device) + { + if (SPK.MusicStandard == device.spk + || SPK.AvMusic == device.spk) + { + return "MusicIcon/localMusic.png"; + } + else if (SPK.SensorPm10 == device.spk + || SPK.SensorPirHold == device.spk + || SPK.SensorLight == device.spk) + { + return "LogicIcon/sensor.png"; + } + else if (SPK.DoorLock == device.spk + || SPK.VideoDoorLock == device.spk) + { + return "FunctionIcon/DoorLock/DoorLock.png"; + } + + //LogicIcon/heatlogic.png" + return $"FunctionIcon/Icon/{device.IconName}.png"; + + } + /// <summary> + /// 鑾峰彇璁惧绫诲瀷鍥炬爣(宸插純鐢� 2022骞�11鏈�25鏃�14:07:30) + /// </summary> /// <param name="functionType">璁惧绫诲瀷</param> /// <returns></returns> - public string GetIconPath(string functionType) + public string GetIconPath(string spk) { string strPath = ""; - switch (functionType) + switch (spk) { + case SPK.IpCam_Imou: + { + strPath = $"FunctionIcon/Icon/{SPK.IpCam_Imou.Replace(".", "")}.png"; + } + break; case SPK.MechanicalArm: { strPath = "LogicIcon/lightloguc.png"; @@ -393,6 +429,7 @@ } break; case SPK.AcStandard: + case SPK.AcIr: case SPK.HvacAC: { strPath = "LogicIcon/airconditionerlogic.png"; @@ -426,7 +463,7 @@ case SPK.SensorMmvPose: case SPK.SenesorMegahealth: case SPK.SenesorMegahealth2: - case SPK.SensorEnvironment: + case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin: case SPK.SensorEnvironment2: case SPK.SensorEnvironment3: case SPK.SensorTemperature: @@ -436,6 +473,8 @@ case SPK.SensorTVOC: case SPK.SensorHcho: case SPK.SensorHelp: + case SPK.SensorPirHold: + { strPath = "LogicIcon/sensor.png"; } @@ -451,10 +490,10 @@ strPath = "MusicIcon/localMusic.png"; } break; - } return strPath; } + #region 鍔ㄤ竴鏀逛笁 /// <summary> /// 璁惧绫诲瀷鐨勫垪琛�(鐏厜绫伙紝绐楀笜绫汇�傘�傘��) /// </summary> @@ -464,7 +503,15 @@ { List<string> deviceStrTypeList = new List<string>(); deviceStrTypeList.Clear(); - + + //缇ゆ帶 + var gp = deviceList.Find((device) => + device.spk == SPK.GroupControl); + if (gp != null) + { + deviceStrTypeList.Add(Language.StringByID(StringId.GroupControl)); + } + ///鐏厜绫� var lightjosn = deviceList.Find((device) => device.spk == SPK.LightSwitch @@ -489,7 +536,7 @@ deviceStrTypeList.Add(Language.StringByID(StringId.Curtain)); } ///绌鸿皟绫� - var ac = deviceList.Find((device) => device.spk == SPK.AcStandard || device.spk == SPK.HvacAC); + var ac = deviceList.Find((device) => device.spk == SPK.AcStandard || device.spk == SPK.HvacAC|| device.spk == SPK.AcIr); if (ac != null) { deviceStrTypeList.Add(Language.StringByID(StringId.AC)); @@ -520,7 +567,7 @@ || device.spk == SPK.SensorMmvPose || device.spk == SPK.SenesorMegahealth || device.spk == SPK.SenesorMegahealth2 - || device.spk == SPK.SensorEnvironment + || device.spk == SPK.SensorEnvironment || device.spk == SPK.SensorEnvironmentHailin || device.spk == SPK.SensorEnvironment2 || device.spk == SPK.SensorEnvironment3 || device.spk == SPK.SensorTemperature @@ -530,6 +577,9 @@ || device.spk == SPK.SensorTVOC || device.spk == SPK.SensorHcho || device.spk == SPK.SensorHelp + || device.spk == SPK.SensorPm10 + || device.spk == SPK.SensorPirHold + || device.spk == SPK.SensorLight ); if (sensor != null) { @@ -540,13 +590,15 @@ device.spk == SPK.AirSwitch || device.spk == SPK.PanelSocket || device.spk == SPK.ElectricSocket + || device.spk == SPK.ElectricalTvHisense ); if (electric != null) { deviceStrTypeList.Add(Language.StringByID(StringId.Electric)); } ///闂ㄩ攣绫� - var doorlock = deviceList.Find((device) => device.spk == SPK.DoorLock); + var doorlock = deviceList.Find((device) => device.spk == SPK.DoorLock + || device.spk == SPK.VideoDoorLock); if (doorlock != null) { deviceStrTypeList.Add(Language.StringByID(StringId.DoorLock)); @@ -569,6 +621,13 @@ if (MechanicalArm != null) { deviceStrTypeList.Add(Language.StringByID(StringId.jixieshou)); + } + ///鎽勫儚澶寸被 + var camera = deviceList.Find((device) => + device.spk == SPK.IpCam_Imou || device.spk == SPK.Ev_Ipcam || device.spk == SPK.Peephole); + if (camera != null) + { + deviceStrTypeList.Add(Language.StringByID(StringId.shexiangtou)); } return deviceStrTypeList; @@ -594,6 +653,11 @@ functionTypeList.Add(SPK.PanelSocket); functionTypeList.Add(SPK.ElectricSocket); } + //缇ゆ帶 + else if (deviceType == Language.StringByID(StringId.GroupControl)) + { + functionTypeList.Add(SPK.GroupControl); + } ///绐楀笜绫� else if (deviceType == Language.StringByID(StringId.Curtain)) { @@ -608,6 +672,7 @@ functionTypeList.Add(SPK.AcStandard); functionTypeList.Add(SPK.HvacAC); functionTypeList.Add(SPK.HvacCac); + functionTypeList.Add(SPK.AcIr); } ///鍦版殩绫� else if (deviceType == Language.StringByID(StringId.FloorHeating)) @@ -634,7 +699,7 @@ functionTypeList.Add(SPK.SensorMmvPose); functionTypeList.Add(SPK.SenesorMegahealth); functionTypeList.Add(SPK.SenesorMegahealth2); - functionTypeList.Add(SPK.SensorEnvironment); + functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironmentHailin); functionTypeList.Add(SPK.SensorEnvironment2); functionTypeList.Add(SPK.SensorEnvironment3); functionTypeList.Add(SPK.SensorTemperature); @@ -644,6 +709,9 @@ functionTypeList.Add(SPK.SensorTVOC); functionTypeList.Add(SPK.SensorHcho); functionTypeList.Add(SPK.SensorHelp); + functionTypeList.Add(SPK.SensorPm10); + functionTypeList.Add(SPK.SensorPirHold); + functionTypeList.Add(SPK.SensorLight); } @@ -653,11 +721,13 @@ functionTypeList.Add(SPK.AirSwitch); functionTypeList.Add(SPK.PanelSocket); functionTypeList.Add(SPK.ElectricSocket); + functionTypeList.Add(SPK.ElectricalTvHisense); } ///闂ㄩ攣绫� else if (deviceType == Language.StringByID(StringId.DoorLock)) { functionTypeList.Add(SPK.DoorLock); + functionTypeList.Add(SPK.VideoDoorLock); } ///闊充箰绫� else if (deviceType == Language.StringByID(StringId.Music)) @@ -669,14 +739,25 @@ else if (deviceType == Language.StringByID(StringId.VideoIntercom)) { functionTypeList.Add(SPK.doorgate); - } ///鏈烘鎵嬬被 + } + ///鏈烘鎵嬬被 else if (deviceType == Language.StringByID(StringId.jixieshou)) { functionTypeList.Add(SPK.MechanicalArm); } + ///鎽勫儚澶寸被 + else if (deviceType == Language.StringByID(StringId.shexiangtou)) + { + functionTypeList.Add(SPK.IpCam_Imou); + functionTypeList.Add(SPK.Ev_Ipcam); + functionTypeList.Add(SPK.Peephole); + } else { //鍏ㄩ儴鍖哄煙 + functionTypeList.Add(SPK.GroupControl); + functionTypeList.Add(SPK.Peephole); + functionTypeList.Add(SPK.Ev_Ipcam); functionTypeList.Add(SPK.LightSwitch); functionTypeList.Add(SPK.LightDimming); functionTypeList.Add(SPK.LightRGB); @@ -690,6 +771,7 @@ functionTypeList.Add(SPK.CurtainTrietex); functionTypeList.Add(SPK.AcStandard); functionTypeList.Add(SPK.HvacAC); + functionTypeList.Add(SPK.AcIr); functionTypeList.Add(SPK.FloorHeatStandard); functionTypeList.Add(SPK.HvacFloorHeat); functionTypeList.Add(SPK.AirFreshStandard); @@ -707,7 +789,7 @@ functionTypeList.Add(SPK.SensorMmvPose); functionTypeList.Add(SPK.SenesorMegahealth); functionTypeList.Add(SPK.SenesorMegahealth2); - functionTypeList.Add(SPK.SensorEnvironment); + functionTypeList.Add(SPK.SensorEnvironment); functionTypeList.Add(SPK.SensorEnvironmentHailin); functionTypeList.Add(SPK.SensorEnvironment2); functionTypeList.Add(SPK.SensorEnvironment3); functionTypeList.Add(SPK.SensorTemperature); @@ -727,6 +809,13 @@ functionTypeList.Add(SPK.AvMusic); functionTypeList.Add(SPK.doorgate); functionTypeList.Add(SPK.MechanicalArm); + functionTypeList.Add(SPK.IpCam_Imou); + functionTypeList.Add(SPK.SensorPm10); + functionTypeList.Add(SPK.VideoDoorLock); + functionTypeList.Add(SPK.AcIr); + functionTypeList.Add(SPK.SensorPirHold); + functionTypeList.Add(SPK.ElectricalTvHisense); + functionTypeList.Add(SPK.SensorLight); } @@ -745,6 +834,8 @@ { case condition_if: { + deviceTypeList.Add(SPK.Ev_Ipcam); + deviceTypeList.Add(SPK.Peephole); deviceTypeList.Add(SPK.LightSwitch); deviceTypeList.Add(SPK.LightRGB); deviceTypeList.Add(SPK.LightRGBW); @@ -753,7 +844,7 @@ deviceTypeList.Add(SPK.CurtainSwitch); deviceTypeList.Add(SPK.CurtainRoller); deviceTypeList.Add(SPK.CurtainTrietex); - deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC); + deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC);deviceTypeList.Add(SPK.AcIr); deviceTypeList.Add(SPK.AirFreshStandard); deviceTypeList.Add(SPK.HvacAirFresh); deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.HvacFloorHeat); deviceTypeList.Add(SPK.SensorSmoke); @@ -768,7 +859,7 @@ deviceTypeList.Add(SPK.SensorMmvPose); deviceTypeList.Add(SPK.SenesorMegahealth); deviceTypeList.Add(SPK.SenesorMegahealth2); - deviceTypeList.Add(SPK.SensorEnvironment); + deviceTypeList.Add(SPK.SensorEnvironment); deviceTypeList.Add(SPK.SensorEnvironmentHailin); deviceTypeList.Add(SPK.SensorEnvironment2); deviceTypeList.Add(SPK.SensorEnvironment3); deviceTypeList.Add(SPK.SensorTemperature); @@ -784,11 +875,18 @@ deviceTypeList.Add(SPK.SensorHelp); deviceTypeList.Add(SPK.DoorLock); deviceTypeList.Add(SPK.doorgate); + deviceTypeList.Add(SPK.IpCam_Imou); + deviceTypeList.Add(SPK.SensorPm10); + deviceTypeList.Add(SPK.VideoDoorLock); + deviceTypeList.Add(SPK.AcIr); + deviceTypeList.Add(SPK.SensorPirHold); + deviceTypeList.Add(SPK.SensorLight); } break; case target_if: { + deviceTypeList.Add(SPK.GroupControl); deviceTypeList.Add(SPK.LightSwitch); deviceTypeList.Add(SPK.LightRGB); deviceTypeList.Add(SPK.LightRGBW); @@ -797,7 +895,7 @@ deviceTypeList.Add(SPK.CurtainSwitch); deviceTypeList.Add(SPK.CurtainRoller); deviceTypeList.Add(SPK.CurtainTrietex); - deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC); + deviceTypeList.Add(SPK.AcStandard); deviceTypeList.Add(SPK.HvacAC); deviceTypeList.Add(SPK.AcIr); deviceTypeList.Add(SPK.FloorHeatStandard); deviceTypeList.Add(SPK.HvacFloorHeat); deviceTypeList.Add(SPK.AirFreshStandard); deviceTypeList.Add(SPK.HvacAirFresh); deviceTypeList.Add(SPK.AirSwitch); @@ -807,6 +905,8 @@ deviceTypeList.Add(SPK.MusicStandard); deviceTypeList.Add(SPK.AvMusic); deviceTypeList.Add(SPK.MechanicalArm); + deviceTypeList.Add(SPK.AcIr); + deviceTypeList.Add(SPK.ElectricalTvHisense); } break; } @@ -851,7 +951,7 @@ return list; } /// <summary> - /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID) + /// 缃戝叧ID(鑾峰彇缃戝叧ID) /// </summary> public string GatewayId { @@ -1122,17 +1222,22 @@ { //妯℃嫙璁惧 var functions = new List<Function> { - //new Entity.Function { sid = "1234567890", name = "瓒呭0娉紶鎰熷櫒", spk = Entity.SPK.SensorUtrasonic }, + new Entity.Function { sid = "1234567890", name = "鐓ф槑浼犳劅鍣�", spk = Entity.SPK.SensorLight }, // new Entity.Function { sid = "1234567891", name = "娓╁害浼犳劅鍣�", spk = Entity.SPK.SensorTemperature }, // new Entity.Function { sid = "1234567892", name = "婀垮害浼犳劅鍣�", spk = Entity.SPK.SensorHumidity }, - new Entity.Function { sid = "12345678933456", name = "璋冨厜鐏�", spk = Entity.SPK.LightDimming }, - new Entity.Function { sid = "1234567895444", name = "cct", spk = Entity.SPK.LightCCT }, - //new Entity.Function { sid = "1234567896", name = "姣背娉紶鎰熷櫒", spk = Entity.SPK.SenesorMegahealth }, + //new Entity.Function { sid = "12345678933456", name = "闂ㄩ攣", spk = Entity.SPK.DoorLock }, + // new Entity.Function { sid = "1234567895444", name = "瑙嗛闂ㄩ攣", spk = Entity.SPK.VideoDoorLock }, + //new Entity.Function { sid = "12345678968888", name = "浜轰綋瀛樺湪浼犳劅鍣�", spk = Entity.SPK.SensorPirHold }, + new Entity.Function { sid = "12345678968888", name = "娴嬭瘯鐚溂", spk = Entity.SPK.Peephole }, + new Entity.Function { sid = "12345678968889", name = "娴嬭瘯钀ょ煶鎽勫儚澶�", spk = Entity.SPK.Ev_Ipcam }, // new Entity.Function { sid = "1234567897", name = "姣背娉紶鎰熷櫒1", spk = Entity.SPK.SenesorMegahealth2 }, // new Entity.Function { sid = "1234567899", name = "闂ㄧ浼犳劅鍣�", spk = Entity.SPK.SensorDoorWindow }, // new Entity.Function { sid = "12345678991234", name = "HDL鏈烘鎵�", spk = Entity.SPK.MechanicalArm }, // new Entity.Function { sid = "123456789912345", name = "娴锋浖鏈烘鎵�", spk = Entity.SPK.MechanicalArm }, - // new Entity.Function { sid = "12345678991234566", name = "娴锋浖鏈烘鎵�", spk = Entity.SPK.MechanicalArm }, + new Entity.Function { sid = "12345678991234566844", name = "澶у崕鎽勫儚澶�", spk = Entity.SPK.IpCam_Imou }, + new Entity.Function { sid = "12345678991234567", name = "RGB", spk = Entity.SPK.LightRGB }, + new Entity.Function { sid = "123456789912345678", name = "RGBW", spk = Entity.SPK.LightRGBW }, + new Function { spk = SPK.ElectricalTvHisense, name = "娴蜂俊鐢佃1",sid="123456789"}, }; foreach (var function in functions) { -- Gitblit v1.8.0