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);
        }
Example #2
0
        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));
        }