| | |
| | | /// 功能列表 |
| | | /// </summary> |
| | | public List<Function> Functions = new List<Function>(); |
| | | /// <summary> |
| | | /// 群控列表 |
| | | /// </summary> |
| | | public List<GroupControl> groupControls = new List<GroupControl>(); |
| | | |
| | | |
| | | /// <summary> |
| | | /// 机械臂列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetMechanicalArmList() |
| | | { |
| | | return Functions.FindAll((obj) => obj.spk == SPK.MechanicalArm); |
| | | } |
| | | |
| | | List<Function> _IpCamImou; |
| | | /// <summary> |
| | | /// 获取摄像头列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetIpCamImouList() |
| | | { |
| | | if (_IpCamImou == null) |
| | | { |
| | | _IpCamImou = Functions.FindAll((obj) => obj.spk == SPK.IpCam_Imou); |
| | | if (_IpCamImou.Count > 0) |
| | | { |
| | | #if __IOS__ |
| | | //初始化大华摄像头sdk |
| | | Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost); |
| | | Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString; |
| | | Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken; |
| | | Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id; |
| | | Console.WriteLine("token:" + UserInfo.Current.LoginTokenString); |
| | | Console.WriteLine("token:" + UserInfo.Current.RefreshToken); |
| | | Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList(); |
| | | |
| | | |
| | | |
| | | #else |
| | | Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost); |
| | | Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; |
| | | Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken; |
| | | #endif |
| | | } |
| | | } |
| | | return _IpCamImou; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 绿建科技系统 |
| | | /// 总控列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetAcstParentList() |
| | | { |
| | | return Functions.FindAll((obj) => obj.spk == SPK.AcstParent);//.OrderByDescending(o=>o.controlCounter).ToList() |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 绿建科技系统 |
| | | /// 子控列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetAcstSubList() |
| | | { |
| | | return Functions.FindAll((obj) => obj.spk == SPK.AcstSub); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 空调列表 |
| | | /// </summary> |
| | |
| | | { |
| | | var spkList = SPK.LightSpkList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | /// <summary> |
| | | /// 序列列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetSeries() |
| | | { |
| | | return Functions.FindAll((obj) => obj.spk == SPK.CommonSeries); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | |
| | | public List<Function> GetDoorLockList() |
| | | { |
| | | var spkList = SPK.GetDoorLockSPKList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | /// <summary> |
| | | /// 获取萤石视频门锁 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetVideoDoorLockList() |
| | | { |
| | | var spkList = SPK.GetVideoDoorLockSPKList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 新风列表 |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 能源列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetEnergyList() |
| | | { |
| | | var spkList = SPK.EnergySpkList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | |
| | | List<InverterInfo> _inverterList = new List<InverterInfo>(); |
| | | /// <summary> |
| | | /// 光伏列表 |
| | | /// </summary> |
| | | public List<Function> InverterList() |
| | | { |
| | | return Functions.FindAll((obj) => obj.spk == SPK.Inverter || obj.spk == SPK.InverterRst); |
| | | } |
| | | #region 家电列表 electricals |
| | | /// <summary> |
| | | /// 家电列表 |
| | | /// </summary> |
| | | public List<Function> GetElectricals() |
| | | { |
| | | var spkList = SPK.ElectricalSpkList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 红外宝列表 |
| | | /// </summary> |
| | | public List<Function> GetIrModuleList() |
| | | { |
| | | return Functions.FindAll((obj) => obj.spk == SPK.IrModule); |
| | | } |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 音乐列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetMusicList() |
| | | { |
| | | var spkList = SPK.MusicSpkList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 环境传感器列表 |
| | | /// </summary> |
| | | public List<Function> GetEnvirSensorsList() |
| | | { |
| | | var spkList = SPK.EnvironDeviceSpkList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | /// <summary> |
| | | /// 安防设备列表 |
| | | /// </summary> |
| | | public List<Function> GetArmSensorList() |
| | | { |
| | | var spkList = SPK.ArmSensorSpkList(); |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | /// <summary> |
| | | /// 安防中心支持的传感器列表 |
| | | /// </summary> |
| | | public List<Function> GetArmCenterList() |
| | | { |
| | | var spkList = new List<string>() |
| | | { |
| | | SPK.SensorPir, |
| | | SPK.SensorPirHold, |
| | | SPK.SensorDoorWindow, |
| | | SPK.SensorSmoke, |
| | | SPK.SensorWater, |
| | | SPK.SensorGas, |
| | | }; |
| | | |
| | | return Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 可视对讲列表,当为null或size为0则不显示可视对讲icon |
| | | /// </summary> |
| | | // public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom; |
| | | public List<UI.UI2.FuntionControlView.Video.Video> videoIntercom = new List<UI.UI2.FuntionControlView.Video.Video>(); |
| | | |
| | | List<Function> _OtherBrandFunction; |
| | | /// <summary> |
| | | /// 第三方品牌功能 |
| | | /// </summary> |
| | | public List<Function> OtherBrandFunction |
| | | { |
| | | get |
| | | { |
| | | if(_OtherBrandFunction == null) |
| | | { |
| | | _OtherBrandFunction = new List<Function>(); |
| | | var spkList = SPK.GetAll3tySPK(); |
| | | _OtherBrandFunction = Functions.FindAll((obj) => spkList.Contains(obj.spk)); |
| | | } |
| | | return _OtherBrandFunction; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 场景列表 |
| | | /// </summary> |
| | | public List<Scene> scenes = new List<Scene>(); |
| | | |
| | | /// <summary> |
| | | /// 安防列表 |
| | | /// </summary> |
| | | public List<SecurityAlarm> securities = new List<SecurityAlarm>(); |
| | | |
| | | public List<SecurityAlarm> GetOrdinarySecurities() |
| | | { |
| | | var ordinarySecurities = new List<SecurityAlarm>(); |
| | | foreach (var mode in securities) |
| | | { |
| | | if (mode.type == "all_day" || mode.type == "mute") |
| | | { |
| | | continue; |
| | | } |
| | | ordinarySecurities.Add(mode); |
| | | } |
| | | return ordinarySecurities; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载功能列表 |
| | |
| | | FileUtlis.Files.DeleteFile(filePath); |
| | | return; |
| | | } |
| | | //音乐部分要修改 |
| | | //if(tempFunction.spk.ToString() == SPK.MusicStandard) |
| | | //{ |
| | | // UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString)); |
| | | //} |
| | | if (checkRepeat == true) |
| | | { |
| | | //检测重复 |
| | |
| | | Functions.Remove(sameTemp); |
| | | } |
| | | } |
| | | //for (int i = 0; i < Functions.Count; i++) |
| | | //{ |
| | | // if (Functions[i].deviceId == tempFunction.deviceId) |
| | | // { |
| | | // //先移除掉再加 |
| | | // Functions.RemoveAt(i); |
| | | // Functions.Add(tempFunction); |
| | | // return; |
| | | // } |
| | | //} |
| | | } |
| | | Functions.Add(tempFunction); |
| | | } |
| | |
| | | var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes); |
| | | var tempScene = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(sceneDataString); |
| | | List.scenes.Add(tempScene); |
| | | } |
| | | else if (filePath.StartsWith("SecurityData_")) |
| | | { |
| | | var dataBytes = FileUtlis.Files.ReadFile(filePath); |
| | | var dataString = System.Text.Encoding.UTF8.GetString(dataBytes); |
| | | var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString); |
| | | if (temp == null) |
| | | { |
| | | MainPage.Log("SecurityData_null"); |
| | | FileUtlis.Files.DeleteFile(filePath); |
| | | return; |
| | | } |
| | | if (checkRepeat == true) |
| | | { |
| | | //检测重复 |
| | | for (int i = 0; i < securities.Count; i++) |
| | | { |
| | | if (securities[i].sid == temp.sid) |
| | | { |
| | | //先移除掉再加 |
| | | securities.RemoveAt(i); |
| | | securities.Add(temp); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | securities.Add(temp); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | /// </summary> |
| | | public List<Function> GetDeviceFunctionList(SPK.BrandType brandType = SPK.BrandType.All) |
| | | { |
| | | List<Function> resultFunctions = new List<Function>(); |
| | | if (brandType == SPK.BrandType.All) |
| | | { |
| | | } |
| | | else |
| | | { |
| | | switch (brandType) |
| | | { |
| | | case SPK.BrandType.Hdl: |
| | | try |
| | | { |
| | | foreach (var function in Functions) |
| | | { |
| | | if (!SPK.Get3tySpk(SPK.BrandType.All3tyBrand).Contains(function.spk)) |
| | | { |
| | | resultFunctions.Add(function); |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | break; |
| | | |
| | | case SPK.BrandType.Tuya: |
| | | lock (Functions) |
| | | { |
| | | try |
| | | { |
| | | foreach (var function in Functions) |
| | | { |
| | | if (SPK.Get3tySpk(SPK.BrandType.Tuya).Contains(function.spk)) |
| | | { |
| | | resultFunctions.Add(function); |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | break; |
| | | } |
| | | return resultFunctions; |
| | | } |
| | | |
| | | return Functions; |
| | | } |
| | |
| | | { |
| | | try |
| | | { |
| | | if (_IpCamImou != null) |
| | | { |
| | | _IpCamImou.Clear(); |
| | | _IpCamImou = null; |
| | | } |
| | | _FunctionList = new FunctionList(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | |
| | | bool lockReadFunctionStatus = false; |
| | | |
| | | /// <summary> |
| | | /// 读取第三方设备状态 |
| | | /// </summary> |
| | | public void Read3tyFunctionStatus() |
| | | { |
| | | //读取涂鸦设备状态 |
| | | if (GetDeviceFunctionList(SPK.BrandType.Tuya).Count > 0) |
| | | { |
| | | var page = new List<string>(); |
| | | int count = 0; |
| | | foreach (var function in GetDeviceFunctionList(SPK.BrandType.Tuya)) |
| | | { |
| | | page.Add(function.deviceId); |
| | | count++; |
| | | if (count > 9) |
| | | { |
| | | DriverLayer.Control.Ins.ReadFunctionsInfo(page); |
| | | page.Clear(); |
| | | count = 0; |
| | | } |
| | | } |
| | | DriverLayer.Control.Ins.ReadFunctionsInfo(page); |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取全部功能的状态 |
| | |
| | | lockReadFunctionStatus = true; |
| | | try |
| | | { |
| | | Read3tyFunctionStatus(); |
| | | |
| | | if(DriverLayer.Control.Ins.GatewayOnline_Local) |
| | | { |