private void OnDeviceCreated(object sender, DeviceCreatedEventArgs e) { WLEDDevice toAdd = e.CreatedDevice; if (toAdd != null) { foreach (WLEDDevice d in deviceList) { //ensure there is only one device entry per IP if (toAdd.NetworkAddress.Equals(d.NetworkAddress)) { if (toAdd.NameIsCustom) { d.Name = toAdd.Name; d.NameIsCustom = true; ReinsertDeviceSorted(d); } return; } } InsertDeviceSorted(toAdd); toAdd.PropertyChanged += DevicePropertyChanged; if (e.RefreshRequired) { _ = toAdd.Refresh(); } UpdateElementsVisibility(); } }
private async void OnServiceAdded(object sender, ServiceAnnouncementEventArgs e) { WLEDDevice toAdd = new WLEDDevice(); foreach (var addr in e.Announcement.Addresses) { toAdd.NetworkAddress = addr.ToString(); break; //only get first address } toAdd.Name = e.Announcement.Hostname; toAdd.NameIsCustom = false; if (await toAdd.Refresh()) //check if the service is a valid WLED light { OnValidDeviceFound(new DeviceCreatedEventArgs(toAdd, false)); } }
private async void OnBackButtonTapped(object sender, EventArgs e) { await Navigation.PopModalAsync(false); currentDevice?.Refresh(); //refresh device list item to apply changes made in the control page }