public async Task FetchAsync() { _deviceTypeProvider = _deviceTypeProvider ?? this.GetDeviceTypeProvider(); string str = await SendCommand(Commands.GetSysInfo).ConfigureAwait(false); Newtonsoft.Json.Linq.JObject obj = ParseGetSysInfo(str); var requestContext = new RequestContext(obj, IPAddress); await _deviceTypeProvider.UpdateDevice(this, requestContext).ConfigureAwait(false); }
private static async Task <DeviceStateInfo> UpdateDevice(RequestContext requestContext, DeviceTypeProvider deviceTypeProvider, Device device) { bool hasChanged = await deviceTypeProvider.UpdateDevice(device, requestContext).ConfigureAwait(false); return(new DeviceStateInfo(device, hasChanged ? DeviceState.Updated : DeviceState.Unchanged)); }