FEMS Glossar

1. Komponente

Die FEMS-Software ist modular in Komponenten aufgebaut - z. B. sind ein Stromspeichersystem, ein Energiezähler, ein Steuerungalgorithmus, eine API-Schnittstelle usw. jeweils Komponenten.

Jede Komponente besitzt eine im System eindeutige ID. Sie können diese ID z. B. im Online-Monitoring im Anlagenprofil einsehen.

Typische Komponenten-IDs sind z. B.:

_sum

Diese Komponente errechnet Summenwerte über alle Komponenten, also z. B. die gesamte Produktion aller Erzeugungsanlagen.

ess0

Der erste oder einzige Stromspeicher im System

meter0

Der erste Energiezähler, üblicherweise der Zähler am Netzanschlusspunkt

2. Kanal

Jede FEMS-Komponente verfügt über Datenpunkte. Diese werden in sogenannten "Kanälen" abgelegt.

Jeder Kanal besitzt eine im System eindeutige ID.

3. Kanal-Adresse

Jeder Kanal kann mit einer eindeutigen Adresse im FEMS adressiert werden. Diese Adresse setzt sich aus der Komponenten-ID und der Kanal-ID zusammen - also z. B. _sum/EssSoc als eindeutige Adresse des Kanals 'EssSoc' in der Komponente '_sum'.

4. Nature

FEMS kategorisiert und strukturiert Komponenten anhand von Natures. "Nature" umfasst dabei die wesentlichen Eigenschaften - also die "Natur" - einer Komponentenkategorie. Eine Komponente, die eine Nature implementiert, sagt damit aus, dass sie über gewisse Kanäle, also Datenpunkte, verfügt.

So beschreibt z. B. die Nature "SymmetricMeter" einen symmetrischen Leistungszähler und gibt vor, dass dieser z. B. den Kanal "ActivePower", also die aktuell gemessene Wirkleistung zur Verfügung stellt. Die Nature definiert darüber hinaus, dass dieser Wert immer in der Einheit Watt [W] bereitgestellt wird.

Welche konkreten Kanäle ein in Gerät oder Dienst zur Verfügung stellt ergibt sich damit aus:

  • den Natures, die die Komponente implementiert

  • den darüber hinaus gehenden, spezifischen und nicht standardisierten weiteren Kanälen der Komponente

Im Folgenden finden Sie die FEMS-Natures. Die Unterüberschriften stellen jeweils die IDs der Kanäle dar:

4.1. OpenemsComponent

"OpenemsComponent" ist die Basis-Nature; alle Komponenten implementieren diese Nature.

4.1.1. Allgemein

4.1.1.1. State

Status der Komponente

0

Ok - keine Probleme

1

Info - es liegt eine Information vor

2

Warnung - es liegt eine Warnung vor

3

Fault - es liegt ein Fehler vor

4.2. SymmetricEss

Symmetrisches Stromspeichersystem.

Weiterführende technische Informationen finden Sie in OpenEMS Javadoc

4.2.1. Allgemein

4.2.1.1. Soc

Ladezustand des Stromspeichers in [%]

4.2.1.2. GridMode

0

Undefiniert

1

On-Grid

2

Off-Grid/Notstrom

4.2.1.3. ActivePower

Beladeleistung (negativ) oder Entladeleistung (positiv) in [W]

4.2.1.4. ReactivePower

Blindleistung in [var]

4.2.1.5. ActiveChargeEnergy

Beladeleistung in [Wh]

4.2.1.6. ActiveDischargeEnergy

Entladeleistung in [Wh]

4.3. AsymmetricEss

Asymmetrisches Stromspeichersystem.

Weiterführende technische Informationen finden Sie in OpenEMS Javadoc

4.3.1. Allgemein

4.3.1.1. ActivePowerL1

Beladeleistung (negativ) oder Entladeleistung (positiv) auf Phase L1 in [W]

4.3.1.2. ActivePowerL2

Beladeleistung (negativ) oder Entladeleistung (positiv) auf Phase L2 in [W]

4.3.1.3. ActivePowerL3

Beladeleistung (negativ) oder Entladeleistung (positiv) auf Phase L3 in [W]

4.4. ManagedSymmetricEss

Symmetrisches, steuerbares Stromspeichersystem.

Weiterführende technische Informationen finden Sie in OpenEMS Javadoc

