Physical hardware is abstracted in OpenEMS Edge using Natures. A Nature defines a set of characteristics and attributes which need to be provided by each OpenEMS component that implements it. These characteristics are defined by Channels. For example an implementation of an Ess (Energy Storage System), needs to provide an Soc-Channel (State of charge of the battery).

Technically Natures are implemented as OSGi API Bundles.

1. Battery

A battery that is connected to a battery inverter.

2. Battery-Inverter

Together with a battery, a battery-inverter builds an Energy Storage System.

3. Controller

A Controller; see the Controller chapter for details.

4. OpenEMS Energy API

The API for OpenEMS Energy Schedules.

5. ESS (Energy Storage System)

An Energy Storage System is an integrated system with battery and battery inverter.


A generic Energy Storage System


A symmetric Energy Storage System in readonly-mode.

A symmetric, controllable Energy Storage System.


A solar charger that is connected to DC side of an energy storage system.

6. EVCS (Electric Vehicle Charging Station)


A charging station for electric vehicles like e-cars and e-buses.

7. I/O (Digital Input/Output)


One or more digital outputs or relays.

8. Meter


An electricity meter.

9. Predictor

A Predictor provides abstract access to prediction of production and consumption.

10. Scheduler

A Scheduler; see the Scheduler chapter for details.

11. Thermometer

A Thermometer measures temperature.

12. Timedata

A provider for time-series data, like historic recordings of Channels.

13. Time-Of-Use Tariff API.

Provides abstract access for getting prices from every "Time-Of-Use" tariff providers like: - aWATTar - Stromdao with Corrently