You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: doc/modules/ROOT/pages/gettingstarted.adoc
+36-16
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,28 @@
8
8
:source-highlighter: highlight.js
9
9
:icons: font
10
10
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>>.
12
18
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]]
14
33
15
34
. 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[]]
.. 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[]]
100
120
+
101
121
Login with username *admin* and password *admin*.
102
122
+
103
123
.Apache Felix Web Console Configuration
104
124
image::apache-felix-console-configuration.png[Apache Felix Web Console Configuration]
105
125
106
-
.. Configure a Scheduler
126
+
. Configure a Scheduler
107
127
+
108
128
NOTE: The Scheduler is responsible for executing the control algorithms (Controllers) in order and defines the OpenEMS Edge application cycle
109
129
110
-
... Click on _**Scheduler All Alphabetically**_
130
+
.. Click on _**Scheduler All Alphabetically**_
111
131
+
112
132
.Configuration of All Alphabetically Scheduler
113
133
image::config-scheduler-all-alphabetically.png[Configuration of All Alphabetically Scheduler]
114
134
115
-
... Accept the default values and click btn:[Save]
135
+
.. Accept the default values and click btn:[Save]
116
136
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:
118
138
+
119
139
```
120
140
INFO [onent.AbstractOpenemsComponent] [scheduler0] Activate Scheduler.AllAlphabetically
@@ -124,7 +144,7 @@ Add any other OpenEMS Components in the same way.
124
144
+
125
145
NOTE: Once everything is setup you can configure Components more easily via OpenEMS UI using the "Install components" feature in the Settings.
126
146
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.
128
148
+
129
149
.Configuration of Controller Debug Log
130
150
image::config-controller-debug-log.png[Configuration of Controller Debug Log]
@@ -143,7 +163,7 @@ INFO [ntroller.debuglog.DebugLogImpl] [ctrlDebugLog0] _sum[State:Ok]
143
163
+
144
164
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.
145
165
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`.
147
167
+
148
168
.Configuration of Simulator DataSource: CSV Predefined as standard load profile datasource
149
169
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
156
176
+
157
177
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.
158
178
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.
160
180
+
161
181
.Configuration of Simulator GridMeter Acting
162
182
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
174
194
+
175
195
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.
176
196
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.
178
198
+
179
199
.Configuration of Simulator EssSymmetric Reacting
180
200
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
189
209
+
190
210
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.
191
211
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.
193
213
+
194
214
.Configuration of Controller Ess Balancing
195
215
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
204
224
+
205
225
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`):
206
226
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.
208
228
+
209
229
.Configuration of Controller Api Websocket
210
230
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
385
405
386
406
## Help
387
407
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