public override void OnNavigatedTo(INavigationParameters parameters)
        {
            base.OnNavigatedTo(parameters);

            var key = "Device";

            if (!parameters.ContainsKey(key) || !(parameters[key] is DeviceViewModel device))
            {
                return;
            }

            _device = device;
            _device.ErrorOccured                 += OnErrorOccured;
            _device.ConnectionStateChanged       += OnConnectionStateChanged;
            _device.CommunicationQualityReceived += OnCommunicationQualityReceived;

            UUID        = _device.UUID;
            Title       = Name = _device.Name;
            IsConnected = _device.IsConnected;

            if (_device.ConnectCommand.CanExecute())
            {
                _device.ConnectCommand.Execute();
            }
        }
        private void OnDeviceDiscovered(object sender, BLEDeviceEventArgs e)
        {
            foreach (var item in Devices)
            {
                if (item.UUID == e.Device.UUID)
                {
                    return;
                }
            }

            var device = new DeviceViewModel(e.Device);

            Devices.Add(device);
        }