Benutzerdefinierte Zähler

Der cFos Charging Manager erlaubt Ihnen, eigene Zählerdefinitionen anzulegen, um Zähler zu unterstützen, die nicht im Standard-Repertoire vorhanden sind. Es gibt derzeit zwei Typen: Modbus-Zähler und HTTP/JSON-Zähler. Die Definitionsdateien zu diesen Zählern sind sehr ähnlich. Modbus-Zähler lesen ihre Daten via Modbus aus bestimmten Registern, während HTTP/JSON-Zähler ihre Daten per HTTP request holen und als Antwort JSON parsen. Zum Parsen verwendet der cFos Charging Manager hierbei eine kleine "query language".

Hier eine Beispiel-Definition für Modbus und eine für HTTP/JSON:
Beispiel-Definition für Modbus-Zähler herunterladen
Beispiel-Definition für HTTP/JSON-Zähler herunterladen

Im Charging Manager sind ein paar solcher Dateien schon mitgeliefert, aber Sie können unter "System Konfiguration" eigene Dateien hochladen und auch wieder löschen.

Falls Sie eine eigene Zählerdatei erstellt haben und diese für andere Nutzer relevant sein könnte, wären wir Ihnen sehr dankbar, wenn Sie uns diese zur Verfügung stellen könnten. Dann liefern wir diese mit zukünftigen Versionen des Charging Managers aus.

Der cFos Charging Manager benötigt Spannungsangaben in Volt, Ströme in Milliampere, Leistung in Watt bzw. VA und Energie in Wh bzw VAh.

Bei bidirektionalen Zählern wird hilft es dem Charging Manager, wenn Sie Definitionen für "power_w_l1", "power_w_l2" und "power_w_l3" (d.h. Vorzeichenbehaftete Werte für die Leistung auf den einzelnen Phasen) angeben. Wichtig ist nur dass das Vorzeichen korrent erkannt wird. Hilfsweise können Sie hier auch phasenweise Werte für Scheinleistung nehmen.

Werte, die der Zähler nicht unterstützt, können Sie weglassen. Bei "type_designation", "version", "firmware_version" und "serial" sollten sie diese mittels "fixed" auf feste Werte setzen.

Als "address" geben Sie bei Modbus eine Zahl in dezimal oder hex mit Präfix 0x an.

Bei HTTP/JSON ist die Adresse ein string, der mit / beginnt. Aus der eigentliches IP Adresse des Gerätes und der hier angegebenen "address" wird die HTTP request URL gebildet. Optional können Sie auch noch GET oder POST voranstellen.
Zusätzlich müssen Sie für HTTP/JSON noch angeben, wo, in der JSON Antwort, der gewünschte Wert zu finden ist. Dies geben Sie mittels "query" an. Der Charging Manager geht davon aus, dass alle Antworten in einem JSON Object, das mit "{" beginnt und mit "}" endet, enthalten sind.
Derzeit können in den "query" Such-Ausdrücke member names und die Operatoren "." und "[]" verwendet werden, Beispiele:

testElement namens "test"
name1.name2Element "name2" in Unterobjekt "name1"
name[idx]Element "idx" des Objekt-Elements "name", idx kann eine Zahl sein, z.B. für Arrays oder ein String
name["u2"]Element "u2" des Objekt-Elements "name", entspricht name.u2

Hinweis: Manche Zähler, die mittels HTTP gelesen werden, benötigen Benutzername/Passwort als Authorisierung. Dies können sie in der Adresse für den HTTP-Zugriff mit angeben, z.B. mit http://username:password@192.168.2.111. Sollte Ihr Benutzername oder Passwort ein "@" enthalten, müssen Sie dieses durch "%40" ersetzen.