gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Common/DeviceUI.cs
@@ -339,6 +339,10 @@
            {
                return Language.StringByID(R.MyInternationalizationString.UnallocatedArea);
            }
            if(string.IsNullOrEmpty(room.FloorId))
            {
                return room.Name;
            }
            var floorName = Config.Instance.Home.GetFloorNameById(room.FloorId);
            if (floorName == null)
            {
@@ -445,6 +449,115 @@
                }
                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)
                {
                    //红外
                    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 if (device.Type == DeviceType.TemperatureSensor)
            {
                var tempera = CommonDevice as TemperatureSensor;
                if(tempera.SensorDiv==1)
                {
                    if (tempera.Temperatrue == 0)
                    {
                        return "--℃";
                    }
                    return $"{tempera.Temperatrue}℃";
                }
                else if(tempera.SensorDiv==2)
                {
                    if (tempera.Humidity == 0)
                    {
                        return "--%";
                    }
                    return $"{tempera.Humidity}%";
                }
                return null;
            }
            else
            {
                return null;