4.4.1. Allgemein

4.4.1.1. AllowedChargePower

Maximal erlaubte Beladeleistung in [W]

4.4.1.2. AllowedDischargePower

Maximal erlaubte Entladeleistung in [W]

4.4.2. Leistungsvorgabe

Über die Kanäle zur Leistungsvorgabe können Soll-Werte für Wirk- und Blindleistung vorgegeben werden.

Zur Vorgabe von konkreten Set-Points können die Kanäle Set…​Equals (SetActivePowerEquals oder SetReactivePowerEquals) verwendet werden. Das ist der häufigste Anwendungsfall für externe Leistungsvorgabe.

Beispiel: SetActivePowerEquals = 10000 gibt eine Entladung von 10 kW vor.

Mit den Kanälen Set…​LessOrEquals und Set…​GreaterOrEquals werden keine fixen Set-Points, sondern nur Beschränkungen für die minimale oder maximale Leistung vorgegeben. Ein Anwendungsfall ist, dass das FEMS seine eigene Eigenverbrauchsoptimierung fahren soll; allerdings von extern z. B. eine minimale Beladeleistung der Batterie vorgegeben werden soll.

Beispiel: SetActivePowerLessOrEquals = -1000 wird gesetzt, um eine Mindest-Beladung mit 1 kW zu forcieren. Sollte die Eigenverbrauchsoptimierung nun eine Entladung mit 3 kW (3000) durchführen wollen, würde dieser Wert auf -1000 korrigiert. Eine Beladung durch die Eigenverbrauchsoptimierung mit 3 kW (-3000) wäre jedoch erlaubt.

Für diese Anwendung ist es notwendig, dass der Scheduler für die Controller richtig gesetzt ist, also die externe Leistungsvorgabe mit höherer Priorität als die Eigenverbrauchsoptimierung ausgeführt wird.
4.4.2.1. SetActivePowerEquals

Wirkleistungsvorgabe eines Fixwerts in [W]. Negativer Wert für Beladung, positiver Wert für Entladung.

4.4.2.2. SetReactivePowerEquals

Blindleistungsvorgabe eines Fixwerts in [VA].

4.4.2.3. SetActivePowerLessOrEquals

Wirkleistungsvorgabe eines Maximalwerts in [W], z. B. um eine maximale Entladung oder eine Zwangsbeladung (negativer Wert) vorzugeben

4.4.2.4. SetReactivePowerLessOrEquals

Blindleistungsvorgabe eines Maximalwerts in [VA]

4.4.2.5. SetActivePowerGreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts in [W], z. B. um eine maximale Beladung (negativer Wert) oder eine Zwangsentladung (negativer Wert) vorzugeben

4.4.2.6. SetReactivePowerGreaterOrEquals

Blindleistungsvorgabe eines Minimalwerts in [VA]

4.5. ManagedAsymmetricEss

Asymmetrisches, steuerbares Stromspeichersystem.

Weiterführende technische Informationen finden Sie in OpenEMS Javadoc

4.5.1. Leistungsvorgabe

Anmerkungen siehe Punkt "Leistungsvorgabe" unter "ManagedSymmetricEss".

4.5.1.1. SetActivePowerL1Equals

Wirkleistungsvorgabe eines Fixwerts auf Phase L1 in [W]

4.5.1.2. SetActivePowerL2Equals

Wirkleistungsvorgabe eines Fixwerts auf Phase L2 in [W]

4.5.1.3. SetActivePowerL3Equals

Wirkleistungsvorgabe eines Fixwerts auf Phase L3 in [W]

4.5.1.4. SetReactivePowerL1Equals

Blindleistungsvorgabe eines Fixwerts auf Phase L1 in [VA]

4.5.1.5. SetReactivePowerL2Equals

Blindleistungsvorgabe eines Fixwerts auf Phase L2 in [VA]

4.5.1.6. SetReactivePowerL3Equals

Blindleistungsvorgabe eines Fixwerts auf Phase L3 in [VA]

4.5.1.7. SetActivePowerL1LessOrEquals

Wirkleistungsvorgabe eines Maximalwerts auf Phase L1 in [W]

4.5.1.8. SetActivePowerL2LessOrEquals

Wirkleistungsvorgabe eines Maximalwerts auf Phase L2 in [W]

4.5.1.9. SetActivePowerL3LessOrEquals

Wirkleistungsvorgabe eines Maximalwerts auf Phase L3 in [W]

4.5.1.10. SetReactivePowerL1LessOrEquals

Blindleistungsvorgabe eines Maximalwerts auf Phase L1 in [VA]

4.5.1.11. SetReactivePowerL2LessOrEquals

Blindleistungsvorgabe eines Maximalwerts auf Phase L2 in [VA]

4.5.1.12. SetReactivePowerL3LessOrEquals

Blindleistungsvorgabe eines Maximalwerts auf Phase L3 in [VA]

4.5.1.13. SetActivePowerL1GreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts auf Phase L1 in [W]

4.5.1.14. SetActivePowerL2GreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts auf Phase L2 in [W]

4.5.1.15. SetActivePowerL3GreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts auf Phase L3 in [W]

4.5.1.16. SetReactivePowerL1GreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts auf Phase L1 in [VA]

4.5.1.17. SetReactivePowerL2GreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts auf Phase L2 in [VA]

4.5.1.18. SetReactivePowerL3GreaterOrEquals

Wirkleistungsvorgabe eines Minimalwerts auf Phase L3 in [VA]

5. Controller

Ein Controller ist eine Komponente, die einen definierten Steuerungsalgorithmus umsetzt. Beispiele für Controller sind die Ansteuerung eines Stromspeichersystems zur Eigenverbrauchsoptimierung, die dynamische Steuerung einer Ladesäule zur Optimierung des Eigenverbrauchs, usw.

6. Liste der Komponenten und Kanäle

6.1. Sum-Komponente (_sum)

Die 'Sum-Komponente' mit der festen Komponenten-ID _sum enthält die akkumulierten Datenpunkte des gesamten Energiesystems.

Weiterführende technische Informationen finden Sie in OpenEMS Javadoc

6.1.1. Informationen zum Netzanschlusspunkt

6.1.1.1. GridActivePower

Netzbezug (positiv) oder Netzeinspeisung (negativ) in [W].

6.1.1.2. GridActivePowerL1

Netzbezug/-einspeisung auf Phase L1 in [W]

6.1.1.3. GridActivePowerL2

Netzbezug/-einspeisung auf Phase L1 in [W]

6.1.1.4. GridActivePowerL3

Netzbezug/-einspeisung auf Phase L1 in [W]

6.1.1.5. GridBuyActiveEnergy

Netzbezug Energie in [Wh]

6.1.1.6. GridSellActiveEnergy

Netzeinspeisung Energie in [Wh]

6.1.2. Informationen zum Stromspeichersystem

6.1.2.1. EssSoc

Der Ladezustand in [%]; bei mehreren Stromspeichern der durchschnittliche Ladezustand

6.1.2.2. EssActivePower

Beladeleistung (negativ) oder Entladeleistung (positiv) in [W]

6.1.2.3. EssActivePowerL1

Beladeleistung (negativ) oder Entladeleistung (positiv) auf Phase L1 in [W]

6.1.2.4. EssActivePowerL2

Beladeleistung (negativ) oder Entladeleistung (positiv) auf Phase L2 in [W]

6.1.2.5. EssActivePowerL3

Beladeleistung (negativ) oder Entladeleistung (positiv) auf Phase L3 in [W]

6.1.2.6. EssActiveChargeEnergy

Beladeenergie in [Wh]

6.1.2.7. EssActiveDischargeEnergy

Entladeenergie in [Wh]. Bei Hybrid-Systemen ist in diesem Wert auch die Erzeugung des DC-Ladereglers enthalten

6.1.2.8. EssDcChargeEnergy

Beladeenergie der Batterie in [Wh]

6.1.2.9. EssDcDischargeEnergy

Entladenergie der Batterie in [Wh]

6.1.2.10. EssCapacity

Nenn-Batteriekapazität in [Wh]; bei mehreren Stromspeichern die Summe aller Kapazitäten

6.1.3. Informationen zur Erzeugung

6.1.3.1. ProductionActivePower

Erzeugungsleistung in [W]; bei mehreren Erzeugern die Summe aller Leistungen

6.1.3.2. ProductionAcActivePower

Leistung der AC-Erzeuger in [W]; bei mehreren AC-Erzeugern die Summe aller Leistungen

6.1.3.3. ProductionAcActivePowerL1

Leistung der AC-Erzeuger auf Phase L1 in [W]

6.1.3.4. ProductionAcActivePowerL2

Leistung der AC-Erzeuger auf Phase L2 in [W]

6.1.3.5. ProductionAcActivePowerL3

Leistung der AC-Erzeuger auf Phase L3 in [W]

6.1.3.6. ProductionDcActualPower

Leistung der DC-Erzeuger in [W]; bei mehreren DC-Erzeugern die Summe aller Leistungen

6.1.3.7. ProductionActiveEnergy

Erzeugte Energie in [Wh]

6.1.3.8. ProductionAcActiveEnergy

Energie der AC-Erzeuger in [Wh]

6.1.3.9. ProductionDcActiveEnergy

Energie der DC-Erzeuger in [Wh]

6.1.4. Informationen zum Verbrauch

6.1.4.1. ConsumptionActivePower

Summenleistung aller Verbraucher in [W]; dieser Wert errechnet sich aus Netzbezug-/einspeisung, Be-/Entladung des Stromspeichers und Erzeugung

6.1.4.2. ConsumptionActivePowerL1

Verbraucher auf Phase L1 in [W]

6.1.4.3. ConsumptionActivePowerL2

Verbraucher auf Phase L2 in [W]

6.1.4.4. ConsumptionActivePowerL3

Verbraucher auf Phase L3 in [W]

6.1.4.5. ConsumptionActiveEnergy

Summenenergie aller Verbraucher in [Wh]; dieser Wert errechnet sich aus Netzbezug-/einspeisung, Be-/Entladung des Stromspeichers und Erzeugung

6.1.5. Weitere Informationen zum Energiesystem

6.1.5.1. State

Status des Gesamtsystems.

0

Ok - keine Probleme

1

Info - es liegt eine Information vor

2

Warnung - es liegt eine Warnung vor

3

Fault - es liegt ein Fehler vor

Jede einzelne Komponente im System besitzt einen Kanal State, der den Status der Komponente wiedergibt - also ob z. B. zum Stromspeichersystem eine Warnung oder ein Fehler vorliegt. Der globale State (_sum/State) fasst die Statusmeldungen aller Komponenten zusammen und nimmt den höchsten Status an.

Beispiel: die E-Auto Ladesäule (evcs0) meldet eine Warnung (evcs0/State = 2) und die Modbus-Bridge zum Stromspeichersystem (modbus0) meldet einen Fehler (modbus0/State = 3). Für alle weiteren Komponenten liegen keine Probleme vor (jeweils State = 0). In diesem Fall wird der Gesamtstatus des Systems einen Fehler melden (_sum/State = 3).

6.1.5.2. GridMode

Netzmodus des Gesamtsystems.

0

Undefiniert

1

On-Grid

2

Off-Grid/Notstrom

7. JSON-RPC

Die gesamte Kommunikation zwischen FEMS, den FENECON Cloud-Servern und dem FEMS Online-Monitoring baut auf dem Kommunikationsprotokoll JSON-RPC auf. Details zum Protokoll finden Sie in der JSON-RPC Spezifikation. Kurz zusammengefasst unterscheidet das Protokoll:

JSON-RPC Request

Identifiziert anhand einer eindeutigen ID, mit einem Methodennamen und spezifischen Parametern. Auf einen Request folgt immer eine Response - entweder Success oder Error.

Ein JSON-RPC Request ist so aufgebaut:

{
  "jsonrpc": "2.0", (1)
  "id": "UUID", (2)
  "method": "xxx", (3)
  "params": {} (4)
}
1 Festlegung der JSON-RPC Version. Immer "2.0".
2 Eine eindeutige id als "Universally Unique Identifier" (UUID)
3 Der eindeutige Methodenname
4 Die spezifischen Parameter als JSON Objekt
JSON-RPC Success Response

Bezieht sich auf die eindeutige ID des Requests; enthält eine erfolgreiche Antwort, die leer sein kann oder spezifische Daten als JSON-Objekt enthält

JSON-RPC Error Response

Bezieht sich auf die eindeutige ID des Requests; enthält einen Fehlercode, Fehlermeldung und optionale Daten.

JSON-RPC Notification

Identifiziert anhand eines Methodennamens mit spezifischen Parametern. Auf eine Notification folgt keine Antwort.