黄学彪
2019-11-25 5727cf0b9b54da0a191dd1e23cb5abf21320fbff
ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
@@ -12,7 +12,7 @@
    public class SceneTargetDeviceUI
    {
        /// <summary>
        /// 场景添加对象的类型 默认0设备 1时间段  2场景
        /// 场景添加对象的类型 默认0设备 2时间段  1其他场景
        /// </summary>
        public int Type = 0;
        /// <summary>
@@ -25,24 +25,31 @@
        /// 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>
@@ -56,5 +63,127 @@
                return GetHashCode().ToString();
            }
        }
        /// <summary>
        /// GetDeviceStatu
        /// </summary>
        /// <returns></returns>
        public string GetDeviceStatu()
        {
            if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
            {
                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 == 0)
                {
                    return Language.StringByID(R.MyInternationalizationString.Shut);
                }
                return $"{TaskList[0].Data1}%";
            }
            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} ℃";
                    }
                    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;
            }
        }
    }
}