| | |
| | | /// 空调目标 |
| | | /// </summary> |
| | | AC = 5, |
| | | /// <summary> |
| | | /// 地暖目标 |
| | | /// </summary> |
| | | Fh = 6, |
| | | /// <summary> |
| | | /// 地CO2暖目标 |
| | | /// </summary> |
| | | CO2 = 7, |
| | | } |
| | | |
| | | #endregion |
| | |
| | | { |
| | | curRoomDeviceListTemp.Add(device); |
| | | } |
| | | |
| | | if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | curRoomDeviceListTemp.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | continue; |
| | | } |
| | | curRoomDeviceListTemp.Add(device); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case BindType.CO2: |
| | | foreach (var deviceKeys in curRoom.ListDevice) |
| | | { |
| | | var device = LocalDevice.Current.GetDevice(deviceKeys); |
| | | if (device != null) |
| | | { |
| | | if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | curRoomDeviceListTemp.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | if (device.Type == DeviceType.TemperatureSensor) |
| | | { |
| | | var dev = device as TemperatureSensor; |
| | | if (BindInfo.checkRealTemperatureDevice(device) == false) |
| | | { |
| | | continue; |
| | | } |
| | | if (dev.SensorDiv == 1) |
| | | { |
| | | roomIncludeMatchTempDevice.Add(device); |
| | |
| | | if (device.Type == DeviceType.TemperatureSensor) |
| | | { |
| | | var dev = device as TemperatureSensor; |
| | | if (BindInfo.checkRealTemperatureDevice(device) == false) |
| | | { |
| | | continue; |
| | | } |
| | | if (dev.SensorDiv == 2) |
| | | { |
| | | roomIncludeMatchHumpDevice.Add(device); |
| | | } |
| | | |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | roomIncludeMatchHumpDevice.Add(device); |
| | | } |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取楼层对应的房间列表 |
| | | /// 获取支持的房间列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public static List<Room> GetFloorRoomList() |
| | | public static List<Room> GetSupportRoomList() |
| | | { |
| | | var supportRoomListTemp = new List<Room>(); |
| | | var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); |
| | |
| | | var device = LocalDevice.Current.GetDevice(de); |
| | | if (device != null) |
| | | { |
| | | //获取设备类型的 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device }); |
| | | //新风面板的新风设备,则不显示 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir) |
| | | if (BindInfo.checkRealFreshAirDevice(device) == false) |
| | | { |
| | | continue; |
| | | } |
| | |
| | | { |
| | | roomIncludeMatchDevice.Add(device); |
| | | } |
| | | else if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | roomIncludeMatchDevice.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | } |
| | | } |
| | | break; |
| | | case BindType.CO2: |
| | | foreach (var de in room.ListDevice) |
| | | { |
| | | var device = LocalDevice.Current.GetDevice(de); |
| | | if (device != null) |
| | | { |
| | | if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | roomIncludeMatchDevice.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | |
| | | if (roomIncludeMatchDevice.Count == 0) |
| | |
| | | |
| | | if (!string.IsNullOrEmpty(room.FloorId)) |
| | | { |
| | | //有楼层 |
| | | //有楼层[控制面板如果不在房间,默认不绑定] |
| | | if (room.FloorId == curControlDev.currentSelectFloorId) |
| | | { |
| | | roomTempList.Add(room); |
| | |
| | | { |
| | | undistruibuteDevList.Add(device); |
| | | } |
| | | |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | undistruibuteDevList.Add(device); |
| | | } |
| | | } |
| | | else if (device.Type == DeviceType.PMSensor) |
| | | { |
| | |
| | | { |
| | | undistruibuteDevList.Add(device); |
| | | } |
| | | else if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | undistruibuteDevList.Add(device); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case BindType.AC: |
| | |
| | | continue; |
| | | } |
| | | undistruibuteDevList.Add(device); |
| | | } |
| | | } |
| | | break; |
| | | case BindType.CO2: |
| | | foreach (var device in UndistributeCommonDeviceListTemp) |
| | | { |
| | | if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | undistruibuteDevList.Add(device); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | { |
| | | currentPanelBindSupportDeviceListTemp.Add(device); |
| | | } |
| | | |
| | | if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | currentPanelBindSupportDeviceListTemp.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | continue; |
| | | } |
| | | currentPanelBindSupportDeviceListTemp.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case BindType.CO2: |
| | | foreach (var r in supportRoomList) |
| | | { |
| | | if (r.ListDevice.Count == 0) |
| | | { |
| | | continue; |
| | | } |
| | | foreach (var deviceKeys in r.ListDevice) |
| | | { |
| | | var device = LocalDevice.Current.GetDevice(deviceKeys); |
| | | if (device != null) |
| | | { |
| | | if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor) |
| | | { |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device }); |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | currentPanelBindSupportDeviceListTemp.Add(device); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 是否是真实的空调设备 【部分是能绑定空调的设备】 |
| | | /// 是否是真实的空调设备 【过滤server端】 |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | /// <returns></returns> |
| | |
| | | { |
| | | bool result = true; |
| | | //获取设备类型的 |
| | | var clu = device.OutClusterList.Find((obj) => obj.OutCluster == 513); |
| | | var clu = device.OutClusterList.Find((obj) => obj.OutCluster == 513 || obj.OutCluster == 514); |
| | | if (clu != null) |
| | | { |
| | | result = false; |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 是否是真实的新风设备 【部分是能绑定新风的设备】 |
| | | /// 是否是真实的新风设备 【过滤server端】 |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | /// <returns></returns> |
| | |
| | | { |
| | | bool result = true; |
| | | //获取设备类型的 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device }); |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir) |
| | | { |
| | | result = false; |
| | | } |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment) |
| | | var clu = device.OutClusterList.Find((obj) => obj.OutCluster == 514); |
| | | if (clu != null) |
| | | { |
| | | result = false; |
| | | } |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检测该设备能否显示 |
| | | /// 是否是真实的温度设备 【过滤server端】 |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | /// <returns></returns> |
| | | public static bool checkRealTemperatureDevice(CommonDevice device) |
| | | { |
| | | bool result = true; |
| | | //获取设备属于【简约多功能面板】 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice> { device }); |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction) |
| | | { |
| | | if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1) |
| | | { |
| | | //简约多功能面板第1回路是一个绑定温湿度传感器第类型,不是真的温湿度的传感器,需要屏蔽掉 |
| | | result = false; |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检测该设备能否显示【过滤server端】 |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | /// <returns></returns> |
| | |
| | | btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | } |
| | | } |
| | | #endregion |
| | | #endregion |
| | | } |
| | | } |