BRF Manager Telemetry API
BRF Manager tillhandahåller ett öppet API för att ta emot högfrekvent mätdata (t.ex. elförbrukning, temperaturer, vattenförbrukning) direkt från hårdvara i undercentraler.
Autentisering
API:et använder Bearer-token för autentisering. Din API-nyckel är specifik för en enskild bostadsrättsförening. Inkludera nyckeln i HTTP-headern Authorization:
Authorization: Bearer <DIN_API_NYCKEL>Endpoint: Verifiera API-nyckel
GET https://app.brfmanager.se/api/webhooks/telemetry/verify
Använd denna endpoint för att verifiera att din API-nyckel är giltig och se vilken förening den är kopplad till. Skickar ingen data – perfekt för att testa vid uppsättning.
Lyckat svar (200)
{
"valid": true,
"cooperative": "BRF Belwobyn",
"cooperative_id": "d6721d8f-..."
}Ogiltig nyckel (401)
{
"valid": false,
"error": "Invalid API key"
}Endpoint: Skicka mätvärden
POST https://app.brfmanager.se/api/webhooks/telemetry
Används för att skicka in en array av mätvärden (readings). Varje anrop kan innehålla max 100 mätvärden. För att minska nätverkstrafiken rekommenderar vi att mätvärden batchas och skickas ungefär var 5:e minut.
Request Body (JSON)
{
"readings": [
{
"component_id": "a92b1234-...",
"reading_type": "electricity_kwh",
"value": 14.2,
"unit": "kWh",
"measured_at": "2026-05-29T13:30:00Z"
},
{
"reading_type": "heat_supply_temp_c",
"value": 55.4,
"unit": "°C",
"measured_at": "2026-05-29T13:30:00Z"
}
]
}Fältbeskrivning
- component_id (String/UUID, Valfritt): UUID till den specifika komponenten i BRF Manager (t.ex. en specifik värmepump eller elmätare). Om detta utelämnas sparas datan generellt på föreningen. Måste vara ett giltigt UUID-format.
- reading_type (String, Obligatoriskt): Typ av mätvärde. Se tabellen nedan för alla stödda typer.
- value (Number, Obligatoriskt): Själva mätvärdet (numeriskt).
- unit (String, Valfritt): Enheten för mätvärdet. Valfritt men rekommenderat – se kolumnen "Rekommenderad enhet" i tabellen nedan.
- measured_at (String/ISO 8601, Obligatoriskt): Tidpunkten då värdet lästes av, i UTC. Exempel:
2026-05-29T13:30:00Z.
Stödda mättyper (reading_type)
Följande värden stöds som reading_type. Du kan även skicka egna typer – de sparas och visas under sitt namn i gränssnittet.
| reading_type | Beskrivning | Rekommenderad enhet |
|---|---|---|
electricity_kwh | Elförbrukning | kWh |
heat_energy_kwh | Fjärrvärmeenergi | kWh |
heat_supply_temp_c | Värme framledning | °C |
heat_return_temp_c | Värme retur | °C |
water_m3 | Vattenförbrukning (kall + varm) | m³ |
hot_water_m3 | Varmvattenförbrukning | m³ |
outdoor_temp_c | Utomhustemperatur | °C |
indoor_temp_c | Inomhustemperatur | °C |
humidity_pct | Luftfuktighet | % |
pressure_bar | Tryck | bar |
flow_rate_m3h | Flöde | m³/h |
Svar och felkoder
Lyckat svar (200)
{
"success": true,
"count": 2
}Felmeddelanden
| HTTP-status | Betydelse |
|---|---|
401 Unauthorized | API-nyckeln saknas, är ogiltig eller har återkallats. |
400 Bad Request | Ogiltigt payload-format. Feldetaljer returneras i svaret. |
500 Internal Server Error | Internt serverfel – kontakta supporten om felet kvarstår. |
Exempel (cURL)
Verifiera API-nyckel
curl https://app.brfmanager.se/api/webhooks/telemetry/verify \
-H "Authorization: Bearer my-secret-api-key"Skicka mätvärden
curl -X POST https://app.brfmanager.se/api/webhooks/telemetry \
-H "Authorization: Bearer my-secret-api-key" \
-H "Content-Type: application/json" \
-d '{
"readings": [
{
"reading_type": "electricity_kwh",
"value": 4.1,
"unit": "kWh",
"measured_at": "2026-05-29T12:00:00Z"
}
]
}'