public async Task SendKnxMessage()
        {
            var target = new KnxNetIpTunnelingClient(new IPEndPoint(IPAddress.Parse("10.10.10.11"), 3671), KnxAddress.Device(1, 1, 2));

            try
            {
                await target.Connect();

                var message = new KnxMessage
                {
                    MessageType               = MessageType.Write,
                    MessageCode               = MessageCode.Request,
                    Priority                  = MessagePriority.Auto,
                    SourceAddress             = new KnxDeviceAddress(1, 1, 2),
                    DestinationAddress        = new KnxLogicalAddress(1, 1, 28),
                    TransportLayerControlInfo = TransportLayerControlInfo.UnnumberedDataPacket,
                    DataPacketCount           = 0,
                    Payload = new DptBoolean(false).Payload
                };

                await target.SendMessage(message);

                // test for simpler SendMessage calls
                //target.Write(KnxAddress.Logical(9, 3, 0), (new DptTime(new TimeSpan(13, 36, 00), DayOfWeek.Monday)));
            }
            finally
            {
                target.Dispose();
            }
        }
 public async Task ConnectTest()
 {
     using (var target = new KnxNetIpTunnelingClient(new IPEndPoint(IPAddress.Parse("10.10.10.11"), 3671), KnxAddress.Device(1, 1, 2)))
     {
         await target.Connect();
     }
 }