@mschaeffler/node-red-fenecon 0.2.0
Node Red nodes to communicate with a Fenecon FEMS
@mschaeffler/node-red-fenecon
Node Red nodes to communicate with a Fenecon FEMS.


Install
$ npm install @mschaeffler/node-red-fenecon
feneconFems Node
This node contains the configuration data for the connection to the FEMS.
Parameters
| config | type | description |
|---|---|---|
| Hostname | string | hostname of the FEMS |
feneconHttpGet Node
A Node Red node to request one ore more data points from a Fenecon FEMS.
Input
| msg. | type | description |
|---|---|---|
| topic | string | data point to be requested |
Data Points
The data points of the FEMS are always named as group/name.
You can get all possible data points with the request .*/.*.
Examples:
.*/.*_meta/V.*_meta/VersionctrlGridOptimizedCharge0/(DelayChargeMaximumChargeLimit|_PropertyManualTargetTime)
Output
| msg. | type | description |
|---|---|---|
| topic | string | same as in input. |
| payload | value or object | received data points. If more than one data point is returned, it is an object with key/value pairs. |
Parameters
| config | type | description |
|---|---|---|
| Fems | feneconFems | configuration of the FEMS. |
feneconHttpPost node
A Node Red node to set data points at a Fenecon FEMS with the App "Schreibzugriff".
Input
| msg. | type | description |
|---|---|---|
| topic | string | data point to be written |
| payload | number | value to be written |
Data Points
The data points of the FEMS are always named as group/name.
You can find the writable data points at the FEMS documentation.
Examples:
ess0/SetActivePowerEqualsess0/SetActivePowerLessOrEqualsess0/SetActivePowerGreaterOrEquals
Parameters
| config | type | description |
|---|---|---|
| Fems | feneconFems | configuration of the FEMS. |
feneconWebsocket node
A Node Red node to subscribe data points and configuration data at a Fenecon FEMS via the WebSocket interface similar to the web UI.
It is also possible to write config data. This can be dangerous and damage your FEMS! This is done at your own risk! Please be careful and we accept no responsibility whatsoever for a damaged FEMS!
Input
| msg. | type | description |
|---|---|---|
| topic | string | open, close or name of the config parameter to be written |
| payload | number | value of the config parameter to be written |
Outputs
subscribed data
Cyclic output of the subscribed data points.
| msg. | type | description |
|---|---|---|
| payload | object | received data points. It is an object with key/value pairs. |
config data
Config data of the FEMS.
| msg. | type | description |
|---|---|---|
| payload | object | received config data. |
state
Actual state of the websocket connection.
| msg. | type | description |
|---|---|---|
| payload | string | state of the websocket. |
Parameters
| config | type | description |
|---|---|---|
| Fems | feneconFems | configuration of the FEMS. |
| Edge | string | id of the edge; normally "0". |
| Inlist | array | list of subscribed data points. |
| Risk | boolean | risk accepted, enables writing. |
| Timeout | boolean | close the websocket, if 10s no subscribed message arrives. |
Data Points
The data points of the FEMS are always named as group/name.
You can find possible data points at FEMS documentation.
Example inlist:
[
"_sum/State",
"_sum/GridMode",
"_sum/EssSoc",
"_sum/ProductionActivePower",
"_sum/EssDischargePower",
"_sum/GridActivePower",
"_sum/GridSellActiveEnergy",
"_sum/GridBuyActiveEnergy",
"_sum/ProductionActiveEnergy",
"_sum/EssDcDischargeEnergy",
"_sum/EssDcChargeEnergy",
"batteryInverter0/AirTemperature",
"batteryInverter0/RadiatorTemperature",
"ctrlIoHeatPump0/Status",
"charger0/ActualPower",
"charger1/ActualPower",
"ctrlGridOptimizedCharge0/DelayChargeState",
"meter0/CurrentL1",
"meter0/CurrentL2",
"meter0/CurrentL3"
]
Example Flow
Author
License
LGPL-2.1