private void _FreezeDevice(GHUBMsg msg) { var match = Regex.Match(msg.path, ".+?(dev[0-9]+).+"); LogiDeviceGHUB device = _LogiDevices.FirstOrDefault(x => x.DeviceID == match.Groups[1].Value) as LogiDeviceGHUB; if (device == null) { return; } device.HasBattery = false; }
private void _UpdateDevice(JObject payload) { LogiDeviceGHUB device = _LogiDevices.FirstOrDefault(x => x.DeviceID == payload["deviceId"].ToString()) as LogiDeviceGHUB; if (device == null) { return; } device.BatteryPercentage = payload["percentage"].ToObject <double>(); device.Mileage = payload["mileage"].ToObject <double>(); device.Charging = payload["charging"].ToObject <bool>(); }
private void _loadDevices(JObject payload) { _LogiDevices.Clear(); foreach (var deviceToken in payload["deviceInfos"]) { if (!Enum.TryParse(deviceToken["deviceType"].ToString(), true, out DeviceType deviceType)) { deviceType = DeviceType.Mouse; } LogiDeviceGHUB device = new LogiDeviceGHUB() { DeviceID = deviceToken["id"].ToString(), DeviceName = deviceToken["extendedDisplayName"].ToString(), DeviceType = deviceType }; _LogiDevices.Add(device); } UpdateDevicesAsync().Wait(); }