public List <SensorDataEntity> GetSensorValuesFrom(string productName, string path, DateTime from) { var readKey = PrefixConstants.GetSensorWriteValueKey(productName, path, from); byte[] bytesKey = Encoding.UTF8.GetBytes(readKey); var startWithKey = PrefixConstants.GetSensorReadValueKey(productName, path); byte[] startWithBytes = Encoding.UTF8.GetBytes(startWithKey); List <SensorDataEntity> result = new List <SensorDataEntity>(); try { var values = _database.GetAllStartingWithAndSeek(startWithBytes, bytesKey); foreach (var value in values) { try { var currentEl = JsonSerializer.Deserialize <SensorDataEntity>(Encoding.UTF8.GetString(value)); if (currentEl.Path == path && currentEl.TimeCollected > from) { result.Add(currentEl); } } catch (Exception e) { _logger.Error(e, $"Failed to deserialize {Encoding.UTF8.GetString(value)} to SensorDataEntity"); } } } catch (Exception e) { _logger.Error(e, $"Failed to read all sensors values for {Encoding.UTF8.GetString(bytesKey)}"); } return(result); }