@runnane/node-red-contrib-easee v0.6.2
@runnane/node-red-contrib-easee npm module
Node-Red module for streaming Easee charger data.
Features
- SignalR streaming client
- Pre-defined list of REST API GET/POST commands
- Custom commands through REST API
Howto
npm i @runnane/node-red-contrib-easee
Add the easee Charger Streaming Client node
Configure the node with username/password and the Charger ID.
Streaming node
Configure the node with username/password and a Charger ID ("EH000000").
Streaming telemetry from the signalR enpoint will be available in the fourth output,
the ProductUpdate one.
REST node
Use the easee REST Client node
Configure the node with an account username/password.
The REST node will not authenticate on its own, so you will need to authenticate/renew tokens.
However, if you use the easee Charger Streaming Client node,
you do not need to authenticate additionally with the REST node, as the signalR socket
will authenticate and renew automatically.
There are two ways of sending commands:
Sending predefined commands by topic
Send the your selected command as the topic into the node.
You can set the charger, site and/or circuit variables directly in the node, or send them as
msg.charger, msg.site and msg.circuit to override.
Implemented commands that may be sent as topic, are:
loginrefresh_tokenchargercharger_detailscharger_statecharger_sitecharger_configcharger_session_latestcharger_session_ongoingstop_chargingstart_chargingpause_chargingresume_chargingtoggle_chargingdynamic_current(Without msg.payload.body for reading (GET), and with msg.payload.body for setting (POST).)reboot
Example, get charger details:
node.send({
topic: "charger_details",
charger: "EH000000",
});Sending custom commands
Send the full path as msg.command, and optionally the POST body as msg.payload. See get_api-chargers for full list of commands. When adding a body, the request will be sent as a POST, else as a GET. If you wish to send a POST without body, add an empty object as POST argument.
Example to set dynamic current to 3x25A by doing a custom command with POST body:
Set dynamic current:
node.send({
payload: {
path: "/sites/1234/circuits/1345/dynamic_current",
body: { phase1: 25, phase2: 25, phase3: 25 },
}
});Pause charging:
node.send({
payload: {
path: "/chargers/EH000000/commands/pause_charging",
body: {},
}
});Example
See example flows
Credits and references
- Initially forked from node-red-contrib-signalrcore, then rewritten
- REST API documentation developer.easee.com
- Enumerations developer.easee.com
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago