FEMS Glossary
1. Components
FEMS is a modular system, consisting of components like an energy storage system, an energy meter, a control algorithm, an API and more.
Each component within the system has a unique ID. Refer to the system profile in your FEMS Online Monitoring to inspect your component’s ID.
Typical component IDs are, for example:
_sum-
This component computes cumulative values across all components, e. g. the overall production of all production systems.
ess0-
The first and only energy storage within the system.
meter0-
The first energy meter, usually at the grid connection point.
2. Channels
Each FEMS component features data points stored in "channels".
Each channel has its unique ID within the system.
3. Channel addresses
Channels are addressed with a unique address within FEMS. This address consists of the component ID and the channel ID — e. g. _sum/EssSoc as distinct address of the channel 'EssSoc' in '_sum' component.
4. Natures
FEMS categorizes and structures components through Natures. A Nature includes the essential properties, the nature of a component category in the literal sense. A component which implements a Nature states that it has certain channels, i. e. data points.
For example, the Nature SymmetricMeter describes a symmetric energy meter and states that it provides the channel "ActivePower", i. e. the currently measured active power. The Nature further defines that this value is always provided in the unit Watt [W].
The concrete channels a device or service provides thus results from:
-
the Natures the component implements
-
the specific, non-standardized, further channels of the component going beyond that
Read more about the FEMS Natures below. The sub-headings represent the corresponding channel ID:
4.4. ManagedSymmetricEss
Symmetric, manageable energy storage system.
4.4.2. Set power values
The set power channels allow to set power values for active and reacive power.
The channels Set…Equals (SetActivePowerEquals or SetReactivePowerEquals) are used for specifying set points. This is the most common use case for external power settings.
Example: SetActivePowerEquals = 10000 sets a discharge of 10 kW.
The channels Set…LessOrEquals and Set…GreaterOrEquals do not specify fixed set points, but limits for minimum and maximum power. A use case, for example, is that FEMS is allowed to govern its own self-consumption optimization, but with the external provision that the battery is charged to a minimum value.
Example: SetActivePowerLessOrEquals = -1000 enforces a minimum charging of the battery with 1 kW. If the self-consumption optimization would discharge the battery with 3 kW (3000), this value would be corrected to -1000. However, charging the battery with 3 kW (-3000) in the course of self-consumption optimization would be permissible.
| This application requires a correct setting of the scheduler for the controllers, i. e. that the external power setting is executed with higher priority than self-consumption optimization. |
SetActivePowerEquals
Sets active power as a fixed value [W]. Negative value for charging, positive value for discharging.
SetActivePowerLessOrEquals
Sets active power to a maximum value in [W], e. g. to indicate a maximum discharge or forced charge (negative value).
5. Controller
A controller is a component that implements a defined control algorithm. Examples of controllers are the control of an energy storage system for self-consumption optimization, the dynamic control of an EV charging station for optimizing self-consumption, and so on.
6. List of components and channels
6.1. Sum component (_sum)
The 'Sum component' with the fixed component ID _sum contains the accumulated data points of the overall energy system.
6.1.2. Information on the electrical energy storage system (Ess)
6.1.3. Information about power production
ProductionActivePower
Power produced in [W]; For several producers, this is the sum of all powers produced.
ProductionAcActivePower
Power produced by AC producers in [W]; For several AC producers, this is the sum of all powers produced.
6.1.4. Information on consumption
6.1.5. Further information about the energy system
State
State of the overall system.
0 |
Ok |
1 |
Info |
2 |
Warning |
3 |
Fault |
Each individual component within the system has a State channel reflecting the component’s status, e. g. if there is a Warning or Fault in the energy storage system. The global State (_sum/State) summarizes the status messages of all components and assumes the highest one.
Example: The EV charging station (evcs0) gives a Warning (evcs0/State = 2), and the Modbus bridge to the energy storage system (modbus0) gives a Fault (modbus0/State = 3). All further components work without any issues (each of them has State = 0). In this case, the system will notify about a Fault (_sum/State = 3).
7. JSON-RPC
All communication between FEMS, the FENECON cloud servers, and the FEMS Online Monitoring relies on the JSON-RPC communication protocol. Read more about the protocol here: JSON-RPC specification. To summarize it, the protocol distinguishes between:
- JSON-RPC Request
-
It identifies using a unique ID, a method name and specific parameters. A Request is always followed by a Response — which is either Success or Error.
A JSON-RPC Request is structured as follows:
{ "jsonrpc": "2.0", (1) "id": "UUID", (2) "method": "xxx", (3) "params": {} (4) }1 Definition of the JSON-RPC version. Always "2.0". 2 A unique ID as "Universally Unique Identifier" (UUID). 3 The unique method name. 4 The specific parameters as JSON object. - JSON-RPC Success Response
-
Relates to the unique ID of the Request; Contains a successful response that can either be empty or provide specific data as JSON object.
- JSON-RPC Error Response
-
Relates to the unique ID of the Request; Contains an error code, fault message and optional data.
- JSON-RPC Notification
-
It identifies using a method name with specific parameters. A Notification is not followed by a response.