Skip to content

Commit ebb5fbc

Browse files
committed
Fix Copilot comments
Signed-off-by: Anders Alfredsson <andersb86@gmail.com>
1 parent 8a040e9 commit ebb5fbc

3 files changed

Lines changed: 10 additions & 10 deletions

File tree

bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/ForecastAggregator.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import static org.openhab.binding.smhi.internal.SmhiBindingConstants.*;
1616

1717
import java.math.BigDecimal;
18-
import java.time.ZonedDateTime;
1918
import java.time.temporal.ChronoUnit;
2019
import java.util.List;
2120

@@ -42,7 +41,7 @@ public static State max(SmhiTimeSeries timeSeries, int dayOffset, @Nullable Para
4241
if (metadata == null)
4342
return UnDefType.UNDEF;
4443

45-
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset);
44+
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset, false);
4645
return dayForecasts.stream().map(forecast -> forecast.getParameter(metadata.name()))
4746
.filter(p -> !metadata.missingValue().equals(p)).max(BigDecimal::compareTo)
4847
.map(value -> Util.getParameterAsState(metadata, value))
@@ -61,7 +60,7 @@ public static State min(SmhiTimeSeries timeSeries, int dayOffset, @Nullable Para
6160
if (metadata == null)
6261
return UnDefType.UNDEF;
6362

64-
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset);
63+
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset, false);
6564
return dayForecasts.stream().map(forecast -> forecast.getParameter(metadata.name()))
6665
.filter(p -> !metadata.missingValue().equals(p)).min(BigDecimal::compareTo)
6766
.map(value -> Util.getParameterAsState(metadata, value))
@@ -83,10 +82,7 @@ public static State total(SmhiTimeSeries timeSeries, int dayOffset, @Nullable Pa
8382
if (baseMetadata == null || totalMetadata == null)
8483
return UnDefType.UNDEF;
8584

86-
ZonedDateTime start = timeSeries.getReferenceTime().plusDays(dayOffset).withHour(0);
87-
ZonedDateTime end = start.plusDays(1);
88-
List<Forecast> dayForecasts = timeSeries
89-
.filter(forecast -> forecast.getTime().isAfter(start) && !forecast.getTime().isAfter(end));
85+
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset, true);
9086
if (dayForecasts.size() == 1) {
9187
return dayForecasts.getFirst().getParameterAsState(baseMetadata);
9288
}
@@ -112,7 +108,7 @@ public static State noonOrFirst(SmhiTimeSeries timeSeries, int dayOffset, @Nulla
112108
if (metadata == null)
113109
return UnDefType.UNDEF;
114110

115-
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset);
111+
List<Forecast> dayForecasts = timeSeries.getDay(dayOffset, false);
116112
return dayForecasts.stream().filter(forecast -> forecast.getTime().getHour() >= 12).findFirst()
117113
.map(f -> f.getParameterAsState(metadata))
118114
.orElseGet(() -> Util.getParameterAsState(metadata, metadata.missingValue()));

bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/SmhiTimeSeries.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,12 @@ public Optional<Forecast> getForecast(ZonedDateTime startTime, int hourOffset) {
8989
* @param dayOffset
9090
* @return
9191
*/
92-
public List<Forecast> getDay(int dayOffset) {
92+
public List<Forecast> getDay(int dayOffset, boolean useIntervalStartTime) {
9393
ZonedDateTime day = referenceTime.plusDays(dayOffset).truncatedTo(ChronoUnit.DAYS);
94+
if (useIntervalStartTime) {
95+
return filter(forecast -> !forecast.getIntervalStartTime().isBefore(day)
96+
&& forecast.getIntervalStartTime().isBefore(day.plusDays(1)));
97+
}
9498
return filter(forecast -> !forecast.getTime().isBefore(day) && forecast.getTime().isBefore(day.plusDays(1)));
9599
}
96100

bundles/org.openhab.binding.smhi/src/main/java/org/openhab/binding/smhi/internal/Util.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ private static StateDescriptionFragment createStateDescription(ParameterMetadata
9898
case "m s**-1":
9999
case "km":
100100
case "octas":
101+
case "hPa":
101102
case "kg/m2":
102103
builder.withPattern("%.1f %unit%");
103104
break;
104105
case "degree":
105106
case "percent":
106-
case "hPa":
107107
case "fraction":
108108
case "m":
109109
case "%":

0 commit comments

Comments
 (0)