Skip to content

Commit b842681

Browse files
author
Daniel Kötting
committed
Reimplemented gridPower to keep the binding backwards compatible
Fixes openhab#18148 Signed-off-by: Daniel Kötting <[email protected]>
1 parent 0de0566 commit b842681

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

bundles/org.openhab.binding.evcc/src/main/java/org/openhab/binding/evcc/internal/EvccHandler.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,7 @@
2929
import org.eclipse.jdt.annotation.Nullable;
3030
import org.openhab.binding.evcc.internal.api.EvccAPI;
3131
import org.openhab.binding.evcc.internal.api.EvccApiException;
32-
import org.openhab.binding.evcc.internal.api.dto.Battery;
33-
import org.openhab.binding.evcc.internal.api.dto.Loadpoint;
34-
import org.openhab.binding.evcc.internal.api.dto.PV;
35-
import org.openhab.binding.evcc.internal.api.dto.Plan;
36-
import org.openhab.binding.evcc.internal.api.dto.Result;
37-
import org.openhab.binding.evcc.internal.api.dto.Vehicle;
32+
import org.openhab.binding.evcc.internal.api.dto.*;
3833
import org.openhab.core.i18n.TimeZoneProvider;
3934
import org.openhab.core.library.CoreItemFactory;
4035
import org.openhab.core.library.types.DateTimeType;
@@ -712,7 +707,12 @@ private void updateChannelsGeneral() {
712707
}
713708
boolean gridConfigured = this.gridConfigured;
714709
if (gridConfigured) {
715-
float gridPower = ((result.getGrid().getPower() == null) ? 0.0f : result.getGrid().getPower());
710+
// handling gridPower prior to changes in evcc version 0.133.0
711+
float gridPower = ((result.getGridPower() == null) ? 0.0f : result.getGridPower());
712+
Grid grid = result.getGrid();
713+
if (grid != null) {
714+
gridPower = ((grid.getPower() == null) ? 0.0f : grid.getPower());
715+
}
716716
channel = new ChannelUID(uid, CHANNEL_GROUP_ID_GENERAL, CHANNEL_GRID_POWER);
717717
updateState(channel, new QuantityType<>(gridPower, Units.WATT));
718718
}

bundles/org.openhab.binding.evcc/src/main/java/org/openhab/binding/evcc/internal/api/dto/Result.java

+10
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ public class Result {
4949
@SerializedName("batteryMode")
5050
private String batteryMode;
5151

52+
@SerializedName("gridPower")
53+
private Float gridPower;
54+
5255
@SerializedName("grid")
5356
private Grid grid;
5457

@@ -161,6 +164,13 @@ public String getBatteryMode() {
161164
return batteryMode;
162165
}
163166

167+
/**
168+
* @return gridPower (before evcc version 0.133.0)
169+
*/
170+
public Float getGridPower() {
171+
return gridPower;
172+
}
173+
164174
/**
165175
* @return all grid related values
166176
*/

0 commit comments

Comments
 (0)