mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -189,7 +189,7 @@
            list.AddRange(list2);
            list.AddRange(FunctionList.List.groupControls);
#if DEBUG
            GetTestDevice(ref list, true);
            //GetTestDevice(ref list, true);
#endif
            return list;
        }
@@ -361,7 +361,7 @@
            }
            else if (SPK.SensorPm10 == device.spk
                || SPK.SensorPirHold == device.spk
                || SPK.SensorLight == device.spk)
               )
            {
                return "LogicIcon/sensor.png";
            }
@@ -370,129 +370,14 @@
            {
                return "FunctionIcon/DoorLock/DoorLock.png";
            }
            //LogicIcon/heatlogic.png"
            else if (SPK.ElectricalTvHisense == device.spk)
            {
                return "LogicIcon/electricaltvhisense.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 spk)
        {
            string strPath = "";
            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";
                    }
                    break;
                case SPK.AirSwitch:
                    {
                        strPath = "FunctionIcon/Icon/electricalbreaker.png";
                    }
                    break;
                case SPK.PanelSocket:
                case SPK.ElectricSocket:
                    {
                        strPath = "FunctionIcon/Icon/electricalsocket.png";
                    }
                    break;
                case SPK.LightSwitch:
                case SPK.LightRGB:
                case SPK.LightRGBW:
                case SPK.LightCCT:
                case SPK.LightDimming:
                    {
                        strPath = "LogicIcon/lightloguc.png";
                    }
                    break;
                case SPK.CurtainSwitch:
                case SPK.CurtainRoller:
                case SPK.CurtainTrietex:
                case SPK.CurtainDream:
                    {
                        strPath = "LogicIcon/curtainlogic.png";
                    }
                    break;
                case SPK.AcStandard:
                case SPK.AcIr:
                case SPK.HvacAC:
                    {
                        strPath = "LogicIcon/airconditionerlogic.png";
                    }
                    break;
                case SPK.HvacCac:
                    strPath = "FunctionIcon/Icon/hvaccac.png";
                    break;
                case SPK.FloorHeatStandard:
                case SPK.HvacFloorHeat:
                    {
                        strPath = "LogicIcon/heatlogic.png";
                    }
                    break;
                case SPK.AirFreshStandard:
                case SPK.HvacAirFresh:
                    {
                        strPath = "LogicIcon/heatlogic.png";
                    }
                    break;
                case SPK.SensorSmoke:
                case SPK.SensorWater:
                case SPK.SensorGas:
                case SPK.SensorDryContact:
                case SPK.SensorDryContact2:
                case SPK.SensorShanLan:
                case SPK.SensorDuiShe:
                case SPK.SensorPir:
                case SPK.SensorDoorWindow:
                case SPK.SensorUtrasonic:
                case SPK.SensorMmvPose:
                case SPK.SenesorMegahealth:
                case SPK.SenesorMegahealth2:
                case SPK.SensorEnvironment:case SPK.SensorEnvironmentHailin:
                case SPK.SensorEnvironment2:
                case SPK.SensorEnvironment3:
                case SPK.SensorTemperature:
                case SPK.SensorHumidity:
                case SPK.SensorCO2:
                case SPK.SensorPm25:
                case SPK.SensorTVOC:
                case SPK.SensorHcho:
                case SPK.SensorHelp:
                case SPK.SensorPirHold:
                    {
                        strPath = "LogicIcon/sensor.png";
                    }
                    break;
                case SPK.DoorLock:
                    {
                        strPath = "FunctionIcon/DoorLock/DoorLock.png";
                    }
                    break;
                case SPK.MusicStandard:
                case SPK.AvMusic:
                    {
                        strPath = "MusicIcon/localMusic.png";
                    }
                    break;
            }
            return strPath;
        }
        #region   动一改三
        /// <summary>
        /// 设备类型的列表(灯光类,窗帘类。。。)
@@ -519,6 +404,7 @@
            || device.spk == SPK.LightCCT
            || device.spk == SPK.LightRGB
            || device.spk == SPK.LightRGBW
            || device.spk == SPK.OtherCommon
            );
            if (lightjosn != null)
            {
@@ -652,6 +538,7 @@
                functionTypeList.Add(SPK.AirSwitch);
                functionTypeList.Add(SPK.PanelSocket);
                functionTypeList.Add(SPK.ElectricSocket);
                functionTypeList.Add(SPK.OtherCommon);
            }
            //群控
            else if (deviceType == Language.StringByID(StringId.GroupControl))
