Skip to content

Commit 74293ea

Browse files
Edge: Fix typo in EssFeneconCommercial40Pv2Impl (OpenEMS#2310)
* Validate, that fix actually works, via JUnit test * Fix typo --------- Co-authored-by: Stefan Feilmeier <[email protected]>
1 parent c6c7edf commit 74293ea

File tree

5 files changed

+126
-6
lines changed

5 files changed

+126
-6
lines changed

io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/charger/EssFeneconCommercial40Pv2Impl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public EssFeneconCommercial40Pv2Impl() {
5555
}
5656

5757
@Activate
58-
private void activate(ComponentContext context, ConfigPv1 config) throws OpenemsException {
58+
private void activate(ComponentContext context, ConfigPv2 config) throws OpenemsException {
5959
if (super.activate(context, config.id(), config.alias(), config.enabled(), this.ess.getUnitId(), this.cm,
6060
"Modbus", this.ess.getModbusBridgeId())) {
6161
return;

io.openems.edge.ess.fenecon.commercial40/test/io/openems/edge/ess/fenecon/commercial40/charger/EssFeneconCommercial40Pv1ImplTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void test() throws Exception {
3535
.addReference("cm", new DummyConfigurationAdmin()) //
3636
.addReference("ess", ess) //
3737
.addReference("setModbus", new DummyModbusBridge(MODBUS_ID)) //
38-
.activate(MyConfigPV1.create() //
38+
.activate(MyConfigPv1.create() //
3939
.setId(CHARGER_ID) //
4040
.setModbusId(MODBUS_ID) //
4141
.setEssId(ESS_ID) //
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package io.openems.edge.ess.fenecon.commercial40.charger;
2+
3+
import org.junit.Test;
4+
5+
import io.openems.edge.bridge.modbus.test.DummyModbusBridge;
6+
import io.openems.edge.common.test.ComponentTest;
7+
import io.openems.edge.common.test.DummyConfigurationAdmin;
8+
import io.openems.edge.ess.fenecon.commercial40.EssFeneconCommercial40Impl;
9+
import io.openems.edge.ess.test.ManagedSymmetricEssTest;
10+
11+
public class EssFeneconCommercial40Pv2ImplTest {
12+
13+
private static final String CHARGER_ID = "charger1";
14+
private static final String ESS_ID = "ess0";
15+
private static final String MODBUS_ID = "modbus0";
16+
17+
@Test
18+
public void test() throws Exception {
19+
var ess = new EssFeneconCommercial40Impl();
20+
new ManagedSymmetricEssTest(ess) //
21+
.addReference("cm", new DummyConfigurationAdmin()) //
22+
.addReference("setModbus", new DummyModbusBridge(MODBUS_ID)) //
23+
.activate(io.openems.edge.ess.fenecon.commercial40.MyConfig.create() //
24+
.setId(ESS_ID) //
25+
.setModbusId(MODBUS_ID) //
26+
.setSurplusFeedInSocLimit(90) //
27+
.setSurplusFeedInAllowedChargePowerLimit(-8000) //
28+
.setSurplusFeedInIncreasePowerFactor(1.1) //
29+
.setSurplusFeedInMaxIncreasePowerFactor(2000) //
30+
.setSurplusFeedInPvLimitOnPowerDecreaseCausedByOvertemperature(5000) //
31+
.setSurplusFeedInOffTime("17:00:00") //
32+
.build());
33+
34+
new ComponentTest(new EssFeneconCommercial40Pv2Impl()) //
35+
.addReference("cm", new DummyConfigurationAdmin()) //
36+
.addReference("ess", ess) //
37+
.addReference("setModbus", new DummyModbusBridge(MODBUS_ID)) //
38+
.activate(MyConfigPv2.create() //
39+
.setId(CHARGER_ID) //
40+
.setModbusId(MODBUS_ID) //
41+
.setEssId(ESS_ID) //
42+
.setMaxActualPower(0) //
43+
.build()) //
44+
;
45+
}
46+
}

io.openems.edge.ess.fenecon.commercial40/test/io/openems/edge/ess/fenecon/commercial40/charger/MyConfigPV1.java io.openems.edge.ess.fenecon.commercial40/test/io/openems/edge/ess/fenecon/commercial40/charger/MyConfigPv1.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import io.openems.common.utils.ConfigUtils;
55

66
@SuppressWarnings("all")
7-
public class MyConfigPV1 extends AbstractComponentConfig implements ConfigPv1 {
7+
public class MyConfigPv1 extends AbstractComponentConfig implements ConfigPv1 {
88

99
protected static class Builder {
1010
private String id;
@@ -35,8 +35,8 @@ public Builder setEssId(String essId) {
3535
return this;
3636
}
3737

38-
public MyConfigPV1 build() {
39-
return new MyConfigPV1(this);
38+
public MyConfigPv1 build() {
39+
return new MyConfigPv1(this);
4040
}
4141
}
4242

@@ -51,7 +51,7 @@ public static Builder create() {
5151

5252
private final Builder builder;
5353

54-
private MyConfigPV1(Builder builder) {
54+
private MyConfigPv1(Builder builder) {
5555
super(ConfigPv1.class, builder.id);
5656
this.builder = builder;
5757
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package io.openems.edge.ess.fenecon.commercial40.charger;
2+
3+
import io.openems.common.test.AbstractComponentConfig;
4+
import io.openems.common.utils.ConfigUtils;
5+
6+
@SuppressWarnings("all")
7+
public class MyConfigPv2 extends AbstractComponentConfig implements ConfigPv2 {
8+
9+
protected static class Builder {
10+
private String id;
11+
private String modbusId;
12+
private int maxActualPower;
13+
private String essId;
14+
15+
private Builder() {
16+
}
17+
18+
public Builder setId(String id) {
19+
this.id = id;
20+
return this;
21+
}
22+
23+
public Builder setModbusId(String modbusId) {
24+
this.modbusId = modbusId;
25+
return this;
26+
}
27+
28+
public Builder setMaxActualPower(int maxActualPower) {
29+
this.maxActualPower = maxActualPower;
30+
return this;
31+
}
32+
33+
public Builder setEssId(String essId) {
34+
this.essId = essId;
35+
return this;
36+
}
37+
38+
public MyConfigPv2 build() {
39+
return new MyConfigPv2(this);
40+
}
41+
}
42+
43+
/**
44+
* Create a Config builder.
45+
*
46+
* @return a {@link Builder}
47+
*/
48+
public static Builder create() {
49+
return new Builder();
50+
}
51+
52+
private final Builder builder;
53+
54+
private MyConfigPv2(Builder builder) {
55+
super(ConfigPv2.class, builder.id);
56+
this.builder = builder;
57+
}
58+
59+
@Override
60+
public String ess_id() {
61+
return this.builder.essId;
62+
}
63+
64+
@Override
65+
public String Modbus_target() {
66+
return ConfigUtils.generateReferenceTargetFilter(this.id(), this.builder.modbusId);
67+
}
68+
69+
@Override
70+
public String Ess_target() {
71+
return ConfigUtils.generateReferenceTargetFilter(this.id(), this.ess_id());
72+
}
73+
74+
}

0 commit comments

Comments
 (0)