private void onNext(KafkaMessage km) { var extractVoltageRegExp = new Regex("[0-9]{4,5}"); float voltage = 0.0f; try { var stationFragment = _ackDetecRegExp.Match(km.Payload).Groups[0].Value; var match = _stationExtractorRegExp.Match(stationFragment); if (match.Success) { var intermediateValue = _ackVoltageRegExp.Match(km.Payload).Groups[0].Value; float.TryParse(extractVoltageRegExp.Match(intermediateValue).Groups[0].Value, out voltage); voltage = voltage / 1000.0f; var stationId = match.Groups[0].Value; var station = _stationConfig.Stations.Where(x => x.Id == stationId).FirstOrDefault(); _influxClient.WritePirVoltage(km.Id, station.Id, voltage, _timeProvider.GetCurrentTimeUtc()); } } catch (Exception ex) { _logger.LogError(ex.ToString()); } }