| | |
| | | /// <param name="typeTag">Type tag.</param> |
| | | public void DeviceInfoChange(CommonDevice common, string typeTag) |
| | | { |
| | | /// |
| | | //设备上报状态中 当CluterID=3,就证明该设备在线,直接标记 |
| | | if (typeTag == "DeviceStatusReport") |
| | | { |
| | |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | //开关功能 |
| | | if ((common as ZigBee.Device.ToggleLight).DeviceStatusReport.CluterID == 6) |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var onOffOutputLight = deviceUI.CommonDevice as ZigBee.Device.ToggleLight; |
| | | onOffOutputLight.DeviceStatusReport = (common as ZigBee.Device.ToggleLight).DeviceStatusReport; |
| | | onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport; |
| | | //记录、更新状态 |
| | | if (onOffOutputLight.DeviceStatusReport.AttriBute == null || onOffOutputLight.DeviceStatusReport.AttriBute.Count == 0) |
| | | { |
| | |
| | | onOffOutputLight.LastDateTime = DateTime.Now; |
| | | } |
| | | //当CluterID=3,就证明该设备在线,直接标记 |
| | | if ((common as ZigBee.Device.ToggleLight).DeviceStatusReport.CluterID == 3) |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | var onOffOutputLight = deviceUI.CommonDevice as ToggleLight; |
| | | onOffOutputLight.IsOnline = 1; |
| | |
| | | |
| | | case DeviceType.AirSwitch: |
| | | //开关功能 |
| | | if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 6) |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; |
| | | airSwitch.DeviceStatusReport = (common as ZigBee.Device.AirSwitch).DeviceStatusReport; |
| | | airSwitch.DeviceStatusReport = common.DeviceStatusReport; |
| | | //记录、更新状态 |
| | | if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0) |
| | | { |
| | |
| | | |
| | | } |
| | | //当CluterID=3,就证明该设备在线,直接标记 |
| | | if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 3) |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | var airSwitch = deviceUI.CommonDevice as AirSwitch; |
| | | airSwitch.IsOnline = 1; |
| | |
| | | break; |
| | | |
| | | case DeviceType.WindowCoveringDevice: |
| | | if ((common as ZigBee.Device.Rollershade).DeviceStatusReport.CluterID == 258) |
| | | if (common.DeviceStatusReport.CluterID == 258) |
| | | { |
| | | var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade; |
| | | rollershade.DeviceStatusReport = (common as ZigBee.Device.Rollershade).DeviceStatusReport; |
| | | rollershade.DeviceStatusReport = common.DeviceStatusReport; |
| | | var attriButeList = rollershade.DeviceStatusReport.AttriBute; |
| | | if (attriButeList == null || attriButeList.Count == 0) |
| | | { |
| | |
| | | break; |
| | | } |
| | | } |
| | | if ((common as ZigBee.Device.Rollershade).DeviceStatusReport.CluterID == 3) |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade; |
| | | rollershade.IsOnline = 1; |
| | |
| | | |
| | | case DeviceType.Thermostat: |
| | | //AC功能 |
| | | if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 513) |
| | | if (common.DeviceStatusReport.CluterID == 513) |
| | | { |
| | | var ac = deviceUI.CommonDevice as ZigBee.Device.AC; |
| | | ac.DeviceStatusReport = (common as ZigBee.Device.AC).DeviceStatusReport; |
| | | ac.DeviceStatusReport = common.DeviceStatusReport; |
| | | var attriButeList = ac.DeviceStatusReport.AttriBute; |
| | | if (attriButeList == null || attriButeList.Count == 0) |
| | | { |
| | |
| | | |
| | | } |
| | | //当CluterID=3,就证明该设备在线,直接标记 |
| | | if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 3) |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | var ac = deviceUI.CommonDevice as AC; |
| | | ac.IsOnline = 1; |
| | |
| | | case DeviceType.DimmableLight: |
| | | //调光灯功能 |
| | | //开关功能 |
| | | if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 6) |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; |
| | | dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport; |
| | | dimmableLight.DeviceStatusReport = common.DeviceStatusReport; |
| | | //记录、更新状态 |
| | | if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0) |
| | | { |
| | |
| | | dimmableLight.LastDateTime = DateTime.Now; |
| | | } |
| | | //亮度 |
| | | if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 8) |
| | | if (common.DeviceStatusReport.CluterID == 8) |
| | | { |
| | | var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; |
| | | dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport; |
| | | dimmableLight.DeviceStatusReport = common.DeviceStatusReport; |
| | | var attriButeList = dimmableLight.DeviceStatusReport.AttriBute; |
| | | if (attriButeList == null || attriButeList.Count == 0) |
| | | { |
| | |
| | | } |
| | | } |
| | | //当CluterID=3,就证明该设备在线,直接标记 |
| | | if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 3) |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | var dimmableLight = deviceUI.CommonDevice as DimmableLight; |
| | | dimmableLight.IsOnline = 1; |
| | |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | var onOffOutputLight = deviceUI.CommonDevice as ToggleLight; |
| | | onOffOutputLight.IsOnline = (common as ToggleLight).IsOnline; |
| | | onOffOutputLight.IsOnline = common.IsOnline; |
| | | //记录回复时间 |
| | | onOffOutputLight.LastDateTime = DateTime.Now; |
| | | break; |
| | | case DeviceType.AirSwitch: |
| | | var airSwitch = deviceUI.CommonDevice as AirSwitch; |
| | | airSwitch.IsOnline = (common as AirSwitch).IsOnline; |
| | | airSwitch.IsOnline = common.IsOnline; |
| | | //记录回复时间 |
| | | airSwitch.LastDateTime = DateTime.Now; |
| | | break; |
| | | case DeviceType.WindowCoveringDevice: |
| | | var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade; |
| | | rollershade.IsOnline = (common as Rollershade).IsOnline; |
| | | rollershade.IsOnline = common.IsOnline; |
| | | //记录回复时间 |
| | | rollershade.LastDateTime = DateTime.Now; |
| | | break; |
| | | case DeviceType.Thermostat: |
| | | var ac = deviceUI.CommonDevice as ZigBee.Device.AC; |
| | | ac.IsOnline = (common as ZigBee.Device.AC).IsOnline; |
| | | ac.IsOnline = common.IsOnline; |
| | | //记录回复时间 |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | case DeviceType.DimmableLight: |
| | | var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; |
| | | dimmableLight.IsOnline = (common as ZigBee.Device.DimmableLight).IsOnline; |
| | | dimmableLight.IsOnline = common.IsOnline; |
| | | //记录回复时间 |
| | | dimmableLight.LastDateTime = DateTime.Now; |
| | | break; |