Every monitoring platform claims "easy integration". Here is what that actually means on Attral — the whole path from a gateway on your site to a live dashboard, in one short read.
One token per site
When you create a site in the console, Attral issues a device token on the spot. That token is the only credential your gateway needs — no OAuth dance, no per-vendor SDK. Rotate the site, rotate the token.
One JSON endpoint
Whatever the hardware speaks on the wire — Modbus TCP/RTU, SunSpec, CAN off a BMS, a vendor API — your gateway or datalogger normalises it into a small JSON reading and POSTs it:
curl -X POST https://attral.energy/api/operate/ingest \
-H "Content-Type: application/json" \
-d '{"token":"dev_…","ac_kw":1200,"load_kw":800,
"soc":72,"batt_temp":31,"soh":97,"pr":0.8}'
Flaky uplink? Buffer locally and send a readings: [...] batch when the link returns — the endpoint accepts up to 5,000 readings per call, each with its own timestamp, so history backfills cleanly.
Alerts on every reading
Each stored reading passes through the alert engine immediately: battery temperature limits, low state of charge, and performance-ratio checks that are daylight-aware (a PR alarm at midnight helps nobody). Duplicate suppression keeps one live issue as one alert, not a hundred.
Seconds to the screen
The console and the native apps refresh the fleet view every 10 seconds. From the moment your gateway sends a reading, the number on the operator's phone is at most one refresh away — and the AI analyst sees the same data on its next pass.
That's the whole integration story: create a site, point your hardware at one URL, and watch the dashboard come alive. Try it against the demo console or talk to us about your fleet.
