gxc
2019-12-25 944b87b6bcccb095cd73f13f4410fb20faf48f74
ZigbeeApp/Shared/Common/DeviceUI.cs
old mode 100755 new mode 100644
@@ -178,38 +178,42 @@
            {
                case DeviceType.OnOffSwitch:
                    //控制面板
                    ImagePath= "Device/DryContact.png";
                    ImagePath = "Device/DryContact.png";
                    break;
                case DeviceType.OnOffOutput:
                    //继电器
                    ImagePath= "Device/Relay.png";
                    ImagePath = "Device/Relay.png";
                    break;
                case DeviceType.DimmableLight:
                    //调光灯
                    ImagePath= "Device/DimmableLight.png";
                    ImagePath = "Device/DimmableLight.png";
                    break;
                case DeviceType.WindowCoveringDevice:
                    //窗帘
                    ImagePath= "Device/Curtain.png";
                    ImagePath = "Device/Curtain.png";
                    break;
                case DeviceType.Thermostat:
                    //空调
                    ImagePath= "Device/AirConditioner.png";
                    ImagePath = "Device/AirConditioner.png";
                    break;
                case DeviceType.IASZone:
                    //传感器
                    ImagePath= "Device/Sensor.png";
                    ImagePath = "Device/Sensor.png";
                    break;
                case DeviceType.AirSwitch:
                    //空气开关
                    ImagePath= "Device/AirSwitch.png";
                    ImagePath = "Device/AirSwitch.png";
                    break;
                case DeviceType.Repeater:
                    //中继器
                    ImagePath = "Device/AirSwitch.png";
                    break;
                case DeviceType.TemperatureSensor:
                    //温湿度传感器
                    ImagePath = "Device/Sensor.png";
                    break;
                default:
                    ImagePath= "Device/Relay.png";
                    ImagePath = "Device/Relay.png";
                    break;
            }
            return ImagePath;
@@ -304,6 +308,15 @@
                    //中继器
                    deviceTypeR = R.MyInternationalizationString.Repeater;
                    break;
                case DeviceType.DoorLock:
                    //门锁
                    deviceTypeR = R.MyInternationalizationString.DoorLock;
                    break;
                case DeviceType.TemperatureSensor:
                    //温度传感器
                    deviceTypeR = R.MyInternationalizationString.TemperatureAndHumiditySensor;
                    break;
                default:
                    deviceTypeR = R.MyInternationalizationString.UnknowDevice;
                    break;
@@ -342,39 +355,40 @@
        /// <returns></returns>
        public string GetDeviceStatu()
        {
            if (CommonDevice.Type == DeviceType.OnOffOutput)
            var device = CommonDevice;
            if (device.Type == DeviceType.OnOffOutput)
            {
                if ((CommonDevice as ToggleLight).OnOffStatus == 1)
                if ((device as ToggleLight).OnOffStatus == 1)
                {
                    return Language.StringByID(R.MyInternationalizationString.Open);
                }
                return Language.StringByID(R.MyInternationalizationString.Shut);
            }
            else if (CommonDevice.Type == DeviceType.AirSwitch)
            else if (device.Type == DeviceType.AirSwitch)
            {
                if ((CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1)
                if ((device as ZigBee.Device.AirSwitch).OnOffStatus == 1)
                {
                    return Language.StringByID(R.MyInternationalizationString.Open);
                }
                return Language.StringByID(R.MyInternationalizationString.Shut);
            }
            else if (CommonDevice.Type == DeviceType.DimmableLight)
            else if (device.Type == DeviceType.DimmableLight)
            {
                if ((CommonDevice as DimmableLight).OnOffStatus == 0 || (CommonDevice as DimmableLight).Level == 0)
                if ((device as DimmableLight).OnOffStatus == 0 || (device as DimmableLight).Level == 0)
                {
                    return Language.StringByID(R.MyInternationalizationString.Shut);
                }
                return $"{(int)((CommonDevice as DimmableLight).Level * 1.0 / 254 * 100)}%";
                return $"{(int)((device as DimmableLight).Level * 1.0 / 254 * 100)}%";
            }
            else if (CommonDevice.Type == DeviceType.WindowCoveringDevice)
            else if (device.Type == DeviceType.WindowCoveringDevice)
            {
                if ((CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage == 0)
                if ((device as Rollershade).WcdCurrentPositionLiftPercentage == 0)
                {
                    return Language.StringByID(R.MyInternationalizationString.Shut);
                }
                return $"{(CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage}%";
                return $"{(device as Rollershade).WcdCurrentPositionLiftPercentage}%";
            }
            else if (CommonDevice.Type == DeviceType.Thermostat)
            else if (device.Type == DeviceType.Thermostat)
            {
                //温度,模式,风速
                string tempareture = string.Empty;
@@ -429,10 +443,94 @@
                {
                    return $"{model},{wind}";
                }
                else
                return $"{model},{wind},{tempareture}";
            }
            else if (device.Type == DeviceType.IASZone)
            {
                var ias = CommonDevice as IASZone;
                var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device },false);
                if (info.ConcreteType == DeviceConcreteType.Sensor_Infrared)
                {
                    return $"{model},{wind},{tempareture}";
                    //红外
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_Water)
                {
                    //水浸
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HaveWater);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_DoorWindow)
                {
                    //门窗
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Open);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Close);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_CarbonMonoxide)
                {
                    //燃气
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire)
                {
                    //烟雾
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_Pir)
                {
                    //pir
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_Keyfob)
                {
                    //钥匙扣
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_Motion)
                {
                    //运动传感器
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
                }
                else if (info.ConcreteType == DeviceConcreteType.Sensor_EmergencyButton)
                {
                    //紧急按钮
                    if (ias.iASInfo?.Alarm1 == 1)
                    {
                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
                    }
                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
                }
                return null;
            }
            else
            {