| | |
| | | public class SceneTargetDeviceUI |
| | | { |
| | | /// <summary> |
| | | /// 场景添加对象的类型 默认0设备 1时间段 2场景 |
| | | /// 场景添加对象的类型 默认0设备 2时间段 1其他场景 |
| | | /// </summary> |
| | | public int Type = 0; |
| | | /// <summary> |
| | |
| | | /// Type=0 存在 |
| | | /// </summary> |
| | | public DeviceUI DeviceUI = new DeviceUI(); |
| | | |
| | | /// <summary> |
| | | /// Type=0、1、2 存在 |
| | | /// 延时时间 |
| | | /// Type=1 存在 |
| | | /// </summary> |
| | | public int DelayTime = 0; |
| | | /// <summary> |
| | | /// 当Type=2时存在 |
| | | /// 延时执行序号,表示第几个延时动作 |
| | | /// </summary> |
| | | public int DelayTimeSerialNumber = 0; |
| | | |
| | | /// <summary> |
| | | /// 选择的场景 |
| | | /// Type=2 存在 |
| | | /// Type=1 存在 |
| | | /// </summary> |
| | | public SceneUI SceneUI = new SceneUI(); |
| | | /// <summary> |
| | | /// 作为成员的其他场景id。 |
| | | /// Type=2 存在 |
| | | /// Type=1 存在 |
| | | /// </summary> |
| | | public int ElseScenesId = 0; |
| | | /// <summary> |
| | | /// 场景名称 |
| | | /// Type=2 存在 |
| | | /// Type=1 存在 |
| | | /// </summary> |
| | | public string SceneName = string.Empty; |
| | | /// <summary> |
| | | /// 唯一标识--HashCode |
| | | /// DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo) |
| | | /// </summary> |
| | | public string SceneTargetDeviceUIID |
| | | public string SceneTargetDeviceUIID = Guid.NewGuid().ToString(); |
| | | |
| | | /// <summary> |
| | | /// GetDeviceStatu |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public string GetDeviceStatu() |
| | | { |
| | | get |
| | | if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) |
| | | { |
| | | return GetHashCode().ToString(); |
| | | if (TaskList.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | if (TaskList[0].Data1 == 1) |
| | | { |
| | | return Language.StringByID(R.MyInternationalizationString.Open); |
| | | } |
| | | return Language.StringByID(R.MyInternationalizationString.Shut); |
| | | } |
| | | else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) |
| | | { |
| | | if (TaskList.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | if (TaskList[0].Data1 == 1) |
| | | { |
| | | return Language.StringByID(R.MyInternationalizationString.Open); |
| | | } |
| | | return Language.StringByID(R.MyInternationalizationString.Shut); |
| | | } |
| | | else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) |
| | | { |
| | | if (TaskList.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | if (TaskList[0].Data1 == 0) |
| | | { |
| | | return Language.StringByID(R.MyInternationalizationString.Shut); |
| | | } |
| | | return $"{(int)(TaskList[0].Data1 * 1.0 / 254 * 100)}%"; |
| | | } |
| | | else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) |
| | | { |
| | | if (TaskList.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | if (TaskList[0].Data1 == 1) |
| | | { |
| | | return Language.StringByID(R.MyInternationalizationString.Shut); |
| | | } |
| | | return $"{TaskList[0].Data2}%"; |
| | | } |
| | | else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) |
| | | { |
| | | //温度,模式,风速 |
| | | string tempareture = string.Empty; |
| | | string model = string.Empty; |
| | | string wind = string.Empty; |
| | | if (TaskList.Count == 0) |
| | | { |
| | | return null; |
| | | } |
| | | foreach(var taskListInfo in TaskList) |
| | | { |
| | | if(taskListInfo.Data1==3) |
| | | { |
| | | if(taskListInfo.Data2==0) |
| | | { |
| | | return Language.StringByID(R.MyInternationalizationString.Shut); |
| | | } |
| | | else if(taskListInfo.Data2==1) |
| | | { |
| | | model = Language.StringByID(R.MyInternationalizationString.Mode_Auto); |
| | | } |
| | | else if(taskListInfo.Data2==3) |
| | | { |
| | | model = Language.StringByID(R.MyInternationalizationString.Mode_Cool); |
| | | } |
| | | else if (taskListInfo.Data2 == 4) |
| | | { |
| | | model = Language.StringByID(R.MyInternationalizationString.Mode_Heat); |
| | | } |
| | | else if (taskListInfo.Data2 == 7) |
| | | { |
| | | model = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly); |
| | | } |
| | | else if (taskListInfo.Data2 == 8) |
| | | { |
| | | model = Language.StringByID(R.MyInternationalizationString.Mode_Dry); |
| | | } |
| | | } |
| | | else if(taskListInfo.Data1==4 || taskListInfo.Data1==5) |
| | | { |
| | | tempareture = $"{ taskListInfo.Data2/100} ℃"; |
| | | } |
| | | else if (taskListInfo.Data1 == 6) |
| | | { |
| | | if (taskListInfo.Data2 == 1) |
| | | { |
| | | wind = Language.StringByID(R.MyInternationalizationString.Fan_Low); |
| | | } |
| | | else if(taskListInfo.Data2 ==2) |
| | | { |
| | | wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle); |
| | | } |
| | | else if (taskListInfo.Data2 == 3) |
| | | { |
| | | wind = Language.StringByID(R.MyInternationalizationString.Fan_Height); |
| | | } |
| | | } |
| | | } |
| | | return $"{tempareture},{model},{wind}"; |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | } |