Skip to content

Commit

Permalink
Merge branch 'release/2019.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
sfeilmeier committed May 13, 2019
2 parents fca67a6 + b1d9402 commit 29a4199
Show file tree
Hide file tree
Showing 710 changed files with 31,876 additions and 11,463 deletions.
10 changes: 10 additions & 0 deletions cnf/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.3</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.xmlrpc-client</artifactId>
Expand All @@ -94,6 +99,11 @@
<artifactId>org.apache.servicemix.bundles.ws-commons-util</artifactId>
<version>1.0.2_2</version>
</dependency>
<dependency>
<groupId>org.dhatim</groupId>
<artifactId>fastexcel</artifactId>
<version>0.10.2</version>
</dependency>
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
Expand Down
6 changes: 6 additions & 0 deletions doc/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
** xref:edge/scheduler.adoc[Scheduler]
** xref:edge/controller.adoc[Controller]
** xref:edge/implement.adoc[Implementing a Device]
** Apps
*** xref:edge/apps/controllers.adoc[Implemented Controllers]
*** xref:edge/apps/devices.adoc[Implemented Devices]
*** xref:edge/apps/schedulers.adoc[Implemented Schedulers]
*** xref:edge/apps/timedata.adoc[Timedata services]
*** xref:edge/apps/utils.adoc[Helpful utilities]
** xref:edge/build.adoc[Build OpenEMS Edge]
** xref:edge/deploy.adoc[Deploy OpenEMS Edge]
* OpenEMS UI
Expand Down
6 changes: 4 additions & 2 deletions doc/modules/ROOT/pages/backend/backend-to-backend.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
:source-highlighter: highlight.js
:icons: font

OpenEMS Backend provides a "Backend-to-Backend-Api", that provides a way to communicate with one or more OpenEMS Edge devices via backend connection. It is designed as a JSON-RPC communication protocol via Websocket connection.
OpenEMS Backend provides two "Backend-to-Backend-Api" implementations, that provide a way to communicate with one or more OpenEMS Edge devices via backend connection. They are designed using the JSON-RPC communication protocol via REST/JSON (_io.openems.backend.b2brest_) or via Websocket (_io.openems.backend.b2bwebsocket_) connection.

== Authentication

BasicAuth on opening of the Websocket connection.
BasicAuth on opening of the connection.

== Error Handling

Expand All @@ -34,6 +34,8 @@ Example:
}
----

NOTE: Properties `id` and `jsonrpc` can be omitted for JSON/REST, as they are not required for HTTP POST calls.

== Requests

=== GetEdgesStatus
Expand Down
186 changes: 186 additions & 0 deletions doc/modules/ROOT/pages/edge/apps/controllers.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
= Implemented Controllers
:sectnums:
:sectnumlevels: 4
:toc:
:toclevels: 4
:experimental:
:keywords: AsciiDoc
:source-highlighter: highlight.js
:icons: font
:imagesdir: ../../../assets/images

The following control algorithms are available for OpenEMS Edge.

== Api Backend

Connects to OpenEMS Backend and sends all Channel data regularly. It is implemented as a Controller, as Channels can be written from OpenEMS Backend.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.api.backend[Source Code icon:github[]]

== Api Modbus

Provides a Modbus-Slave implementation for OpenEMS Edge. It provides access to Channels from an external device via Modbus/TCP.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.api.modbus[Source Code icon:github[]]

== Api REST

Provides a JSON/REST implementation for OpenEMS Edge. It provides access to Channels and JSON-RPC Requests from an external device via JSON/REST.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.api.rest[Source Code icon:github[]]

== Api Websocket

Provides a JSON/REST implementation via HTTP Websocket for OpenEMS Edge. It provides access to Channels and JSON-RPC Requests from an external device via Websocket. This Controller is used for local connection of OpenEMS UI.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.api.websocket[Source Code icon:github[]]

== Asymmetric Balancing Cos-Phi

Controls an asymmetric energy storage system in self-consumption optimization mode while keeping the grid meter on a defined cos-phi.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.asymmetric.balancingcosphi[Source Code icon:github[]]

== Asymmetric Fix Active Power

