| | |
| | | using HDL_ON.Common; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.UI; |
| | | using HDL_ON.UI.UI2.Intelligence.Automation; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.Entity |
| | |
| | | /// 是否允许删除 |
| | | /// </summary> |
| | | public bool can_delete = true; |
| | | /// <summary> |
| | | /// 是否允许编辑 |
| | | /// </summary> |
| | | public bool can_edit = true; |
| | | /// <summary> |
| | | /// 是否是网关本地场景 |
| | | /// </summary> |
| | | public bool local = false; |
| | | |
| | | /// <summary> |
| | | /// 创建该场景的用户ID |
| | |
| | | /// 配合豆豆修改云端数据 |
| | | /// 调试宝、on pro和平台对应 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<SceneImageInfo> OssSceneImages = new List<SceneImageInfo>() |
| | | { |
| | | new SceneImageInfo |
| | |
| | | { |
| | | var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); |
| | | Common.FileUtlis.Files.WriteFileByBytes(savePath, ssd); |
| | | return revPack.Code; |
| | | } |
| | | var scenes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString()); |
| | | var tempScene = scenes.Find((obj) => obj.sid == sid); |
| | |
| | | /// <returns></returns> |
| | | private Function ConvertFunctionObject() |
| | | { |
| | | var localFunction = FunctionList.List.GetDeviceFunctionList().Find((obj) => obj.sid == sid); |
| | | return localFunction; |
| | | Function temp = null; |
| | | if (type == "7") |
| | | { |
| | | var logic = Logic.LogicList.Find((obj) => obj.sid == sid); |
| | | if (logic != null) { |
| | | temp = new Function(); |
| | | temp.name = logic.name; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | temp = FunctionList.List.GetDeviceFunctionList().Find((obj) => obj.sid == sid); |
| | | if (temp == null) |
| | | { |
| | | temp = FunctionList.List.groupControls.Find((obj) => obj.sid == sid); |
| | | } |
| | | } |
| | | return temp; |
| | | } |
| | | |
| | | |
| | |
| | | public string GetFunctionScnenInfo() |
| | | { |
| | | var sceneFunctionInfo = ""; |
| | | foreach (var sfs in status) |
| | | if (type == "7") |
| | | { |
| | | if (sfs.key == FunctionAttributeKey.OnOff) |
| | | foreach (var sfs in status) |
| | | { |
| | | if (sfs.value == "off") |
| | | if (sfs.key == "enable") |
| | | { |
| | | return Language.StringByID(StringId.Close); |
| | | if (sfs.value == "true") |
| | | return Language.StringByID(StringId.OpenArm); |
| | | else |
| | | { |
| | | return Language.StringByID(StringId.Close); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " "; |
| | | else |
| | | { |
| | | foreach (var sfs in status) |
| | | { |
| | | if (sfs.key == FunctionAttributeKey.OnOff) |
| | | { |
| | | if (sfs.value == "off") |
| | | { |
| | | return Language.StringByID(StringId.Close); |
| | | } |
| | | } |
| | | } |
| | | sceneFunctionInfo += Language.StringByID(StringId.Open) + " "; |
| | | |
| | | var modeState = status.Find((obj) => obj.key == FunctionAttributeKey.Mode); |
| | | var tempState = status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp); |
| | | var fanState = status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); |
| | | if (modeState != null) |
| | | { |
| | | sceneFunctionInfo += modeState.GetValueText() + " "; |
| | | } |
| | | if (tempState != null) |
| | | { |
| | | sceneFunctionInfo += tempState.GetValueText() + " "; |
| | | sceneFunctionInfo += tempState.GetUintString(); |
| | | } |
| | | if (fanState != null) |
| | | { |
| | | sceneFunctionInfo += fanState.GetValueText() + " "; |
| | | } |
| | | var briState = status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); |
| | | if (briState != null) |
| | | { |
| | | sceneFunctionInfo += briState.value + "%" + " "; |
| | | } |
| | | var perState = status.Find((obj) => obj.key == FunctionAttributeKey.Percent); |
| | | if (perState != null) |
| | | { |
| | | sceneFunctionInfo += perState.value + "%" + " "; |
| | | } |
| | | var cctState = status.Find((obj) => obj.key == FunctionAttributeKey.CCT); |
| | | if (cctState != null) |
| | | { |
| | | sceneFunctionInfo += cctState.value + "K" + " "; |
| | | } |
| | | var rgbState = status.Find((obj) => obj.key == FunctionAttributeKey.RGB); |
| | | if (rgbState != null) |
| | | { |
| | | //sceneFunctionInfo += new cctState.value + "%" + " "; |
| | | } |
| | | var modeState = status.Find((obj) => obj.key == FunctionAttributeKey.Mode); |
| | | var tempState = status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp); |
| | | var fanState = status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); |
| | | ////海信电视状态 |
| | | //var hisenseTvState = status.Find((obj) => obj.key == "wol"); |
| | | //if(hisenseTvState != null) |
| | | //{ |
| | | //} |
| | | if (modeState != null) |
| | | { |
| | | sceneFunctionInfo += modeState.GetValueText() + " "; |
| | | } |
| | | if (tempState != null) |
| | | { |
| | | sceneFunctionInfo += tempState.GetValueText(); |
| | | sceneFunctionInfo += tempState.GetUintString() + " "; |
| | | } |
| | | if (fanState != null) |
| | | { |
| | | sceneFunctionInfo += fanState.GetValueText() + " "; |
| | | } |
| | | var briState = status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); |
| | | if (briState != null) |
| | | { |
| | | sceneFunctionInfo += briState.value + "%" + " "; |
| | | } |
| | | var perState = status.Find((obj) => obj.key == FunctionAttributeKey.Percent); |
| | | if (perState != null) |
| | | { |
| | | sceneFunctionInfo += perState.value + "%" + " "; |
| | | } |
| | | var cctState = status.Find((obj) => obj.key == FunctionAttributeKey.CCT); |
| | | if (cctState != null) |
| | | { |
| | | sceneFunctionInfo += cctState.value + "K" + " "; |
| | | } |
| | | var rgbState = status.Find((obj) => obj.key == FunctionAttributeKey.RGB); |
| | | if (rgbState != null) |
| | | { |
| | | //sceneFunctionInfo += new cctState.value + "%" + " "; |
| | | } |
| | | |
| | | |
| | | var perAngle = status.Find((obj) => obj.key == FunctionAttributeKey.Angle); |
| | | if (perAngle != null) |
| | | { |
| | | sceneFunctionInfo += " " + perAngle.value + "°"; |
| | | var perAngle = status.Find((obj) => obj.key == FunctionAttributeKey.Angle); |
| | | if (perAngle != null) |
| | | { |
| | | sceneFunctionInfo += " " + perAngle.value + "°"; |
| | | } |
| | | |
| | | var perSetVolume = status.Find((obj) => obj.key == FunctionAttributeKey.SetVolume); |
| | | if (perSetVolume != null) |
| | | { |
| | | sceneFunctionInfo += " " + perSetVolume.value; |
| | | } |
| | | |
| | | var perSignal = status.Find((obj) => obj.key == FunctionAttributeKey.Signal); |
| | | if (perSignal != null) |
| | | { |
| | | var p = new HDL_ON.UI.UI2.Intelligence.Automation.PublicInterface(); |
| | | string key = p.GetKey(p.GetHisenseSignalSourceDic(), perSignal.value); |
| | | sceneFunctionInfo += " " + key; |
| | | } |
| | | |
| | | var perVolume = status.Find((obj) => obj.key == FunctionAttributeKey.Volume); |
| | | if (perVolume != null) |
| | | { |
| | | sceneFunctionInfo += " " + perVolume.value; |
| | | } |
| | | |
| | | var perSongName = status.Find((obj) => obj.key == FunctionAttributeKey.SongName); |
| | | if (perSongName != null) |
| | | { |
| | | sceneFunctionInfo += " " + perSongName.value; |
| | | } |
| | | } |
| | | return sceneFunctionInfo; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 设备 |
| | | /// 场景 =scene |
| | | /// 群控=5 |
| | | /// 自动化=7 |
| | | /// |
| | | /// </summary> |
| | | public string type = "0"; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// 属性的值列表 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public List<string> valueList = new List<string>(); |
| | | /// <summary> |
| | | /// 属性名称显示文本 |
| | |
| | | case "security": |
| | | text = Language.StringByID(StringId.DeploymentStatus); |
| | | break; |
| | | case FunctionAttributeKey.SetVolume: |
| | | text = Language.StringByID(StringId.yinliang); |
| | | break; |
| | | case FunctionAttributeKey.Signal: |
| | | text = Language.StringByID(StringId.xinhaoyuan); |
| | | break; |
| | | case FunctionAttributeKey.Volume: |
| | | text = Language.StringByID(StringId.yinliang); |
| | | break; |
| | | case FunctionAttributeKey.SongName: |
| | | text = Language.StringByID(StringId.tishiyin); |
| | | break; |
| | | } |
| | | return text; |
| | | } |
| | | |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public string UintString = ""; |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public string GetUintString() |
| | | { |
| | | if (!string.IsNullOrEmpty(UintString)) |
| | | if (!string.IsNullOrEmpty(UintString) && UintString != "{}") |
| | | { |
| | | return UintString; |
| | | } |
| | |
| | | case "auto": |
| | | text = Language.StringByID(StringId.Auto); |
| | | break; |
| | | case FunctionAttributeKey.Signal: |
| | | var p = new UI.UI2.Intelligence.Automation.PublicInterface(); |
| | | var dic = p.GetHisenseSignalSourceDic(); |
| | | text = p.GetKey(dic, value); |
| | | break; |
| | | case FunctionAttributeKey.SetVolume: |
| | | text = value; |
| | | break; |
| | | case FunctionAttributeKey.Volume: |
| | | text = value; |
| | | break; |
| | | case FunctionAttributeKey.SongName: |
| | | text = value; |
| | | break; |
| | | } |
| | | return text; |
| | | } |