@strato-automation/node-red-contrib-strato-automation-v4 2.0.19
Node-RED nodes for Strato Automation's OCN building-automation platform: read and write BACnet points, query trend history, and build HVAC control logic
Strato Automation for Node-RED (OCN v4)
Node-RED nodes for Strato Automation's OCN building-automation platform. Use them to read and write BACnet points, query trend history, and build HVAC control logic in flows: PID loops, linear resets, hysteresis, signal generation, and unit and psychrometric conversion.
The palette works as a client of your OCN server. It talks to the server's v4 HTTP API and gets live values over SignalR, so Node-RED never needs direct BACnet access to your controllers.
Requirements
- Node-RED 3.0 or later
- Node.js 22.9 or later
- An OCN server running API v4, and an application token for it, created in the OCN UI under Settings → API tokens
This package supports OCN API v4 only. Sites still on OCN API v3 need the earlier v3 palette instead.
Installation
Install from the Node-RED editor: open Manage palette → Install, then search for
@strato-automation/node-red-contrib-strato-automation-v4.
Or install from the command line in your Node-RED user directory (usually ~/.node-red),
then restart Node-RED:
npm install @strato-automation/node-red-contrib-strato-automation-v4
The nodes appear in the palette under Strato Automation.
Getting started
- Add an OCN Server configuration. Open any OCN-aware node, such as BACnet Point In,
and add a new OCN Server. Fill in:
- OCN IP: the address of your OCN server. A host name or IP is enough (port 8080
is assumed). Add a port if yours differs, or start with
https://for an HTTPS server. - API Token: your OCN application token. It is stored encrypted in Node-RED's credential store and never written into the flow file.
- Allow self-signed: tick this only if your OCN server uses a self-signed HTTPS certificate.
- OCN IP: the address of your OCN server. A host name or IP is enough (port 8080
is assumed). Add a port if yours differs, or start with
- Pick your points. Drop a BACnet Controller node to browse the controllers and
objects the OCN server knows about and add pre-configured point nodes to the canvas.
You can also drag a BACnet Point In or BACnet Point Out straight from the
palette and enter a device instance and object ID (for example
AV-1) yourself. - Deploy. The OCN Server status shows a blue dot labelled
live eventsonce live values are flowing.
Nodes
OCN and BACnet
| Node | What it does |
|---|---|
| OCN Server | Configuration node: the connection and application token for one OCN server. Every OCN-aware node uses one. |
| BACnet Controller | Browses the controllers and objects on an OCN server and adds point nodes for the ones you pick. |
| BACnet Point In | Emits a point's present value when it changes, live from OCN. Send it any message to get the current value on demand. |
| BACnet Point Out | Writes msg.payload to a point at a BACnet priority. It can take the address and priority from the message, and can read the value back to confirm the write. |
| Trend Log | Queries a point's recorded history and returns it as a series, a table, or summary statistics. |
| Strato Function | A function node for your own JavaScript, with access to the point values your point nodes provide. |
| OCN Diagnostic | Reports every write an OCN Server profile sends, with the point, value, time and result. |
Control logic
| Node | What it does |
|---|---|
| PID | PID control loop with proportional band or gain tuning. |
| Linear Reset | Two-point linear interpolation, such as an outdoor-air reset schedule, with clamping. |
| ON/OFF | On/off control with asymmetric hysteresis. |
| NOT | Inverts a payload to 1 or 0. |
| Constant | Emits a fixed value. |
| Input Topic | Tags a message with the input it belongs to on a multi-input node. |
| Signal Generator | Generates sine, sawtooth, triangle, square and sigmoid signals. |
| Unit Converter | Converts temperature, pressure and enthalpy units. |
| Psychrometric Calculator | Calculates dew point, enthalpy, wet-bulb temperature and vapour pressure. |
Each node has full help in the Node-RED editor's info sidebar.
Working with points
BACnet Point In has three outputs:
- Value: the present value in
msg.payload. By default it is sent when the node first gets a value after deploy and every time the value changes after that; a repeated reading of the same value is not sent again. A message on the input always gets the latest value back. Untick Trigger on value change if you only want values when your flow asks for them. - Status flags: the point's BACnet status flags.
- Read sync state: sent when OCN's sync state for the point changes, so a flow can tell when the value it is reading is out of date or has recovered.
BACnet Point Out has three outputs:
- Requested write value: echoes each write the node sends.
- Actual present value: the point's present value read back from the device, when read-back is on.
- Write sync state: reports when OCN could not apply a write at the node's priority, and again when the problem clears. OCN accepts a write before it reaches the device, so this output is the only place a failed write shows up.
Every message both nodes send carries the current sync state in msg.sync.
Multi-input nodes
Nodes that take several inputs, such as Linear Reset, use a single input port and tell
the inputs apart by msg.topic: in1 to in6 for the numbered inputs and default
for the primary value. Put an Input Topic node in front of each source to set the
right topic.
Connection behaviour
- Live values come over one SignalR connection per OCN Server profile. If it drops, values pause, and the node retries with a growing delay (5 s up to 60 s). Writes, trend queries and the editor's point pickers keep working over HTTP in the meantime. On reconnect every point gets its current value again.
- If OCN reports the application token as revoked, the OCN Server node shows
API token revokedand stops retrying. Create a new token, enter it, and redeploy. - A profile whose credential is not an application token shows
application token requiredand does not connect.
Upgrading older flows
Flows saved with earlier releases of this palette, and with the v3 palette, load without
changes. Old node types such as the v3 input and output-* nodes are translated onto
BACnet Point In and BACnet Point Out automatically, and older settings are mapped to
their current equivalents. Deploy once after upgrading so the flow is saved in the
current format.
Support
This palette is maintained by Strato Automation. For help with an OCN installation, contact Strato Automation support.
License
MIT