Sets a fixed active power for charging/discharging of an asymmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.asymmetric.fixactivepower[Source Code icon:github[]]

== Asymmetric Fix Reactive Power

Sets a fixed reactive power for an asymmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.asymmetric.fixreactivepower[Source Code icon:github[]]

== Asymmetric Phase Rectification

Balances the three phases at the grid using an asymmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.asymmetric.phaserectification[Source Code icon:github[]]

== Channel-Threshold

Generic Controller that sets a digital output according to the value of given Channel - e.g. turn a Relay on, when battery state of charge is above a given threshold.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.channelthreshold[Source Code icon:github[]]

== CHP control via State-of-Charge (SoC)

Controls a CHP device. Signals the CHP to turn on when battery SoC is low; signal it to turn off when SoC is high.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.chp.soc[Source Code icon:github[]]

== Detailed Debug Log

Constantly shows the values of all Channels of a Component on the console. Primarily used for developing and debugging.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.debug.detailedlog[Source Code icon:github[]]

== Debug Log

Constantly shows the most important values of all Components on the console. This is often activated by default to be able to track the running system easily.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.debug.log[Source Code icon:github[]]

== ESS Limit Total Discharge

Limits the discharge power of an energy storage system according to its State-of-Charge, e.g. to keep energy for emergency power or to avoid deep discharge.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.ess.limittotaldischarge[Source Code icon:github[]]

== ESS One Full Cycle

Executes a full charge/discharge cycle with an energy storage system. This can be used to let the Battery Management System (BMS) reset its reference points for State-of-Charge calculattion.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.ess.onefullcycle[Source Code icon:github[]]

== EVCS Fix Active Power

Sets a fixed maximum charge power to an Electric Vehicle Charging Station (EVCS).

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.evcs.fixactivepower[Source Code icon:github[]]

== EVCS

Controls an Electric Vehicle Charging Station (EVCS) in different modes, like "Force-Charge" and "Surplus Energy Charging".

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.evcs[Source Code icon:github[]]

== High-Load Timeslot

Controls an energy storage system for a High-Load timeslot application (German "Hochlastzeitfenster").

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.highloadtimeslot[Source Code icon:github[]]

== IO Alarm

Switches a digital output, when one or more State-Channels are set. Can be used to signal alarms.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.io.alarm[Source Code icon:github[]]

== IO Fix Digital Output

Sets a digital output statically ON or OFF.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.io.fixdigitaloutput[Source Code icon:github[]]

== PV-Inverter Fix Power Limit

Sets a fixed power limit for PV-Inverter production.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.pvinverter.fixpowerlimit[Source Code icon:github[]]

== Symmetric Balancing

Controls a symmetric energy storage system in self-consumption optimization mode.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.balancing[Source Code icon:github[]]

== Symmetric Balancing Schedule

Controls a symmetric energy storage system in self-consumption optimization mode. Allows the definition of a Schedule to set the target power on the grid meter. This Controller can be controlled using the OpenEMS Backend-to-Backend interface.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.balancingschedule[Source Code icon:github[]]

== Symmetric Fix Active Power

Sets a fixed active power for charging/discharging of a symmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.fixactivepower[Source Code icon:github[]]

== Symmetric Fix Reactive Power

Sets a fixed reactive power for a symmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.fixreactivepower[Source Code icon:github[]]

== Symmetric Limit Active Power

Limits the allowed active power for charging and discharging of a symmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.limitactivepower[Source Code icon:github[]]

== Symmetric Linear Power Band

Executes a test cycle for a symmetric energy storage system by increasing and decreasing the charging/discharging power in given limits.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.linearpowerband[Source Code icon:github[]]

== Symmetric Peak-Shaving

Applies peak-shaving at the grid using a symmetric energy storage system.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.peakshaving[Source Code icon:github[]]

== Symmetric Random-Power

Applies random charging/discharging of a symmetric energy storage system for performance tests.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.randompower[Source Code icon:github[]]

== Symmetric Reactive-Power Voltage-Characterictics

Controls a symmetric energy storage system using a Q-by-U reference function.

https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.symmetric.reactivepowervoltagecharacteristic[Source Code icon:github[]]
Loading

0 comments on commit 29a4199

Please sign in to comment.