public static KNXmessage CreateFAHFunctionPropertyCommand(FaHDevice faHDevice, PropertyControlTypes propertyControlType, byte ObjectID, byte PropertyID, byte[] payload = null) { if (payload == null) { payload = new byte[0]; } KNXmessage kNXmessage = new KNXmessage(knxControlField.KnxPacketType.KNX_PacketShort); kNXmessage.DestinationAddressType = KNXmessage.DestinationAddressFieldType.Group; kNXmessage.SourceAddress = new KNXAddress(1); kNXmessage.TargetAddress = faHDevice.KnxAddress; kNXmessage.HopCount = 6; kNXmessage.DestinationAddressType = KNXmessage.DestinationAddressFieldType.Individual; kNXmessage.Payload.NewPayload(KNXAdpu.ApduType.FunctionPropertyCommand, (uint)(5 + payload.Length)); kNXmessage.Payload.ReadablePayloadPacket = new FAHFunctionPropertyCommand(kNXmessage.Payload); FAHFunctionPropertyCommand newPkg = (FAHFunctionPropertyCommand)kNXmessage.Payload.ReadablePayloadPacket; newPkg.PropertyControl = propertyControlType; if (payload.Length != 0) { kNXmessage.Payload.UpdateBytes(payload, 5, payload.Length); } newPkg.ObjectID = ObjectID; newPkg.PropertyID = PropertyID; return(kNXmessage); }
public void GetPropertyControlForReply(ref byte[] ControlSecondIndex, ref PropertyControlTypes propertyControl) { propertyControl = this.PropertyControl; ControlSecondIndex = this.FPCpayload; }