黄学彪
2019-11-04 c7698e163e43cea9e7f8ee45f8e3f91c9265cca4
ZigbeeApp/Shared/Common/DeviceUI.cs
@@ -35,9 +35,9 @@
                var myDevice = Common.LocalDevice.Current.GetDevice(DeviceAddr, DeviceEpoint);
                if (myDevice != null)
                {
                    return $"DeviceUI_{myDevice.FilePath}";
                    return myDevice.FilePath;
                }
                return $"DeviceUI_Unkwon";
                return $"Device_Unkwon";
            }
        }
@@ -312,5 +312,133 @@
        }
        #endregion
        #region ◆ 通过id获取设备区域_____________
        /// <summary>
        /// GetZone
        /// </summary>
        /// <returns></returns>
        public string GetZone()
        {
            var room = Room.CurrentRoom.GetRoomByDevice(CommonDevice);
            if (room == null)
            {
                return Language.StringByID(R.MyInternationalizationString.UnallocatedArea);
            }
            var floorName = Config.Instance.Home.GetFloorNameById(room.FloorId);
            if (floorName == null)
            {
                return room.Name;
            }
            return $"{floorName},{room.Name}";
        }
        #endregion
        /// <summary>
        /// GetDeviceStatu
        /// </summary>
        /// <returns></returns>
        public string GetDeviceStatu()
        {
            if (CommonDevice.Type == DeviceType.OnOffOutput)
            {
                if ((CommonDevice as ToggleLight).OnOffStatus == 1)
                {
                    return Language.StringByID(R.MyInternationalizationString.Open);
                }
                return Language.StringByID(R.MyInternationalizationString.Shut);
            }
            else if (CommonDevice.Type == DeviceType.AirSwitch)
            {
                if ((CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1)
                {
                    return Language.StringByID(R.MyInternationalizationString.Open);
                }
                return Language.StringByID(R.MyInternationalizationString.Shut);
            }
            else if (CommonDevice.Type == DeviceType.DimmableLight)
            {
                if ((CommonDevice as DimmableLight).OnOffStatus == 0 || (CommonDevice as DimmableLight).Level == 0)
                {
                    return Language.StringByID(R.MyInternationalizationString.Shut);
                }
                return $"{(int)((CommonDevice as DimmableLight).Level * 1.0 / 254 * 100)}%";
            }
            else if (CommonDevice.Type == DeviceType.WindowCoveringDevice)
            {
                if ((CommonDevice as ZigBee.Device.Rollershade).WcdCurrentPositionLiftPercentage == 0)
                {
                    return Language.StringByID(R.MyInternationalizationString.Shut);
                }
                return $"{(CommonDevice as ZigBee.Device.Rollershade).WcdCurrentPositionLiftPercentage}%";
            }
            //else if (CommonDevice.Type == 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;
            }
        }
    }
}