public KnxNetIpConnectionString(string connectionString) : this()
        {
            try
            {
                var str     = connectionString.Trim('{', '}');
                var kvpairs = str.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

                foreach (var kv in kvpairs)
                {
                    if (kv.Contains("InternalUrl"))
                    {
                        InternalAddress = kv.Split('=')[1];
                    }
                    if (kv.Contains("ExternalUrl"))
                    {
                        ExternalAddress = kv.Split('=')[1];
                    }
                    if (kv.Contains("InternalProtocol"))
                    {
                        Enum.TryParse(kv.Split('=')[1], true, out _internalProtocol);
                    }
                    if (kv.Contains("ExternalProtocol"))
                    {
                        Enum.TryParse(kv.Split('=')[1], true, out _externalProtocol);
                    }
                    if (kv.Contains("InternalConnectionReleaseDelay"))
                    {
                        Enum.TryParse(kv.Split('=')[1], true, out _internalConnectionReleaseDelay);
                    }
                    if (kv.Contains("ExternalConnectionReleaseDelay"))
                    {
                        Enum.TryParse(kv.Split('=')[1], true, out _externalConnectionReleaseDelay);
                    }
                    if (kv.Contains("InternalMulticastUrl"))
                    {
                        InternalMulticastUrl = kv.Split('=')[1];
                    }
                    if (kv.Contains("DeviceAddress"))
                    {
                        var da = KnxAddress.ParseDevice(kv.Split('=')[1]);
                        DeviceMain   = da.Area;
                        DeviceMiddle = da.Line;
                        DeviceSub    = da.Device;
                    }
                }
            }
            catch (Exception exception)
            {
                throw new ArgumentException("ConnectionString is not formated correctly.", exception);
            }
        }