From 19397c2a95efa904cccaf299363dc0111af28042 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 07 八月 2023 19:47:53 +0800
Subject: [PATCH] 2023年08月07日19:47:43
---
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 184 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 156 insertions(+), 28 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index e1a5520..58bd067 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -11,7 +11,7 @@
/// <summary>
/// 瀹氫箟涓�涓潤鎬佸璞�
/// </summary>
- private static LogicMethod s_Current = null;
+ private static LogicMethod s_Current = null;
/// <summary>
/// 鑾峰彇闈欐�佸璞�
/// </summary>
@@ -147,9 +147,9 @@
/// <returns></returns>
public List<HDL_ON.Entity.Room> GetGatewayRoomList()
{
- return HDL_ON.Entity.SpatialInfo.CurrentSpatial.RoomList;
+ return HDL_ON.Entity.SpatialInfo.CurrentSpatial.RoomList;
-
+
}
/// <summary>
/// 鑾峰彇缃戝叧鎴块棿鍒楄〃
@@ -187,7 +187,10 @@
var list2 = this.GetVideoDeviceList();
list.AddRange(list1);
list.AddRange(list2);
+ list.AddRange(FunctionList.List.groupControls);
+#if DEBUG
//GetTestDevice(ref list, true);
+#endif
return list;
}
/// <summary>
@@ -197,15 +200,17 @@
public List<HDL_ON.Entity.Function> GetVideoDeviceList()
{
var functionList = new List<Function>();
- foreach (var videoDevice in FunctionList.List.videoIntercom) {
+ foreach (var videoDevice in FunctionList.List.videoIntercom)
+ {
Function function = new Function();
function.spk = videoDevice.spk;
function.name = videoDevice.deviceName;
function.deviceId = videoDevice.deviceId;
- function.online = videoDevice.status== "online";
+ function.online = videoDevice.status == "online";
function.sid = videoDevice.sid;
var video = functionList.Find((o) => o.deviceId == function.deviceId);
- if (video == null) {
+ if (video == null)
+ {
functionList.Add(function);
}
@@ -341,17 +346,52 @@
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)
+ {
+ 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";
+ }
+ break;
case SPK.doorgate:
{
strPath = "VideoIcon/keshiduijiang.png";
@@ -386,6 +426,7 @@
}
break;
case SPK.AcStandard:
+ case SPK.AcIr:
case SPK.HvacAC:
{
strPath = "LogicIcon/airconditionerlogic.png";
@@ -416,9 +457,10 @@
case SPK.SensorPir:
case SPK.SensorDoorWindow:
case SPK.SensorUtrasonic:
+ 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:
@@ -428,6 +470,8 @@
case SPK.SensorTVOC:
case SPK.SensorHcho:
case SPK.SensorHelp:
+ case SPK.SensorPirHold:
+
{
strPath = "LogicIcon/sensor.png";
}
@@ -443,10 +487,10 @@
strPath = "MusicIcon/localMusic.png";
}
break;
-
}
return strPath;
}
+ #region 鍔ㄤ竴鏀逛笁
/// <summary>
/// 璁惧绫诲瀷鐨勫垪琛�(鐏厜绫伙紝绐楀笜绫汇�傘�傘��)
/// </summary>
@@ -456,6 +500,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
@@ -480,7 +533,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));
@@ -508,9 +561,10 @@
|| device.spk == SPK.SensorPir
|| device.spk == SPK.SensorDoorWindow
|| device.spk == SPK.SensorUtrasonic
+ || 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
@@ -520,6 +574,8 @@
|| device.spk == SPK.SensorTVOC
|| device.spk == SPK.SensorHcho
|| device.spk == SPK.SensorHelp
+ || device.spk == SPK.SensorPm10
+ || device.spk == SPK.SensorPirHold
);
if (sensor != null)
{
@@ -536,7 +592,8 @@
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));
@@ -553,6 +610,20 @@
{
deviceStrTypeList.Add(Language.StringByID(StringId.VideoIntercom));
}
+ ///鏈烘鎵嬬被
+ var MechanicalArm = deviceList.Find((device) =>
+ device.spk == SPK.MechanicalArm);
+ 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;
}
@@ -564,6 +635,7 @@
public List<string> GetDeviceTypeFunctionList(string deviceType)
{
List<string> functionTypeList = new List<string>();
+
///鐏厜绫�
if (deviceType == Language.StringByID(StringId.Lights))
{
@@ -575,6 +647,11 @@
functionTypeList.Add(SPK.AirSwitch);
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))
@@ -590,6 +667,7 @@
functionTypeList.Add(SPK.AcStandard);
functionTypeList.Add(SPK.HvacAC);
functionTypeList.Add(SPK.HvacCac);
+ functionTypeList.Add(SPK.AcIr);
}
///鍦版殩绫�
else if (deviceType == Language.StringByID(StringId.FloorHeating))
@@ -613,9 +691,10 @@
functionTypeList.Add(SPK.SensorPir);
functionTypeList.Add(SPK.SensorDoorWindow);
functionTypeList.Add(SPK.SensorUtrasonic);
+ 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);
@@ -625,6 +704,8 @@
functionTypeList.Add(SPK.SensorTVOC);
functionTypeList.Add(SPK.SensorHcho);
functionTypeList.Add(SPK.SensorHelp);
+ functionTypeList.Add(SPK.SensorPm10);
+ functionTypeList.Add(SPK.SensorPirHold);
}
@@ -639,6 +720,7 @@
else if (deviceType == Language.StringByID(StringId.DoorLock))
{
functionTypeList.Add(SPK.DoorLock);
+ functionTypeList.Add(SPK.VideoDoorLock);
}
///闊充箰绫�
else if (deviceType == Language.StringByID(StringId.Music))
@@ -651,9 +733,24 @@
{
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);
@@ -667,6 +764,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);
@@ -681,9 +779,10 @@
functionTypeList.Add(SPK.SensorPir);
functionTypeList.Add(SPK.SensorDoorWindow);
functionTypeList.Add(SPK.SensorUtrasonic);
+ 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);
@@ -702,6 +801,12 @@
functionTypeList.Add(SPK.MusicStandard);
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);
}
@@ -720,6 +825,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);
@@ -728,7 +835,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);
@@ -740,9 +847,10 @@
deviceTypeList.Add(SPK.SensorPir);
deviceTypeList.Add(SPK.SensorDoorWindow);
deviceTypeList.Add(SPK.SensorUtrasonic);
+ 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);
@@ -757,12 +865,18 @@
deviceTypeList.Add(SPK.HvacCac);
deviceTypeList.Add(SPK.SensorHelp);
deviceTypeList.Add(SPK.DoorLock);
- deviceTypeList.Add(SPK.doorgate);
+ 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);
}
break;
case target_if:
{
+ deviceTypeList.Add(SPK.GroupControl);
deviceTypeList.Add(SPK.LightSwitch);
deviceTypeList.Add(SPK.LightRGB);
deviceTypeList.Add(SPK.LightRGBW);
@@ -771,7 +885,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);
@@ -780,6 +894,8 @@
deviceTypeList.Add(SPK.CurtainDream);
deviceTypeList.Add(SPK.MusicStandard);
deviceTypeList.Add(SPK.AvMusic);
+ deviceTypeList.Add(SPK.MechanicalArm);
+ deviceTypeList.Add(SPK.AcIr);
}
break;
}
@@ -816,15 +932,15 @@
/// <returns></returns>
public List<Entity.Function> GetFunctionDeviceList(Entity.Room room, string str)
{
- List<string> functionTypeList = GetSupportEquipment(str);
+ List<string> functionTypeList = this.GetSupportEquipment(str);
//杩斿洖鎴块棿璁惧鍒楄〃
- var roomDeviceList = GetRoomDevice(room);
+ var roomDeviceList = this.GetRoomDevice(room);
//杩斿洖鏈�缁堟敮鎸佹樉绀哄嚭鏉ョ殑璁惧鍒楄〃
- var list = GetShowDeviceList(functionTypeList, roomDeviceList);
+ var list =this.GetShowDeviceList(functionTypeList, roomDeviceList);
return list;
}
/// <summary>
- /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID)
+ /// 缃戝叧ID(鑾峰彇缃戝叧ID)
/// </summary>
public string GatewayId
{
@@ -1044,7 +1160,7 @@
//瀹氫箟涓�涓眬閮ㄥ彉閲�
string direction = string.Empty;
//涓ょ偣璺濈灏忎簬閰嶇疆璺濈<鏃㈣嚜鍔ㄥ寲閰嶇疆杈撳叆鏉′欢鍦扮悊鍥存爮鍗婂緞>,璇存槑杩涘叆鍖哄煙
- if (r < radius)
+ if (r * 1000 < radius)
{
//鍒拌揪鏌愬湴
direction = "arrive";
@@ -1095,9 +1211,21 @@
{
//妯℃嫙璁惧
var functions = new List<Function> {
- new Entity.Function { sid = "1234567890", name = "瓒呭0娉紶鎰熷櫒", spk = Entity.SPK.SensorUtrasonic },
- new Entity.Function { sid = "1234567891", name = "娓╁害浼犳劅鍣�", spk = Entity.SPK.SensorTemperature },
- new Entity.Function { sid = "1234567892", name = "婀垮害浼犳劅鍣�", spk = Entity.SPK.SensorHumidity },
+ //new Entity.Function { sid = "1234567890", name = "瓒呭0娉紶鎰熷櫒", spk = Entity.SPK.SensorUtrasonic },
+ // 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.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 = "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 },
};
foreach (var function in functions)
{
--
Gitblit v1.8.0