@@ -816,6 +703,7 @@
                functionTypeList.Add(SPK.SensorPirHold);
                functionTypeList.Add(SPK.ElectricalTvHisense);
                functionTypeList.Add(SPK.SensorLight);
                functionTypeList.Add(SPK.OtherCommon);
            }
@@ -907,6 +795,7 @@
                        deviceTypeList.Add(SPK.MechanicalArm);
                        deviceTypeList.Add(SPK.AcIr);
                        deviceTypeList.Add(SPK.ElectricalTvHisense);
                        deviceTypeList.Add(SPK.OtherCommon);
                    }
                    break;
            }
@@ -982,6 +871,63 @@
            get
            {
                return Entity.DB_ResidenceData.Instance.CurrentRegion.isOtherShare;
            }
        }
        /// <summary>
        /// 拼接时间格式//"{h}h{m}min{s}s";
        /// </summary>
        /// <param name="totalSeconds">秒(没有默认传入0)</param>
        /// <returns></returns>
        public string getTimeStr(string totalSeconds)
        {
            try
            {
                if (string.IsNullOrEmpty(totalSeconds))
                {
                    return "";
                }
                int time = int.Parse(totalSeconds);
                int h = time / (60 * 60);
                int m = time % (60 * 60) / 60;
                int s = (time % (60 * 60) % 60);
                if (h == 0 && m != 0 && s != 0)
                {
                    return $"{m}min{s}s";
                }
                else if (h == 0 && m == 0 && s != 0)
                {
                    return $"{s}s";
                }
                else if (h == 0 && m != 0 && s == 0)
                {
                    return $"{m}min";
                }
                else if (h != 0 && m == 0 && s != 0)
                {
                    return $"{h}h{s}s";
                }
                else if (h != 0 && m == 0 && s == 0)
                {
                    return $"{h}h";
                }
                else if (h != 0 && m != 0 && s == 0)
                {
                    return $"{h}h{m}min";
                }
                else if (h != 0 && m != 0 && s != 0)
                {
                    return $"{h}h{m}min{s}s";
                }
                else if (h == 0 && m == 0 && s == 0)
                {
                    return $"0s";
                }
                return "";
            }
            catch
            {
                return "";
            }
        }
@@ -1134,18 +1080,17 @@
                //不是主账号直接返回
                return;
            }
            List<LogicData> logicDataList = new List<LogicData>();
            List<LogicIdData> logicDataList = new List<LogicIdData>();
            logicDataList.Clear();
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    //获取逻辑ID列表,目前针对所有<备注:如果只针对当前手机的话,可以直接拿缓存数据自动化列表遍历>
                    var idStr = Send.Current.GetLogicIdList();
                    if (idStr != null)
                    var idStrList = Send.Current.GetLogicIdList();
                    if (idStrList != null)
                    {
                        var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data);
                        logicDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date);
                        logicDataList.AddRange(idStrList);
                    }
                    ///有自动列表才处理
                    if (logicDataList.Count > 0)
@@ -1222,12 +1167,13 @@
            {
                //模拟设备
                var functions = new List<Function> {
                 new Entity.Function { sid = "1234567890", name = "照明传感器", spk = Entity.SPK.SensorLight },
                  new Entity.Function { sid = "1234567891", name = "插座", spk = Entity.SPK.PanelSocket },
                 //  new Entity.Function { sid = "1234567892", name = "湿度传感器", spk = Entity.SPK.SensorHumidity },
                 new Entity.Function { sid = "1234567890", name = "光照传感器", spk = Entity.SPK.SensorLight },
                  new Entity.Function { sid = "1234567891", name = "干节点", spk = Entity.SPK.SensorDryContact },
                   new Entity.Function { sid = "1234567892", name = "紧急求助传感器", spk = Entity.SPK.SensorHelp },
                        new Entity.Function { sid = "12345678921", name = "通用开关", spk = Entity.SPK.OtherCommon },
                    //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 = "123456789688889", 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 },