public void Connect()
        {
            Discover();
            var parameter = new IpTunnelingConnectorParameters("192.168.178.46");

            try
            {
                var connection = new KnxBus(parameter);
                connection.ConnectionStateChanged += OnConnectionStateChanged;
                connection.GroupMessageReceived   += OnGroupMessageReceived;
                connection.Connect();
            }
            catch (Exception ex)
            {
            }

            //TODO discovery does not seem to work
            //await foreach (var ip in KnxBus.DiscoverIpDevicesAsync())
            //{
            //    Console.WriteLine(ip);

            //    // convert to a connection string
            //    var connectionString = ip.ToConnectionString();
            //    Console.WriteLine(connectionString);

            //    // or directly to a IPTunnelingConnectorParameters object
            //    if (ip.Supports(ServiceFamily.Tunneling, 1))
            //    {
            //        var connectorParameter = IpTunnelingConnectorParameters.FromDiscovery(ip);
            //    }
            //}
        }
示例#2
0
 public HomeViewModel(Settings settings, TelegrammList telegrammList, INotificationManager manager)
 {
     _settings = settings;
     _manager  = manager;
     _settings.PropertyChanged        += SettingsOnPropertyChanged;
     Knx.Falcon.Logging.Logger.Factory = new MyLoggerFactory();
     _bus               = new KnxBus(CreateParameter());
     Telegramms         = telegrammList;
     ConnectCommand     = new Command(OnConnect);
     WriteCommand       = new Command(OnWrite);
     TargetWriteAddress = "01/1/001";
     WriteValue         = "true";
 }
 private void DiscoverInterfaces()
 {
     DiscoveredInterfaces.Clear();
     Task.Run(() =>
     {
         IsDiscovering = true;
         foreach (var dis in KnxBus.DiscoverIpDevices())
         {
             DiscoveredInterfaces.Add(dis);
         }
         IsDiscovering = false;
     });
 }