diff --git a/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/TimedataInfluxDb.java b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/TimedataInfluxDb.java index d3c957f38dc..01233a86f00 100644 --- a/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/TimedataInfluxDb.java +++ b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/TimedataInfluxDb.java @@ -159,7 +159,18 @@ public void write(String edgeId, AggregatedDataNotification notification) { @Override public void write(String edgeId, ResendDataNotification data) { - // TODO Auto-generated method stub + if (this.config.isReadOnly()) { + return; + } + + // Write data to default location + this.writeData(// + edgeId, // + data, // + (influxEdgeId, channel) -> { + this.timestampedChannelsForEdge.put(influxEdgeId, channel); + return true; + }); } private boolean isTimestampedChannel(int edgeId, String channel) { diff --git a/io.openems.edge.timedata.rrd4j/src/io/openems/edge/timedata/rrd4j/Rrd4jReadHandler.java b/io.openems.edge.timedata.rrd4j/src/io/openems/edge/timedata/rrd4j/Rrd4jReadHandler.java index 0be558ae28e..32aab5ba0a5 100644 --- a/io.openems.edge.timedata.rrd4j/src/io/openems/edge/timedata/rrd4j/Rrd4jReadHandler.java +++ b/io.openems.edge.timedata.rrd4j/src/io/openems/edge/timedata/rrd4j/Rrd4jReadHandler.java @@ -213,6 +213,7 @@ public SortedMap> queryResendData(/ } continue; } + var channelType = channel.getType(); try (final var database = this.rrd4jSupplier.getExistingUpdatedRrdDb(// rrdDbId, channel.address(), channel.channelDoc().getUnit())) { if (database == null) { @@ -255,9 +256,13 @@ public SortedMap> queryResendData(/ continue; } + var jval = switch (channelType) { + case FLOAT, DOUBLE -> new JsonPrimitive((float)value); + default -> new JsonPrimitive((int)value); + }; // return timestamps in milliseconds resultMap.computeIfAbsent(timestamp * 1000, t -> new TreeMap<>()) // - .put(channelAddress, new JsonPrimitive(value)); + .put(channelAddress, jval); } }