/** * Deserialise the contents of the structure. * * @param deserializer the {@link ZigBeeDeserializer} used to deserialize */ public void Deserialize(IZigBeeDeserializer deserializer) { // Deserialize the fields // logicalType = (LogicalType) deserializer.deserialize(ZclDataType.SIGNED_8_BIT_INTEGER); // Some flags... byte value1 = deserializer.ReadZigBeeType <byte>(DataType.DATA_8_BIT); byte value2 = deserializer.ReadZigBeeType <byte>(DataType.DATA_8_BIT); byte value3 = deserializer.ReadZigBeeType <byte>(DataType.DATA_8_BIT); SetLogicalType(value1 & 0x07); ComplexDescriptorAvailable = (value1 & 0x08) != 0; IsuserDescriptorAvailable = (value1 & 0x10) != 0; SetFrequencyBands((value2 & 0xf8) >> 3); SetMacCapabilities(value3); // complexDescriptorAvailable = (Boolean) deserializer.deserialize(ZclDataType.BOOLEAN); // userDescriptorAvailable = (Boolean) deserializer.deserialize(ZclDataType.BOOLEAN); ManufacturerCode = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); BufferSize = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); IncomingTransferSize = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); SetServerCapabilities(deserializer.ReadZigBeeType <short>(DataType.SIGNED_16_BIT_INTEGER)); OutgoingTransferSize = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); sbyte descriptorCapabilities = deserializer.ReadZigBeeType <sbyte>(DataType.SIGNED_8_BIT_INTEGER); IsextendedEndpointListAvailable = (descriptorCapabilities & 0x01) != 0; ExtendedSimpleDescriptorListAvailable = (descriptorCapabilities & 0x02) != 0; }
public void Deserialize(IZigBeeDeserializer deserializer) { Direction = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); AttributeIdentifier = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); if (Direction == 1) { // If direction is set to 0x01, then the timeout period field is included in the payload, // and the attribute data type field, the minimum reporting interval field, the // maximum reporting interval field and the reportable change field are omitted. The // record is sent to a cluster client (or server) to configure how it should expect // reports from a server (or client) of the same cluster. TimeoutPeriod = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); } else { // If direction is set to 0x00, then the attribute data type field, the minimum // reporting interval field, the maximum reporting interval field and the reportable // change field are included in the payload, and the timeout period field is omitted. // The record is sent to a cluster server (or client) to configure how it sends reports to // a client (or server) of the same cluster. AttributeDataType = ZclDataType.Get((byte)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER))); MinimumReportingInterval = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); MaximumReportingInterval = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); if (AttributeDataType.IsAnalog) { // The reportable change field shall contain the minimum change to the attribute that // will result in a report being issued. This field is of variable length. For attributes // with 'analog' data typethe field has the same data type as the attribute. The sign (if any) of the // reportable change field is ignored. For attributes of 'discrete' data type this field is omitted. ReportableChange = deserializer.ReadZigBeeType(AttributeDataType); } } }
public void Deserialize(IZigBeeDeserializer deserializer) { Status = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); if (Status != 0) { AttributeIdentifier = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); } }
public void Deserialize(IZigBeeDeserializer deserializer) { Status = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); if (Status != 0) { AttributeIdentifier = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); } }
public void Deserialize(IZigBeeDeserializer deserializer) { NeighborAddress = deserializer.ReadZigBeeType <IeeeAddress>(DataType.IEEE_ADDRESS); Coordinate1 = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); Coordinate2 = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); Coordinate3 = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); Rssi = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); MeasurementCount = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); }
public void Deserialize(IZigBeeDeserializer deserializer) { AttributeIdentifier = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); byte dataType = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); AttributeDataType = ZclDataType.Get((DataType)dataType); AttributeValue = deserializer.ReadZigBeeType <object>(AttributeDataType.DataType); }
public void Deserialize(IZigBeeDeserializer deserializer) { neighborAddress = (long)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.IEEE_ADDRESS)); Coordinate1 = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); Coordinate2 = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); Coordinate3 = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); Rssi = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); MeasurementCount = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); }
public void Deserialize(IZigBeeDeserializer deserializer) { AttributeIdentifier = (ushort)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); Status = (ZclStatus)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.ZCL_STATUS)); if (Status == ZclStatus.SUCCESS) { AttributeDataType = ZclDataType.Get((byte)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER))); AttributeValue = deserializer.ReadZigBeeType(AttributeDataType); } }
public void Deserialize(IZigBeeDeserializer deserializer) { AttributeIdentifier = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); Status = deserializer.ReadZigBeeType <ZclStatus>(DataType.ZCL_STATUS); if (Status == ZclStatus.SUCCESS) { AttributeDataType = ZclDataType.Get(deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER)); AttributeValue = deserializer.ReadZigBeeType <object>(AttributeDataType.DataType); } }
/// <summary> /// Deserialise the contents of the structure. /// /// <param name="deserializer">the <see cref="ZigBeeDeserializer"> used to deserialize</param> /// </summary> public void Deserialize(IZigBeeDeserializer deserializer) { // Deserialize the fields Endpoint = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); ProfileId = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); DeviceId = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); DeviceVersion = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); InputClusterList = deserializer.ReadZigBeeType <List <ushort> >(DataType.N_X_UNSIGNED_16_BIT_INTEGER); OutputClusterList = deserializer.ReadZigBeeType <List <ushort> >(DataType.N_X_UNSIGNED_16_BIT_INTEGER); }
/** * Deserialise the contents of the structure. * * @param deserializer the {@link ZigBeeDeserializer} used to deserialize */ public void Deserialize(IZigBeeDeserializer deserializer) { // Deserialize the fields Endpoint = (byte)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); ProfileId = (ushort)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); DeviceId = (ushort)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); DeviceVersion = (byte)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); InputClusterList = (List <ushort>)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.N_X_UNSIGNED_16_BIT_INTEGER)); OutputClusterList = (List <ushort>)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.N_X_UNSIGNED_16_BIT_INTEGER)); }
/** * Deserialise the contents of the structure. * * @param deserializer the {@link ZigBeeDeserializer} used to deserialize */ public void Deserialize(IZigBeeDeserializer deserializer) { // Deserialize the fields byte byte1 = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); byte byte2 = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); setCurrentPowerMode(byte1 & 0x0f); SetAvailablePowerSources(byte1 >> 4 & 0x0f); setCurrentPowerSource(byte2 & 0x0f); SetCurrentPowerLevel(byte2 >> 4 & 0x0f); }
public void Deserialize(IZigBeeDeserializer deserializer) { SrcAddr = deserializer.ReadZigBeeType <IeeeAddress>(DataType.IEEE_ADDRESS); SrcEndpoint = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); ClusterId = deserializer.ReadZigBeeType <ushort>(DataType.CLUSTERID); DstAddrMode = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); if (DstAddrMode == 1) { DstGroupAddr = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); } else if (DstAddrMode == 3) { DstAddr = deserializer.ReadZigBeeType <IeeeAddress>(DataType.IEEE_ADDRESS); DstNodeEndpoint = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); } }
public void Deserialize(IZigBeeDeserializer deserializer) { SrcAddr = (IeeeAddress)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.IEEE_ADDRESS)); SrcEndpoint = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); ClusterId = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.CLUSTERID)); DstAddrMode = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); if (DstAddrMode == 1) { DstGroupAddr = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); } else if (DstAddrMode == 3) { DstAddr = (IeeeAddress)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.IEEE_ADDRESS)); DstNodeEndpoint = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); } }
/** * Deserialise the contents of the structure. * * @param deserializer the {@link ZigBeeDeserializer} used to deserialize */ public void Deserialize(IZigBeeDeserializer deserializer) { // Deserialize the fields ExtendedPanId = deserializer.ReadZigBeeType <ExtendedPanId>(DataType.EXTENDED_PANID); ExtendedAddress = deserializer.ReadZigBeeType <IeeeAddress>(DataType.IEEE_ADDRESS); NetworkAddress = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); byte temp = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); SetDeviceType(temp & 0x03); SetRxOnWhenIdle((temp & 0x0c) >> 2); SetRelationship((temp & 0x70) >> 4); temp = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); SetPermitJoining(temp & 0x03); Depth = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); Lqi = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); }
/** * Deserialise the contents of the structure. * * @param deserializer the {@link ZigBeeDeserializer} used to deserialize */ public void Deserialize(IZigBeeDeserializer deserializer) { // Deserialize the fields DestinationAddress = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); byte temp = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); switch (temp & 0x07) { case 0: Status = DiscoveryState.ACTIVE; break; case 1: Status = DiscoveryState.DISCOVERY_UNDERWAY; break; case 2: Status = DiscoveryState.DISCOVERY_FAILED; break; case 3: Status = DiscoveryState.INACTIVE; break; case 4: Status = DiscoveryState.VALIDATION_UNDERWAY; break; default: Status = DiscoveryState.UNKNOWN; break; } IsMemoryConstrained = (temp & 0x08) != 0; IsManyToOne = (temp & 0x10) != 0; IsRouteRecordRequired = (temp & 0x20) != 0; IsNextHopAddress = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); }
public void Deserialize(IZigBeeDeserializer deserializer) { Status = deserializer.ReadZigBeeType <ZclStatus>(DataType.ZCL_STATUS); Direction = deserializer.ReadZigBeeType <bool>(DataType.BOOLEAN); AttributeIdentifier = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); }
public void Deserialize(IZigBeeDeserializer deserializer) { Identifier = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); AttributeDataType = deserializer.ReadZigBeeType <ZclDataType>(DataType.ZIGBEE_DATA_TYPE); }
public void Deserialize(IZigBeeDeserializer deserializer) { AttributeIdentifier = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); AttributeDataType = ZclDataType.Get((byte)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER))); AttributeValue = deserializer.ReadZigBeeType(AttributeDataType); }
public void Deserialize(IZigBeeDeserializer deserializer) { Status = (ZclStatus)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.ZCL_STATUS)); Direction = (bool)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.BOOLEAN)); AttributeIdentifier = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); }
public void Deserialize(IZigBeeDeserializer deserializer) { Value = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); }
public void Deserialize(IZigBeeDeserializer deserializer) { Identifier = (ushort)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); AttributeDataType = (ZclDataType)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.ZIGBEE_DATA_TYPE)); }
public void Deserialize(IZigBeeDeserializer deserializer) { Direction = deserializer.ReadZigBeeType <byte>(DataType.UNSIGNED_8_BIT_INTEGER); AttributeIdentifier = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); }
public void Deserialize(IZigBeeDeserializer deserializer) { Value = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); }
public void Deserialize(IZigBeeDeserializer deserializer) { ClusterId = (byte)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); Data = (byte[])deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER_ARRAY)); }
public void Deserialize(IZigBeeDeserializer deserializer) { ClusterId = deserializer.ReadZigBeeType <ushort>(DataType.UNSIGNED_16_BIT_INTEGER); Data = deserializer.ReadZigBeeType <byte[]>(DataType.UNSIGNED_8_BIT_INTEGER_ARRAY); }
public ZclFieldDeserializer(IZigBeeDeserializer deserializer) { Deserializer = deserializer; }
public void Deserialize(IZigBeeDeserializer deserializer) { Direction = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_8_BIT_INTEGER)); AttributeIdentifier = (int)deserializer.ReadZigBeeType(ZclDataType.Get(DataType.UNSIGNED_16_BIT_INTEGER)); }