public Task StartAsync(CancellationToken cancellationToken) { return(Task.Run(async() => { await _mqtt.ConnectAsync(_options.BrokerUri, _options.AccessToken); await _mqtt.ResponseAttributes("me", true, "ModBusConfig"); do { await _mqtt.UploadAttributeAsync(new { ModBusServiceStatus = "OK" }); Thread.Sleep(TimeSpan.FromSeconds(60)); } while (!cancellationToken.IsCancellationRequested); })); }