private void AddUnitedValue(UnitedSensorValue value)
        {
            try
            {
                string productName = _productManager.GetProductNameByKey(value.Key);
                if (!_productManager.IsSensorRegistered(productName, value.Path))
                {
                    _productManager.AddSensor(productName, value);
                }
                DateTime   timeCollected = DateTime.Now;
                SensorData updateMessage = _converter.ConvertUnitedValue(value, productName, timeCollected);
                _queueManager.AddSensorData(updateMessage);
                _valuesCache.AddValue(productName, updateMessage);
                bool isToDB = true;
                if (value.IsBarSensor())
                {
                    isToDB = ProcessBarSensor(value, timeCollected, productName);
                }

                if (!isToDB)
                {
                    return;
                }

                SensorDataEntity dataObject = _converter.ConvertUnitedValueToDatabase(value, timeCollected);
                Task.Run(() => SaveSensorValue(dataObject, productName));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"Failed to add value for sensor {value?.Path}");
            }
        }