| | |
| | | |
| | | /// <summary>
|
| | | /// 温度传感器(设备主键)
|
| | | /// </summary> |
| | | /// </summary> |
| | | public string TemperatrueDevice = string.Empty; |
| | | /// <summary>
|
| | | /// 湿度传感器(设备主键)
|
| | | /// </summary> |
| | | public string HumidityDevice = string.Empty; |
| | | /// <summary> |
| | | /// 温度 |
| | | /// </summary> |
| | | public double Temperatrue; |
| | | /// <summary> |
| | | /// 湿度 |
| | | /// </summary> |
| | | public double Humidity; |
| | | |
| | | /// <summary>
|
| | | /// 当前选择的房间
|
| | |
| | | return sceneList; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取所有房间的所有场景路径 |
| | | /// </summary> |
| | | /// <value>All room scene UIL ist.</value> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<string> AllRoomSceneUIFilepathList |
| | | { |
| | | get |
| | | { |
| | | var pathList = new List<string> { }; |
| | | foreach (var r in Lists) |
| | | { |
| | | if (r.SceneUIFilePathList.Count == 0) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var path in r.SceneUIFilePathList) |
| | | { |
| | | pathList.Add(path); |
| | | } |
| | | } |
| | | return pathList; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 场景列表---不再序列化 |
| | | /// </summary> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取该楼层的场景 |
| | | /// 获取未分配区域设备 |
| | | /// </summary> |
| | | /// <param name="floorId"></param> |
| | | /// <returns></returns> |
| | | public List<SceneUI> GetSceneUIsByFloorId(string floorId) |
| | | public List<DeviceUI> GetUnalloctedDeviceUIs() |
| | | { |
| | | var rooms = GetRoomsByFloorId(floorId); |
| | | if (rooms == null) |
| | | List<DeviceUI> deviceUIs = new List<DeviceUI> { }; |
| | | var dList = AllRoomDeviceUIList; |
| | | var commonDeviceList = Common.LocalDevice.Current.listAllDevice; |
| | | |
| | | if (dList.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | var sceneList = new List<SceneUI> { }; |
| | | foreach (var r in rooms) |
| | | foreach (var device in commonDeviceList) |
| | | { |
| | | if (r.SceneUIList.Count == 0) |
| | | if (dList.Find((obj) => obj.CommonDevice == device) == null) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var sceneUI in r.SceneUIList) |
| | | { |
| | | if (sceneUI == null) |
| | | { |
| | | continue; |
| | | } |
| | | sceneList.Add(sceneUI); |
| | | deviceUIs.Add(Common.LocalDevice.Current.GetDeviceUI(device)); |
| | | } |
| | | } |
| | | return sceneList; |
| | | if (deviceUIs.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | return deviceUIs; |
| | | } |
| | | |
| | | //public List<DeviceUI> GetUnalloctedDeviceUITypes |
| | | |
| | | #endregion |
| | | |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取该楼层所有场景 |
| | | /// </summary> |
| | |
| | | } |
| | | return sceneUIs; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取该楼层的场景 |
| | | /// </summary> |
| | | /// <param name="floorId"></param> |
| | | /// <returns></returns> |
| | | public List<SceneUI> GetSceneUIsByFloorId(string floorId) |
| | | { |
| | | var rooms = GetRoomsByFloorId(floorId); |
| | | if (rooms == null) |
| | | { |
| | | return null; |
| | | } |
| | | var sceneList = new List<SceneUI> { }; |
| | | foreach (var r in rooms) |
| | | { |
| | | if (r.SceneUIList.Count == 0) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var sceneUI in r.SceneUIList) |
| | | { |
| | | if (sceneUI == null) |
| | | { |
| | | continue; |
| | | } |
| | | sceneList.Add(sceneUI); |
| | | } |
| | | } |
| | | return sceneList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取未分配区域场景 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<SceneUI> GetUnalloctedScenes() |
| | | { |
| | | List<SceneUI> sceneUIs = new List<SceneUI> { }; |
| | | var sList = AllRoomSceneUIFilepathList; |
| | | |
| | | List<string> sfile = new List<string> { }; |
| | | foreach (var path in Global.FileListByHomeId()) |
| | | { |
| | | if (path.StartsWith("Scene_", StringComparison.Ordinal)) |
| | | { |
| | | sfile.Add(path); |
| | | } |
| | | } |
| | | foreach (var path in sfile) |
| | | { |
| | | if (sList.Find((obj) => obj == path) == null) |
| | | { |
| | | var jsonInfo = Encoding.UTF8.GetString(Global.ReadFileByHomeId(path)); |
| | | var tempSceneUI = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneUI>(jsonInfo); |
| | | if (tempSceneUI != null) |
| | | { |
| | | sceneUIs.Add(tempSceneUI); |
| | | } |
| | | } |
| | | } |
| | | if (sceneUIs.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | return sceneUIs; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ◆ 刷新场景_________________________ |