private String getDoubleData(SensorVariable sensorVariable, AGGREGATION_TYPE aggrType) {
    List<MetricsDoubleTypeDevice> metrics =
        MetricsAggregationBase.getMetricsDoubleData(sensorVariable, null, null);
    StringBuilder builder = new StringBuilder();

    if (aggrType == AGGREGATION_TYPE.RAW) {
      // Headers
      builder.append("Timestamp").append(",");
      builder.append("Time").append(",");
      builder.append("Value");

      // Update data
      for (MetricsDoubleTypeDevice metric : metrics) {
        builder.append("\n");
        builder.append(metric.getTimestamp());
        builder.append(",").append(timeFormat.format(new Date(metric.getTimestamp())));
        builder.append(",").append(metric.getAvg());
      }
    } else {
      // Headers
      builder.append("Timestamp").append(",");
      builder.append("Time").append(",");
      builder.append("Samples").append(",");
      builder.append("Minimum").append(",");
      builder.append("Average").append(",");
      builder.append("Maximum");

      // Update data
      for (MetricsDoubleTypeDevice metric : metrics) {
        builder.append("\n");
        builder.append(metric.getTimestamp());
        builder.append(",").append(timeFormat.format(new Date(metric.getTimestamp())));
        builder.append(",").append(metric.getSamples());
        builder.append(",").append(metric.getMin());
        builder.append(",").append(metric.getAvg());
        builder.append(",").append(metric.getMax());
      }
    }
    return builder.toString();
  }
  private String getBinaryData(SensorVariable sensorVariable, AGGREGATION_TYPE aggrType) {
    Long fromTime = null;
    switch (aggrType) {
      case RAW:
        fromTime = System.currentTimeMillis() - TIME_REF.ONE_HOUR;
        break;
      case ONE_MINUTE:
        fromTime = System.currentTimeMillis() - TIME_REF.ONE_HOUR * 6;
        break;
      case FIVE_MINUTES:
        fromTime = System.currentTimeMillis() - TIME_REF.ONE_DAY;
        break;
      case ONE_HOUR:
        fromTime = System.currentTimeMillis() - TIME_REF.ONE_DAY * 30;
        break;
      default:
        break;
    }
    List<MetricsBinaryTypeDevice> metrics =
        MetricsAggregationBase.getMetricsBinaryData(sensorVariable, fromTime);

    StringBuilder builder = new StringBuilder();
    // Headers
    builder.append("Timestamp").append(",");
    builder.append("Time").append(",");
    builder.append("Status");

    // Update data
    for (MetricsBinaryTypeDevice metric : metrics) {
      builder.append("\n");
      builder.append(metric.getTimestamp());
      builder.append(",").append(timeFormat.format(new Date(metric.getTimestamp())));
      builder.append(",").append(metric.getState());
    }
    return builder.toString();
  }