Skip to content

Commit 60e196e

Browse files
jbosse3Jakob Bossesfeilmeier
authored
Docs: improve Getting Started (#3015)
Co-authored-by: Jakob Bosse <[email protected]> Co-authored-by: Stefan Feilmeier <[email protected]>
1 parent e1a62d0 commit 60e196e

File tree

1 file changed

+36
-16
lines changed

1 file changed

+36
-16
lines changed

doc/modules/ROOT/pages/gettingstarted.adoc

+36-16
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,28 @@
88
:source-highlighter: highlight.js
99
:icons: font
1010

11-
This quick 'Getting Started' guide should help you setup a complete development environment. Once finished you will have a working instance of OpenEMS Edge, with simulated energy storage and photovoltaic system, as well as an OpenEMS UI for monitoring the simulator inside your web browser. Finally OpenEMS Backend is added to simulate a cloud backend that connects UI and Edge.
11+
There are three ways to get started with OpenEMS.
12+
You can either setup your development environment and compile OpenEMS Edge from source, you can use pre-built https://github.com/OpenEMS/openems/releases[Release] packages, or you can use the https://github.com/OpenEMS/openems/tree/main/tools/docker/[Docker] images.
13+
How to use the Docker images is described in the README linked above.
14+
For the other two ways, keep reading.
15+
Either way, once finished you will have a working instance of OpenEMS Edge, with simulated energy storage and photovoltaic system, as well as an OpenEMS UI for monitoring the simulator inside your web browser.
16+
Finally OpenEMS Backend is added to simulate a cloud backend that connects UI and Edge.
17+
If you chose to setup the development environment, skip the first section and go to <<download-the-source-code>>.
1218

13-
== Download the source code
19+
== Running the pre-built OpenEMS Edge
20+
21+
. Go to the https://github.com/OpenEMS/openems/releases/[OpenEMS' release Page] on GitHub and download the latest `openems-edge.jar`.
22+
. Open up your Terminal and go to the directory you downloaded the packages to.
23+
. Start OpenEMS Edge with the following command `java -jar openems-edge.jar`
24+
25+
NOTE: Make sure the right java Version (21.0) is installed and active on your system.
26+
On most systems `java -version` in your CLI will show the active version.
27+
On how to change the active version, refer to your system documentation.
28+
29+
. If you see the following warning in your terminal: *There are no schedulers configured!* OpenEMS Edge runs perfectly. :-)
30+
. Now you can continue with <<starting-a-simulation>>
31+
32+
== Download the source code [[download-the-source-code]]
1433

1534
. Download any https://git-scm.com[git client icon:external-link[]] and install it. Our recommendation is https://www.sourcetreeapp.com/[Sourcetree by Atlassian icon:external-link[]]
1635

@@ -74,7 +93,7 @@ Menu: btn:[File] → btn:[Import...] → btn:[Bndtools] → btn:[Existing Bnd W
7493

7594
// TODO add Setup of Checkstyle
7695

77-
== Run OpenEMS Edge and start Simulator
96+
== Run OpenEMS Edge from Eclipse IDE
7897

7998
. Run OpenEMS Edge
8099
.. In Eclipse IDE open the project btn:[io.openems.edge.application] and double click on btn:[EdgeApp.bndrun].
@@ -95,26 +114,27 @@ The `EdgeApp.bndrun` file declares all the bundles and runtime properties. For n
95114
.OpenEMS Edge initial log output
96115
image::eclipse-edge-initial-log-output.png[OpenEMS Edge initial log output]
97116

98-
. Configure and start the Simulator
99-
.. Open the http://localhost:8080/system/console/configMgr[Apache Felix Web Console Configuration icon:external-link[]]
117+
== Starting a simulation [[starting-a-simulation]]
118+
119+
. Open the http://localhost:8080/system/console/configMgr[Apache Felix Web Console Configuration icon:external-link[]]
100120
+
101121
Login with username *admin* and password *admin*.
102122
+
103123
.Apache Felix Web Console Configuration
104124
image::apache-felix-console-configuration.png[Apache Felix Web Console Configuration]
105125

106-
.. Configure a Scheduler
126+
. Configure a Scheduler
107127
+
108128
NOTE: The Scheduler is responsible for executing the control algorithms (Controllers) in order and defines the OpenEMS Edge application cycle
109129

110-
... Click on _**Scheduler All Alphabetically**_
130+
.. Click on _**Scheduler All Alphabetically**_
111131
+
112132
.Configuration of All Alphabetically Scheduler
113133
image::config-scheduler-all-alphabetically.png[Configuration of All Alphabetically Scheduler]
114134

115-
... Accept the default values and click btn:[Save]
135+
.. Accept the default values and click btn:[Save]
116136

117-
... You created your first instance of an OpenEMS Component with ID "scheduler0". The log shows:
137+
.. You created your first instance of an OpenEMS Component with ID "scheduler0". The log shows:
118138
+
119139
```
120140
INFO [onent.AbstractOpenemsComponent] [scheduler0] Activate Scheduler.AllAlphabetically
@@ -124,7 +144,7 @@ Add any other OpenEMS Components in the same way.
124144
+
125145
NOTE: Once everything is setup you can configure Components more easily via OpenEMS UI using the "Install components" feature in the Settings.
126146

127-
.. Configure debug outputs on the console: _**Controller Debug Log**_. The default values can be accepted without changes.
147+
. Configure debug outputs on the console: _**Controller Debug Log**_. The default values can be accepted without changes.
128148
+
129149
.Configuration of Controller Debug Log
130150
image::config-controller-debug-log.png[Configuration of Controller Debug Log]
@@ -143,7 +163,7 @@ INFO [ntroller.debuglog.DebugLogImpl] [ctrlDebugLog0] _sum[State:Ok]
143163
+
144164
NOTE: It is 'once per second', because the Cycle-Time is defined as "1000 ms" by default. Adjust the setting in the _**Core Cycle (Core.Cycle)**_ component to change this.
145165

146-
.. Configure a simulated standard-load-profile datasource using _**Simulator DataSource: CSV Predefined**_. Select `H0_HOUSEHOLD_SUMMER_WEEKDAY_STANDARD_LOAD_PROFILE` as the `Source`.
166+
. Configure a simulated standard-load-profile datasource using _**Simulator DataSource: CSV Predefined**_. Select `H0_HOUSEHOLD_SUMMER_WEEKDAY_STANDARD_LOAD_PROFILE` as the `Source`.
147167
+
148168
.Configuration of Simulator DataSource: CSV Predefined as standard load profile datasource
149169
image::config-simulator-datasource-standard-load-profile.png[Configuration of Simulator DataSource: CSV Predefined as standard load profile datasource]
@@ -156,7 +176,7 @@ INFO [onent.AbstractOpenemsComponent] [datasource0] Activate Simulator.Datasour
156176
+
157177
NOTE: The data source was configured with the OpenEMS Component ID `datasource0` which will be used in the next step as the `Datasource-ID` reference.
158178

159-
.. Configure a simulated grid meter: _**Simulator GridMeter Acting**_. Configure the `Datasource-ID 'datasource0'` to refer to the data source configured above.
179+
. Configure a simulated grid meter: _**Simulator GridMeter Acting**_. Configure the `Datasource-ID 'datasource0'` to refer to the data source configured above.
160180
+
161181
.Configuration of Simulator GridMeter Acting
162182
image::config-simulator-grid-meter-acting.png[Configuration of Simulator GridMeter Acting]
@@ -174,7 +194,7 @@ NOTE: This setup causes the simulated grid-meter to take the standardized load-p
174194
+
175195
NOTE: 'Acting' in the name 'Simulator GridMeter Acting' refers to the fact, that this meter actively provides data - in opposite to a 'Reacting' simulated device that is reacting on other components: for example the 'Simulator.EssSymmetric.Reacting' configured below.
176196

177-
.. Configure a simulated reacting energy storage system: _**Simulator EssSymmetric Reacting**_. The default values can be accepted without changes.
197+
. Configure a simulated reacting energy storage system: _**Simulator EssSymmetric Reacting**_. The default values can be accepted without changes.
178198
+
179199
.Configuration of Simulator EssSymmetric Reacting
180200
image::config-simulator-esssymmetric-reacting.png[Configuration of Simulator EssSymmetric Reacting]
@@ -189,7 +209,7 @@ INFO [ntroller.debuglog.DebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:50
189209
+
190210
NOTE: The debug log now shows data for the battery, but the charge/discharge power stays at "0 W" and the state of charge stays at "50 %" as configured. Next step is to configure a control algorithm that tells the battery to charge or discharge depending on the power measured by the simulated grid meter.
191211

192-
.. Configure the self-consumption optimization algorithm: _**Controller Ess Balancing**_. Configure the `Ess-ID` `'ess0'` and `Grid-Meter-ID` `'meter0'` to refer to the components configured above.
212+
. Configure the self-consumption optimization algorithm: _**Controller Ess Balancing**_. Configure the `Ess-ID` `'ess0'` and `Grid-Meter-ID` `'meter0'` to refer to the components configured above.
193213
+
194214
.Configuration of Controller Ess Balancing
195215
image::config-controller-ess-balancing.png[Configuration of Controller Ess Balancing]
@@ -204,7 +224,7 @@ INFO [ntroller.debuglog.DebugLogImpl] [ctrlDebugLog0] _sum[State:Ok Ess SoC:50
204224
+
205225
NOTE: Values will differ slightly for you, but note how the Controller now tells the battery to discharge (`Ess SoC:49 %|L:593 W`), trying to balance the Grid power to "0 W" (`Grid L:15 W`):
206226

207-
.. Configure the websocket Api Controller: _**Controller Api Websocket**_. The default values can be accepted without changes.
227+
. Configure the websocket Api Controller: _**Controller Api Websocket**_. The default values can be accepted without changes.
208228
+
209229
.Configuration of Controller Api Websocket
210230
image::config-controller-api-websocket.png[Configuration of Controller Api Websocket]
@@ -385,4 +405,4 @@ The meter itself is simulated using a small Modbus slave application, so no exte
385405

386406
## Help
387407

388-
If you experienced any problems or doubts, please get in touch with us on the https://community.openems.io/[OpenEMS Community] forum.
408+
If you experienced any problems or doubts, please get in touch with us on the https://community.openems.io/[OpenEMS Community] forum.

0 commit comments

Comments
 (0)