-
Notifications
You must be signed in to change notification settings - Fork 634
Fronius Gen24 with Storage and Inverter Control #3755
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
base: develop
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum BatteryState implements OptionsEnum { | ||
| UNDEFINED(-1, "Undefiniert"), | ||
| OFF(1, "Aus"), | ||
| EMPTY(2, "Leer"), | ||
| DISCHARGING(3, "Entladen"), | ||
| CHARGING(4, "Laden"), | ||
| FULL(5, "Voll"), | ||
| STANDBY(6, "Standby / Holding"), | ||
| TESTING(7, "Testmodus"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| private BatteryState(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { return this.value; } | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please apply Coding guidelines for standard formatting etc. https://openems.github.io/openems.io/openems/latest/development/coding-guidelines.html |
||
|
|
||
| @Override | ||
| public String getName() { return this.name; } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { return UNDEFINED; } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum OperatingModeForActivePowerLimitation implements OptionsEnum { | ||
| UNDEFINED(-1, "Undefiniert"), | ||
| NO_CONTROL(0, "Keine Steuerung (Automatik)"), | ||
| SELF_CONSUMPTION(1, "Eigenverbrauch"), | ||
| MANUAL(4, "Manuelle Steuerung (OpenEMS)"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| private OperatingModeForActivePowerLimitation(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { return this.value; } | ||
|
|
||
| @Override | ||
| public String getName() { return this.name; } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { return UNDEFINED; } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum OperationHealth implements OptionsEnum { | ||
| UNDEFINED(-1, "Undefiniert"), | ||
| OFF(1, "Aus"), | ||
| SLEEPING(2, "Standby / Nacht"), | ||
| STARTING(3, "Startvorgang"), | ||
| OK(4, "Alles okay (Normalbetrieb)"), | ||
| THROTTLED(5, "Gedrosselt (Warnung)"), | ||
| SHUTTING_DOWN(6, "Herunterfahren"), | ||
| ERROR(7, "Fehler (Fault)"), | ||
| STANDBY(8, "Standby"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| private OperationHealth(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { | ||
| return this.value; | ||
| } | ||
|
|
||
| @Override | ||
| public String getName() { | ||
| return this.name; | ||
| } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { | ||
| return UNDEFINED; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum PowerSupplyStatus implements OptionsEnum { | ||
| UNDEFINED(-1, "Undefiniert"), | ||
| GRID_CONNECTED(0, "Netzbetrieb"), | ||
| EMERGENCY_POWER(1, "Notstrombetrieb / Backup"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| private PowerSupplyStatus(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { return this.value; } | ||
|
|
||
| @Override | ||
| public String getName() { return this.name; } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { return UNDEFINED; } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum PvString implements OptionsEnum { | ||
| ONE(1, "String 1"), // | ||
| TWO(2, "String 2"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| PvString(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { | ||
| return this.value; | ||
| } | ||
|
|
||
| @Override | ||
| public String getName() { | ||
| return this.name; | ||
| } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { | ||
| return ONE; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum SetControlMode implements OptionsEnum { | ||
| UNDEFINED(-1, "Undefined"), // | ||
| DISABLED(0, "Disabled"), // | ||
| CHARGE_LIMIT(1, "Charge limit"), // | ||
| DISCHARGE_LIMIT(2, "Discharge limit"), // | ||
| CHARGE_AND_DISCHARGE_LIMIT(3, "Charge and discharge limit"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| private SetControlMode(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { | ||
| return this.value; | ||
| } | ||
|
|
||
| @Override | ||
| public String getName() { | ||
| return this.name; | ||
| } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { | ||
| return UNDEFINED; | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| package io.openems.edge.fronius.enums; | ||
|
|
||
| import io.openems.common.types.OptionsEnum; | ||
|
|
||
| public enum SystemState implements OptionsEnum { | ||
| UNDEFINED(-1, "Undefiniert"), | ||
| OFF(1, "Aus"), | ||
| SLEEPING(2, "Standby/Nacht"), | ||
| STARTING(3, "Startvorgang"), | ||
| OK(4, "Normalbetrieb"), | ||
| THROTTLED(5, "Leistungsbegrenzung"), | ||
| SHUTTING_DOWN(6, "Herunterfahren"), | ||
| FAULT(7, "Fehler"), | ||
| STANDBY(8, "Standby"); | ||
|
|
||
| private final int value; | ||
| private final String name; | ||
|
|
||
| private SystemState(int value, String name) { | ||
| this.value = value; | ||
| this.name = name; | ||
| } | ||
|
|
||
| @Override | ||
| public int getValue() { return this.value; } | ||
|
|
||
| @Override | ||
| public String getName() { return this.name; } | ||
|
|
||
| @Override | ||
| public OptionsEnum getUndefined() { return UNDEFINED; } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| package io.openems.edge.fronius.gen24.battery; | ||
|
|
||
| import org.osgi.service.metatype.annotations.AttributeDefinition; | ||
| import org.osgi.service.metatype.annotations.ObjectClassDefinition; | ||
|
|
||
| @ObjectClassDefinition(// | ||
| name = "ESS Fronius Gen24 Battery with int+SF ", // | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Name and |
||
| description = "Collects Some more Sunspec unrelated data.") | ||
| @interface Config { | ||
|
|
||
| @AttributeDefinition(name = "Component-ID", description = "Unique ID of this Component") | ||
| String id() default "battery0"; | ||
|
|
||
| @AttributeDefinition(name = "Alias", description = "Human-readable name of this Component; defaults to Component-ID") | ||
| String alias() default ""; | ||
|
|
||
| @AttributeDefinition(name = "Is enabled?", description = "Is this Component enabled?") | ||
| boolean enabled() default true; | ||
|
|
||
| @AttributeDefinition(name = "Modbus-ID", description = "ID of Modbus bridge.") | ||
| String modbus_id() default "modbus0"; | ||
|
|
||
| @AttributeDefinition(name = "Modbus-Unit-ID", description = "Modbus Unit-ID.") | ||
| int modbusUnitId() default 3; | ||
|
|
||
| @AttributeDefinition(name = "Charge Max Voltage", description = "Maximum voltage for charging in V" | ||
| + "from Datasheet of Battery") | ||
| int chargeMaxVoltage() default 480; | ||
|
|
||
| @AttributeDefinition(name = "Discharge Min Voltage", description = "Minimum voltage for discharging in V" | ||
| + "from Datasheet of Battery") | ||
| int dischargeMinVoltage() default 320; | ||
|
|
||
| @AttributeDefinition(name = "Number of Batterymodules", description = "Number of Batterymodules") | ||
| int numberOfModules() default 4; | ||
|
|
||
| String webconsole_configurationFactory_nameHint() default "ESS Fronius Gen24 Battery [{id}]"; | ||
|
|
||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Names are generally in English language