Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modbus Bridge: optimize execution of Tasks #1976

Merged
merged 53 commits into from
Aug 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
2bfd7a4
Refactor Task Execution in Modbus Bridge
sfeilmeier Nov 10, 2022
2d5b62c
Fix Checkstyle
sfeilmeier Nov 10, 2022
3f59432
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Dec 18, 2022
d1c607c
Merge branch 'develop' into feature/modbus-task-execution
sfeilmeier Apr 4, 2023
5e95c40
Continue WIP
sfeilmeier Apr 4, 2023
32e5346
Add read delay to avoid read errors
sfeilmeier Apr 12, 2023
c5c8d53
Improve logging/tracability
sfeilmeier Apr 12, 2023
cc9a2c0
Merge branch 'develop' into feature/modbus-task-execution
sfeilmeier Apr 21, 2023
1a03d2f
WIP
sfeilmeier Apr 25, 2023
d2a318f
Merge branch 'develop' into feature/modbus-task-execution
sfeilmeier May 1, 2023
c566489
WIP: introduce CycleTasksManager with State-Machine
sfeilmeier May 14, 2023
90924dd
WIP introduce WaitDelayHandler
sfeilmeier May 17, 2023
b991bd8
WIP WaitDelayHandler: calculate next delay
sfeilmeier May 19, 2023
2d6f644
WIP start handling of defective components
sfeilmeier May 19, 2023
56c907a
WIP
sfeilmeier May 21, 2023
8f8c047
Cleanup & improve defective components handling
sfeilmeier May 23, 2023
cc9e216
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Jun 19, 2023
1d7842b
WIP
sfeilmeier Jun 19, 2023
4b7e2b0
Fix build
sfeilmeier Jun 19, 2023
bc31308
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Jun 22, 2023
9602a5e
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Jun 26, 2023
2acc04d
Cleanup
sfeilmeier Jun 26, 2023
f357400
Checkstyle
sfeilmeier Jun 26, 2023
fe52647
Improve State-Machine
sfeilmeier Jun 26, 2023
e90fabc
Update State-Machine
sfeilmeier Jun 27, 2023
3642969
Cleanup
sfeilmeier Jun 27, 2023
6a32c87
Cleanup
sfeilmeier Jun 27, 2023
7dc48f0
Improve typing
sfeilmeier Jun 27, 2023
e52e56f
Improve typing
sfeilmeier Jun 27, 2023
ed9d118
Add better tracing & unit test for merge registers
sfeilmeier Jun 27, 2023
aa5bdc5
WIP Modbus
sfeilmeier Jun 28, 2023
ff988bb
Automatically adjust size of possibleDelays queue
sfeilmeier Jun 29, 2023
a868dfd
Sort HIGH priority Read-Tasks to the end
sfeilmeier Jun 29, 2023
aafde56
CycleDelay-Channel, Debug-Log, LogVerbosity, @Modified,...
sfeilmeier Jun 29, 2023
4b51ad8
Cleanup, bugfixes, improve logging
sfeilmeier Jun 30, 2023
86db824
Improve logs
sfeilmeier Jun 30, 2023
fad5dc0
Fix build with OpenJDK
sfeilmeier Jun 30, 2023
b8a8b94
Fix Wago IO test
sfeilmeier Jun 30, 2023
c1b26bd
Checkstyle
sfeilmeier Jun 30, 2023
7f2ee10
Refine logging
sfeilmeier Jul 12, 2023
c0f420f
Code cleanup, improve logs, bugfix for FC16, handle @Modified
sfeilmeier Jul 12, 2023
0e35bb9
State-Channels can (should!) never be null
sfeilmeier Jul 12, 2023
5b4dfdc
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Jul 13, 2023
7e57d77
Revert StateChannel check for now
sfeilmeier Jul 13, 2023
cbdeb3a
Fix CI build
sfeilmeier Jul 13, 2023
95f812a
Merge branch 'feature/modbus-task-execution' of https://github.com/Op…
sfeilmeier Jul 13, 2023
f19c23c
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Jul 14, 2023
78074cd
Merge branch 'develop' into feature/modbus-task-execution
sfeilmeier Jul 16, 2023
5138f3b
Improve docs; cleanup
sfeilmeier Jul 16, 2023
f284f1a
Merge remote-tracking branch 'origin/develop' into feature/modbus-tas…
sfeilmeier Jul 25, 2023
6d86061
Update ModbusTest for this branch
sfeilmeier Jul 26, 2023
566bf86
Improve log message
sfeilmeier Jul 26, 2023
85aac78
Merge branch 'develop' into feature/modbus-task-execution
sfeilmeier Aug 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions io.openems.edge.battery.bmw/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.bridge.modbus,\
io.openems.edge.common

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
4 changes: 2 additions & 2 deletions io.openems.edge.battery.bydcommercial/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.bridge.modbus,\
io.openems.edge.common,\
io.openems.edge.ess.api

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
4 changes: 2 additions & 2 deletions io.openems.edge.battery.fenecon.commercial/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.bridge.modbus,\
Expand All @@ -13,5 +14,4 @@ Bundle-Version: 1.0.0.${tstamp}
io.openems.edge.io.api,\

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
4 changes: 2 additions & 2 deletions io.openems.edge.battery.fenecon.home/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.bridge.modbus,\
Expand All @@ -14,5 +15,4 @@ Bundle-Version: 1.0.0.${tstamp}
io.openems.edge.io.api,\

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import io.openems.common.types.OpenemsType;
import io.openems.edge.battery.api.Battery;
import io.openems.edge.battery.fenecon.home.statemachine.StateMachine.State;
import io.openems.edge.bridge.modbus.api.ModbusComponent;
import io.openems.edge.common.channel.Channel;
import io.openems.edge.common.channel.Doc;
import io.openems.edge.common.channel.IntegerDoc;
Expand All @@ -14,7 +15,7 @@
import io.openems.edge.common.startstop.StartStop;
import io.openems.edge.common.startstop.StartStoppable;

public interface BatteryFeneconHome extends Battery, OpenemsComponent, StartStoppable {
public interface BatteryFeneconHome extends Battery, ModbusComponent, OpenemsComponent, StartStoppable {

/**
* Gets the Channel for {@link ChannelId#BMS_CONTROL}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@
import io.openems.edge.bridge.modbus.api.ElementToChannelConverter;
import io.openems.edge.bridge.modbus.api.ModbusComponent;
import io.openems.edge.bridge.modbus.api.ModbusProtocol;
import io.openems.edge.bridge.modbus.api.element.AbstractModbusElement;
import io.openems.edge.bridge.modbus.api.element.BitsWordElement;
import io.openems.edge.bridge.modbus.api.element.DummyRegisterElement;
import io.openems.edge.bridge.modbus.api.element.ModbusElement;
import io.openems.edge.bridge.modbus.api.element.SignedWordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedDoublewordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedWordElement;
Expand Down Expand Up @@ -738,8 +738,8 @@ private synchronized void initializeTowerModulesChannels(int numberOfTowers, int
* for Cell-Voltages.Channel-IDs are like "TOWER_0_OFFSET_2_TEMPERATURE_003".
* Channel-IDs are like "TOWER_0_OFFSET_2_VOLTAGE_003".
*/
var ameVolt = new AbstractModbusElement<?>[SENSORS_PER_MODULE];
var ameTemp = new AbstractModbusElement<?>[SENSORS_PER_MODULE];
var ameVolt = new ModbusElement<?>[SENSORS_PER_MODULE];
var ameTemp = new ModbusElement<?>[SENSORS_PER_MODULE];
for (var j = 0; j < SENSORS_PER_MODULE; j++) {
{
// Create Voltage Channel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,8 @@ protected boolean isBatteryStarted() {
}
return !isNotStarted.get();
}

protected void retryModbusCommunication() {
this.getParent().retryModbusCommunication();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ public State runAndGetNextState(Context context) throws OpenemsNamedException {
}

case FINISHED:
// Finished. Battery should have started up.
context.retryModbusCommunication();
return State.RUNNING;
}

Expand Down
4 changes: 2 additions & 2 deletions io.openems.edge.battery.soltaro/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.bridge.modbus,\
Expand All @@ -13,5 +14,4 @@ Bundle-Version: 1.0.0.${tstamp}
io.openems.edge.ess.api

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
Original file line number Diff line number Diff line change
Expand Up @@ -682,17 +682,17 @@ private int getAddressContactorControl(int addressOffsetRack) {
return addressOffsetRack + OFFSET_CONTACTOR_CONTROL;
}

protected final AbstractModbusElement<?> map(io.openems.edge.common.channel.ChannelId channelId,
AbstractModbusElement<?> element) {
protected final <T extends AbstractModbusElement<?, ?>> T map(io.openems.edge.common.channel.ChannelId channelId,
T element) {
return this.m(channelId, element);
}

protected final AbstractModbusElement<?> map(io.openems.edge.common.channel.ChannelId channelId,
AbstractModbusElement<?> element, ElementToChannelConverter converter) {
protected final <T extends AbstractModbusElement<?, ?>> T map(io.openems.edge.common.channel.ChannelId channelId,
T element, ElementToChannelConverter converter) {
return this.m(channelId, element, converter);
}

protected final AbstractModbusElement<?> map(BitsWordElement bitsWordElement) {
protected final BitsWordElement map(BitsWordElement bitsWordElement) {
return super.m(bitsWordElement);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;

Expand All @@ -16,8 +15,8 @@
import io.openems.common.types.OpenemsType;
import io.openems.edge.battery.soltaro.common.enums.ChargeIndication;
import io.openems.edge.bridge.modbus.api.AbstractOpenemsModbusComponent;
import io.openems.edge.bridge.modbus.api.element.AbstractModbusElement;
import io.openems.edge.bridge.modbus.api.element.BitsWordElement;
import io.openems.edge.bridge.modbus.api.element.ModbusElement;
import io.openems.edge.bridge.modbus.api.element.SignedWordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedWordElement;
import io.openems.edge.bridge.modbus.api.task.FC3ReadRegistersTask;
Expand Down Expand Up @@ -253,44 +252,46 @@ protected Collection<Task> getTasks() {

// Cell voltages
for (var i = 0; i < this.numberOfSlaves; i++) {
List<AbstractModbusElement<?>> elements = new ArrayList<>();
var elements = new ArrayList<ModbusElement<?>>();
for (var j = i * VOLTAGE_SENSORS_PER_MODULE; j < (i + 1) * VOLTAGE_SENSORS_PER_MODULE; j++) {
var key = this.getSingleCellPrefix(j) + "_" + VOLTAGE;
var uwe = this.getUnsignedWordElement(VOLTAGE_ADDRESS_OFFSET + j);
AbstractModbusElement<?> ame = this.parent.map(this.channelIds.get(key), uwe);
var ame = this.parent.map(this.channelIds.get(key), uwe);
elements.add(ame);
}

// not more than 100 elements per task, because it can cause problems..
var taskCount = elements.size() / maxElementsPerTask + 1;

for (var x = 0; x < taskCount; x++) {
var subElements = elements.subList(x * maxElementsPerTask,
Math.min((x + 1) * maxElementsPerTask, elements.size()));
var taskElements = subElements.toArray(new AbstractModbusElement<?>[0]);
var taskElements = elements
.subList(x * maxElementsPerTask, Math.min((x + 1) * maxElementsPerTask, elements.size())) //
.stream() //
.toArray(ModbusElement[]::new);
tasks.add(new FC3ReadRegistersTask(taskElements[0].getStartAddress(), Priority.LOW, taskElements));
}

}

// Cell temperatures
for (var i = 0; i < this.numberOfSlaves; i++) {
List<AbstractModbusElement<?>> elements = new ArrayList<>();
var elements = new ArrayList<ModbusElement<?>>();
for (var j = i * TEMPERATURE_SENSORS_PER_MODULE; j < (i + 1) * TEMPERATURE_SENSORS_PER_MODULE; j++) {
var key = this.getSingleCellPrefix(j) + "_" + TEMPERATURE;

var swe = this.getSignedWordElement(TEMPERATURE_ADDRESS_OFFSET + j);
AbstractModbusElement<?> ame = this.parent.map(this.channelIds.get(key), swe);
var ame = this.parent.map(this.channelIds.get(key), swe);
elements.add(ame);
}

// not more than 100 elements per task, because it can cause problems..
var taskCount = elements.size() / maxElementsPerTask + 1;

for (var x = 0; x < taskCount; x++) {
var subElements = elements.subList(x * maxElementsPerTask,
Math.min((x + 1) * maxElementsPerTask, elements.size()));
var taskElements = subElements.toArray(new AbstractModbusElement<?>[0]);
var taskElements = elements
.subList(x * maxElementsPerTask, Math.min((x + 1) * maxElementsPerTask, elements.size())) //
.stream() //
.toArray(ModbusElement[]::new);
tasks.add(new FC3ReadRegistersTask(taskElements[0].getStartAddress(), Priority.LOW, taskElements));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@
import io.openems.edge.bridge.modbus.api.ModbusComponent;
import io.openems.edge.bridge.modbus.api.ModbusProtocol;
import io.openems.edge.bridge.modbus.api.ModbusUtils;
import io.openems.edge.bridge.modbus.api.element.AbstractModbusElement;
import io.openems.edge.bridge.modbus.api.element.BitsWordElement;
import io.openems.edge.bridge.modbus.api.element.DummyRegisterElement;
import io.openems.edge.bridge.modbus.api.element.ModbusElement;
import io.openems.edge.bridge.modbus.api.element.SignedWordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedWordElement;
import io.openems.edge.bridge.modbus.api.task.FC16WriteRegistersTask;
Expand Down Expand Up @@ -386,7 +386,7 @@ private void updateRackChannels(Integer numberOfModules, TreeSet<Rack> racks) th
} //
Consumer<CellChannelFactory.Type> addCellChannels = type -> {
for (var i = 0; i < numberOfModules; i++) {
var elements = new AbstractModbusElement<?>[type.getSensorsPerModule()];
var elements = new ModbusElement<?>[type.getSensorsPerModule()];
for (var j = 0; j < type.getSensorsPerModule(); j++) {
var sensorIndex = i * type.getSensorsPerModule() + j;
var channelId = CellChannelFactory.create(r, type, sensorIndex);
Expand All @@ -411,7 +411,7 @@ private void updateRackChannels(Integer numberOfModules, TreeSet<Rack> racks) th

// WARN_LEVEL_Pre Alarm (Pre Alarm configuration registers RW)
{
AbstractModbusElement<?>[] elements = {
ModbusElement<?>[] elements = {
m(this.createChannelId(r, RackChannel.PRE_ALARM_CELL_OVER_VOLTAGE_ALARM),
new UnsignedWordElement(r.offset + 0x080)), //
m(this.createChannelId(r, RackChannel.PRE_ALARM_CELL_OVER_VOLTAGE_RECOVER),
Expand Down Expand Up @@ -486,7 +486,7 @@ private void updateRackChannels(Integer numberOfModules, TreeSet<Rack> racks) th

// WARN_LEVEL1 (Level1 warning registers RW)
{
AbstractModbusElement<?>[] elements = {
ModbusElement<?>[] elements = {
m(this.createChannelId(r, RackChannel.LEVEL1_CELL_OVER_VOLTAGE_PROTECTION),
new UnsignedWordElement(r.offset + 0x040)), //
m(this.createChannelId(r, RackChannel.LEVEL1_CELL_OVER_VOLTAGE_RECOVER),
Expand Down Expand Up @@ -561,7 +561,7 @@ private void updateRackChannels(Integer numberOfModules, TreeSet<Rack> racks) th

// WARN_LEVEL2 (Level2 Protection registers RW)
{
AbstractModbusElement<?>[] elements = {
ModbusElement<?>[] elements = {
m(this.createChannelId(r, RackChannel.LEVEL2_CELL_OVER_VOLTAGE_PROTECTION),
new UnsignedWordElement(r.offset + 0x400)), //
m(this.createChannelId(r, RackChannel.LEVEL2_CELL_OVER_VOLTAGE_RECOVER),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@
import io.openems.edge.bridge.modbus.api.ModbusComponent;
import io.openems.edge.bridge.modbus.api.ModbusProtocol;
import io.openems.edge.bridge.modbus.api.ModbusUtils;
import io.openems.edge.bridge.modbus.api.element.AbstractModbusElement;
import io.openems.edge.bridge.modbus.api.element.BitsWordElement;
import io.openems.edge.bridge.modbus.api.element.DummyRegisterElement;
import io.openems.edge.bridge.modbus.api.element.ModbusElement;
import io.openems.edge.bridge.modbus.api.element.SignedWordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedWordElement;
import io.openems.edge.bridge.modbus.api.task.FC16WriteRegistersTask;
Expand Down Expand Up @@ -966,8 +966,8 @@ private void calculateCapacity(Integer numberOfModules) {
private void createDynamicChannels(int numberOfModules) {
try {
for (var i = 0; i < numberOfModules; i++) {
var ameVolt = new AbstractModbusElement<?>[SENSORS_PER_MODULE];
var ameTemp = new AbstractModbusElement<?>[SENSORS_PER_MODULE];
var ameVolt = new ModbusElement<?>[SENSORS_PER_MODULE];
var ameTemp = new ModbusElement<?>[SENSORS_PER_MODULE];
for (var j = 0; j < SENSORS_PER_MODULE; j++) {
var sensor = i * SENSORS_PER_MODULE + j;
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@
import io.openems.edge.bridge.modbus.api.ModbusComponent;
import io.openems.edge.bridge.modbus.api.ModbusProtocol;
import io.openems.edge.bridge.modbus.api.ModbusUtils;
import io.openems.edge.bridge.modbus.api.element.AbstractModbusElement;
import io.openems.edge.bridge.modbus.api.element.BitsWordElement;
import io.openems.edge.bridge.modbus.api.element.DummyRegisterElement;
import io.openems.edge.bridge.modbus.api.element.ModbusElement;
import io.openems.edge.bridge.modbus.api.element.SignedWordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedDoublewordElement;
import io.openems.edge.bridge.modbus.api.element.UnsignedWordElement;
Expand Down Expand Up @@ -492,7 +492,7 @@ protected ModbusProtocol defineModbusProtocol() throws OpenemsException {
.bit(12, BatterySoltaroSingleRackVersionC.ChannelId.SLAVE_BMS_INIT)//
))); //
{
AbstractModbusElement<?>[] elements = {
ModbusElement<?>[] elements = {
m(BatterySoltaroSingleRackVersionC.ChannelId.PRE_ALARM_CELL_OVER_VOLTAGE_ALARM,
new UnsignedWordElement(0x2080)), //
m(BatterySoltaroSingleRackVersionC.ChannelId.PRE_ALARM_CELL_OVER_VOLTAGE_RECOVER,
Expand Down Expand Up @@ -565,7 +565,7 @@ protected ModbusProtocol defineModbusProtocol() throws OpenemsException {

// WARN_LEVEL1 (Level1 warning registers RW)
{
AbstractModbusElement<?>[] elements = {
ModbusElement<?>[] elements = {
m(BatterySoltaroSingleRackVersionC.ChannelId.LEVEL1_CELL_OVER_VOLTAGE_PROTECTION,
new UnsignedWordElement(0x2040)), //
m(BatterySoltaroSingleRackVersionC.ChannelId.LEVEL1_CELL_OVER_VOLTAGE_RECOVER,
Expand Down Expand Up @@ -638,7 +638,7 @@ protected ModbusProtocol defineModbusProtocol() throws OpenemsException {

// WARN_LEVEL2 (Level2 Protection registers RW)
{
AbstractModbusElement<?>[] elements = {
ModbusElement<?>[] elements = {
m(BatterySoltaroSingleRackVersionC.ChannelId.LEVEL2_CELL_OVER_VOLTAGE_PROTECTION,
new UnsignedWordElement(0x2400)), //
m(BatterySoltaroSingleRackVersionC.ChannelId.LEVEL2_CELL_OVER_VOLTAGE_RECOVER,
Expand Down Expand Up @@ -725,7 +725,7 @@ void createCellVoltageAndTemperatureChannels(int numberOfModules) {
*/
Consumer<CellChannelFactory.Type> addCellChannels = type -> {
for (var i = 0; i < numberOfModules; i++) {
var elements = new AbstractModbusElement<?>[type.getSensorsPerModule()];
var elements = new ModbusElement<?>[type.getSensorsPerModule()];
for (var j = 0; j < type.getSensorsPerModule(); j++) {
var sensorIndex = i * type.getSensorsPerModule() + j;
var channelId = CellChannelFactory.create(type, sensorIndex);
Expand Down
4 changes: 2 additions & 2 deletions io.openems.edge.batteryinverter.refu88k/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.batteryinverter.api,\
Expand All @@ -14,5 +15,4 @@ Bundle-Version: 1.0.0.${tstamp}
io.openems.edge.timedata.api,\

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
4 changes: 2 additions & 2 deletions io.openems.edge.batteryinverter.sinexcel/bnd.bnd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Bundle-Version: 1.0.0.${tstamp}

-buildpath: \
${buildpath},\
com.ghgande.j2mod,\
io.openems.common,\
io.openems.edge.battery.api,\
io.openems.edge.batteryinverter.api,\
Expand All @@ -14,5 +15,4 @@ Bundle-Version: 1.0.0.${tstamp}
io.openems.edge.timedata.api,\

-testpath: \
${testpath},\
com.ghgande.j2mod
${testpath}
Loading