private async void OnTick(object sender, object e)
{
var devicesList = (await ftManager.GetDeviceList()).ToList();
// add devices we don't have yet
var devicesToAdd = devicesList.Where(x => Devices.All(y => y.Id != x.Id)).ToList();
foreach (var device in devicesToAdd)
Devices.Add(device);
// remove any devices that are no longer connected
var devicesToDelete = Devices.Where(x => devicesList.All(y => y.Id != x.Id)).ToList();
foreach (var deviceNode in devicesToDelete)
Devices.Remove(deviceNode);
}