Send measurements with the HTTP API
Send JSON from Node-RED, Home Assistant, a PLC gateway or your own script to FreeMaint Connect: format, headers, units and limits.
Any system that can send an HTTP request with a JSON body can feed FreeMaint Connect: Node-RED, Home Assistant, a gateway that reads Modbus, a PLC or a script of your own. Create a connection of type HTTP API (Node-RED, script…) to get its URL and access key.
The request
- Method: POST, to the URL shown when you create the connection (it ends with /connect/ingest/generic).
- Header Authorization: Bearer followed by the access key.
- Header Content-Type: application/json.
- FreeMaint answers 202 when the data is accepted; it is stored within seconds.
The body
The body lists devices under items. Each device has an identifier (device), an optional display name, an optional time (ts, ISO 8601) and its points. Each point has a key, a value and, ideally, a unit and a quantity. The creation screen shows a complete example you can copy.
Point fields
key
The channel's name on this device, for example power or energy_total. The same key always lands on the same channel.
value
A number.
unit
For example W, kWh, °C or mm/s. Energy in Wh or MWh is converted to kWh, temperatures to °C, vibration velocity to mm/s.
quantity
What is measured, for example power, energy, temperature or vibration_velocity. It lets FreeMaint pick the right unit and chart.
kind
CUMULATIVE for a counter that only goes up (an energy total, run hours). FreeMaint then computes the consumption between readings. Leave it out for a simple measured value.
Limits
- Up to 500 devices and 5,000 points per request.
- Up to 120 requests per minute per connection; beyond that FreeMaint answers 429 and your system should retry later.
- A request that is malformed gets a 400 response naming the problem, so a misconfigured gateway is easy to fix.
- Each new channel counts toward your plan's limit of active channels.
Tip
Warning
Related articles
Was this page helpful?