| | |
| | | return;
|
| | | }
|
| | | onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
|
| | | //记录回复时间
|
| | | onOffOutputLight.LastDateTime = DateTime.Now;
|
| | | }
|
| | | //当CluterID=3,就证明该设备在线,直接标记
|
| | | if (common.DeviceStatusReport.CluterID == 3)
|
| | | {
|
| | | myDevice.IsOnline = 1;
|
| | | //记录回复时间
|
| | | myDevice.LastDateTime = DateTime.Now;
|
| | | }
|
| | | break;
|
| | |
| | | {
|
| | | var airSwitch = (AirSwitch)myDevice;
|
| | | airSwitch.DeviceStatusReport = common.DeviceStatusReport;
|
| | | //记录、更新状态
|
| | | if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
|
| | | {
|
| | | return;
|
| | | }
|
| | | airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
|
| | | //记录回复时间
|
| | | airSwitch.LastDateTime = DateTime.Now;
|
| | |
|
| | | }
|
| | |
| | | if (common.DeviceStatusReport.CluterID == 3)
|
| | | {
|
| | | myDevice.IsOnline = 1;
|
| | | //记录回复时间
|
| | | myDevice.LastDateTime = DateTime.Now;
|
| | | }
|
| | | break;
|
| | |
| | | if (common.DeviceStatusReport.CluterID == 3)
|
| | | {
|
| | | myDevice.IsOnline = 1;
|
| | | //记录回复时间
|
| | | myDevice.LastDateTime = DateTime.Now;
|
| | | }
|
| | | break;
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //此属性表明室内当前的温度 * 100,实际温度为“LocalTemperature / 100”,单位:℃ |
| | | var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; |
| | | switch (attriButeList[0].AttributeId)
|
| | | {
|
| | | case 0:
|
| | | //此属性表明室内当前的温度 * 100,实际温度为“LocalTemperature / 100”,单位:℃
|
| | | ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100;
|
| | | ac.currentLocalTemperature = curTemp;
|
| | | ac.LastDateTime = DateTime.Now;
|
| | | break;
|
| | |
|
| | | case 17:
|
| | | //此属性表明此设备当前的制冷温度,实际温度为“CoolingSetpoint / 100”,单位:℃。
|
| | | ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100;
|
| | | ac.currentCoolingSetpoint = curTemp;
|
| | | ac.LastDateTime = DateTime.Now;
|
| | | break;
|
| | |
|
| | | case 18:
|
| | | //此属性表明此设备当前的制热温度,实际温度为“HeatingSetpoint / 100”,单位:℃。
|
| | | ac.currentHeatingSetpoint = attriButeList[0].AttriButeData / 100;
|
| | | ac.currentHeatingSetpoint = curTemp;
|
| | | ac.LastDateTime = DateTime.Now;
|
| | | break;
|
| | |
|
| | | case 4096:
|
| | | //此属性表明此设备当前的自动温度,实际温度为“AutoSetpoint / 100”,单位:℃。
|
| | | ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
|
| | | ac.currentAutoSetpoint = curTemp;
|
| | | ac.LastDateTime = DateTime.Now;
|
| | | break;
|
| | |
|
| | | case 28:
|
| | | //此属性描述恒温设备正处于哪种模式
|
| | | //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8
|
| | | ac.currentSystemMode = attriButeList[0].AttriButeData;
|
| | | ac.LastDateTime = DateTime.Now;
|
| | | break;
|
| | | } |
| | | } |
| | |
|
| | | if (common.DeviceStatusReport.CluterID == 514) |
| | | { |
| | | var ac = (AC)myDevice; |
| | | var attriButeList = common.DeviceStatusReport.AttriBute; |
| | | if (attriButeList == null || attriButeList.Count == 0) |
| | | { |
| | | return; |
| | | }
|
| | |
|
| | | ac.DeviceStatusReport = common.DeviceStatusReport; |
| | | switch (attriButeList[0].AttributeId) |
| | | {
|
| | | case 0: |
| | | ac.currentFanMode = attriButeList[0].AttriButeData; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | case 4096: |
| | | ac.currentFanSwingMode = attriButeList[0].AttriButeData; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | } |
| | | }
|
| | | |
| | | //当CluterID=3,就证明该设备在线,直接标记
|
| | | if (common.DeviceStatusReport.CluterID == 3)
|
| | | {
|
| | | myDevice.IsOnline = 1;
|
| | | //记录回复时间
|
| | | myDevice.LastDateTime = DateTime.Now;
|
| | | }
|
| | | break;
|
| | |
| | | return;
|
| | | }
|
| | | dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
|
| | | //记录回复时间
|
| | | dimmableLight.LastDateTime = DateTime.Now;
|
| | | }
|
| | | //亮度
|
| | |
| | | switch (attriButeList[0].AttributeId)
|
| | | {
|
| | | case 0:
|
| | | //此属性表明当前亮度程度
|
| | | dimmableLight.Level = attriButeList[0].AttriButeData;
|
| | | dimmableLight.LastDateTime = DateTime.Now;
|
| | | break;
|
| | |
| | | if (common.DeviceStatusReport.CluterID == 3)
|
| | | {
|
| | | myDevice.IsOnline = 1;
|
| | | //记录回复时间
|
| | | myDevice.LastDateTime = DateTime.Now;
|
| | | }
|
| | | break;
|