Sol og energi

Mitt anlegg

Registrer solcelleanlegget ditt, send inn faktiske produksjonstall (fil eller løpende), og få en prognose tilpasset akkurat ditt anlegg. Vi tolker filen for deg, kontrollerer den mot sola, og kalibrerer prognosen for skygge, tap og vekselretterbegrensning.

Sist oppdatert 2026-10-06 · Markdown · OpenAPI · Prøv i nettleseren: Mitt anlegg på solkart.no

  • POST /api/anlegg
  • GET /api/anlegg
  • GET /api/anlegg/{id}
  • DELETE /api/anlegg/{id}
  • POST /api/anlegg/{id}/produksjon
  • POST /api/anlegg/{id}/produksjon/{opplasting}/bekreft
  • POST /api/anlegg/{id}/produksjon/{opplasting}/avvis
  • GET /api/anlegg/{id}/produksjon
  • POST /api/anlegg/{id}/maalinger

Hva du får

Prognosen fra Solkart regner produksjonen ut fra innstrålingen og anleggets takflater. Det virkelige anlegget avviker alltid litt: skygge fra trær og naboer, tap i kabler og vekselretter, smuss, eller en vekselretter som er mindre enn panelene og kapper toppen. Med Mitt anlegg sender du inn hva anlegget faktisk har produsert, og prognosen for anlegget tilpasses.

  • Last opp en fil i nesten hvilket som helst format — eksport fra vekselretter-appen (Fronius, SolarEdge, Huawei, SMA, APsystems, Enphase …), fra nettselskapet, eller et regneark. SunPoint datatolkning finner ut hvilke kolonner som er tid og produksjon, tidssone, enhet og om det er en tellerstand.
  • Tolkningen kontrolleres mot sola: produksjon om natta, en døgnkurve som topper seg på feil tid, høyere effekt enn anlegget kan gi, eller tall som ser ut som eksport til nettet. Feil tidssone og W lest som kW rettes automatisk og vises åpent.
  • Send tall løpende, typisk én gang i døgnet — som fil i samme format (legges inn uten spørsmål) eller som JSON til /maalinger.
  • Prognosen for anlegget (/api/forecast?anlegg_id=) har både den tilpassede og den opprinnelige produksjonen.

Pilot

Mitt anlegg er i lukket pilot. Under piloten kreves i tillegg headeren X-Anlegg-Beta med tilgangskoden du har fått. Alle kall krever en API-nøkkel; anleggene tilhører nøkkelen.

Personvern: data lagres i EU, kan slettes når som helst, og slettes automatisk etter 365 dager uten bruk. Se personvernerklæringen.

Kom i gang

# 1. Registrer anlegget (samtykke kreves)
curl -X POST https://api.solkart.no/api/anlegg \
  -H "X-API-Key: $SOLKART_API_KEY" -H "X-Anlegg-Beta: $BETA" -H "Content-Type: application/json" \
  -d '{ "navn": "Låvetaket", "latitude": 60.79, "longitude": 11.07, "samtykke": true,
        "flater": [ { "name": "Sør", "kwp": 48, "tilt_deg": 20, "azimuth_deg": 180 } ] }'

# 2. Last opp en eksport (fila som kropp)
curl -X POST "https://api.solkart.no/api/anlegg/anl_…/produksjon?filnavn=eksport.csv" \
  -H "X-API-Key: $SOLKART_API_KEY" -H "X-Anlegg-Beta: $BETA" --data-binary @eksport.csv

# 3. Se tolkningen, og bekreft den
curl -X POST https://api.solkart.no/api/anlegg/anl_…/produksjon/opp_…/bekreft \
  -H "X-API-Key: $SOLKART_API_KEY" -H "X-Anlegg-Beta: $BETA"

# 4. Prognose for anlegget
curl "https://api.solkart.no/api/forecast?anlegg_id=anl_…" -H "X-API-Key: $SOLKART_API_KEY"

POST /api/anlegg: registrer et anlegg

Felt Type Påkrevd Standard Beskrivelse
latitude, longitude tall ja Posisjon i Norge (WGS84). lat/lon godtas også.
flater[] liste ja Én oppføring per takflate: name, kwp, tilt_deg (0–90), azimuth_deg (0–360, 180 = sør). arrays godtas også.
samtykke true ja Bekrefter at du har lest personvernerklæringen og har rett til å laste opp tallene.
navn streng nei «Mitt anlegg»
ytelsesfaktor 0,5–1 nei 0,85 Systemvirkningsgrad (som performance_ratio i prognosen).
privat boolsk nei false Anlegget står på en bolig.

Svar 201 med anlegget og id (anl_…). 400 med code ved manglende samtykke (CONSENT_REQUIRED), koordinater (COORDINATES) eller flater (ARRAYS).

GET /api/anlegg lister anleggene til nøkkelen. GET /api/anlegg/{id} gir anlegget, datagrunnlaget (data.timer, fra, til, kwh_totalt), gjeldende kalibrering og de siste opplastingene.

POST /api/anlegg/{id}/produksjon: last opp en fil

Fila sendes som rå kropp (--data-binary, valgfritt ?filnavn=) eller som multipart/form-data med feltet fil. CSV/TXT/TSV (alle vanlige skilletegn, desimalkomma, UTF-8 eller Windows-1252), Excel (.xlsx, .xls) og JSON (liste med objekter). Maks 10 MB.

Svar 201:

{
  "opplasting_id": "opp_7c1e…",
  "status": "venter",
  "tolkning": {
    "beskrivelse": "Fila er en eksport fra en vekselretter-portal. Tabellen starter på linje 6 …",
    "usikkerheter": ["Viser telleren produksjonen fra hele anlegget, eller bare fra én vekselretter?"],
    "sikkerhet": 0.88,
    "kilde": "SunPoint datatolkning",
    "detaljer": { "tid": { "format": "MMM D, YYYY HH:mm", "tidssone": "UTC", "stempel": "start" },
                  "verdi": { "enhet": "Wh", "storrelse": "teller" }, "intervall_min": 60 }
  },
  "endringer": ["Tidene er flyttet +1 time(r), fordi produksjonen ellers toppet seg på feil tid av døgnet."],
  "kontroll": {
    "status": "ok",
    "funn": [],
    "oppsummering": { "fra": "2026-06-01T00:00:00.000Z", "til": "2026-06-22T00:00:00.000Z",
                      "timer": 504, "kwh_totalt": 742.3, "andel_av_klarvaer": 0.7, "tyngdepunkt_avvik_timer": 0 }
  },
  "forhandsvisning": [ { "dato": "2026-06-01", "malt_kwh": 41.2, "klarvaer_kwh": 58.9 } ]
}
Felt Beskrivelse
tolkning.beskrivelse Hvordan fila er lest, i klartekst.
tolkning.usikkerheter Spørsmål til deg om det som ikke kunne avgjøres fra fila.
tolkning.kilde SunPoint datatolkning, regelbasert (reserve) eller lagret tolkning (samme format som en fil du har bekreftet før).
endringer Rettelser kontrollen gjorde og fant bekreftet, med begrunnelse.
kontroll.status ok, advarsel eller feil. Med feil kan opplastingen ikke bekreftes.
kontroll.funn[] kode, alvor og tekst: natt, tid, topp_hoy, topp_lav, niva_hoy, niva_lav, negative, dekning, ikke_produksjon.
forhandsvisning[] Målt produksjon per døgn mot hva anlegget kan gi i rent klarvær (siste 60 døgn).

Fila lagres ikke som produksjon før den er bekreftet: POST …/produksjon/{opplasting}/bekreft (eller …/avvis). Med ?bekreft=true på opplastingen bekreftes den i samme kall når kontrollen ikke finner feil.

Lagret tolkning

Når du har bekreftet en fil, huskes tolkningen. Neste fil med de samme kolonneoverskriftene tolkes likt, uten AI, og legges inn automatisk (status: "bekreftet", lagt_inn_automatisk: true) — så lenge kontrollen ikke finner feil og ingen rettelser trengs. Daglige eksporter i samme format går altså rett inn.

Samme time sendt på nytt erstatter den gamle verdien, så overlappende filer gir ikke dobbelt telling.

POST /api/anlegg/{id}/maalinger: løpende innsending

For systemer som sender tall jevnlig, typisk én gang i døgnet med døgnets timer. Fast format, ingen tolkning, svar på millisekunder.

curl -X POST https://api.solkart.no/api/anlegg/anl_…/maalinger \
  -H "X-API-Key: $SOLKART_API_KEY" -H "X-Anlegg-Beta: $BETA" -H "Content-Type: application/json" \
  -d '{ "enhet": "kWh",
        "verdier": [ { "tid": "2026-10-06T10:00:00Z", "verdi": 3.21 },
                     { "tid": "2026-10-06T11:00:00Z", "verdi": 4.05 } ] }'
Felt Type Standard Beskrivelse
verdier[] liste påkrevd { "tid", "verdi" } (også time/value) eller [tid, verdi]. Høyst 20 000 per kall.
enhet W, kW, MW, Wh, kWh, MWh kWh
storrelse energi, effekt energi for Wh-enheter, ellers effekt Energi i intervallet, eller gjennomsnittlig effekt.
intervall_min heltall 60 Lengden på hvert intervall. 15-minuttersverdier summeres til timer.
stempel start, slutt start Om tid er starten eller slutten av intervallet.
tidssone UTC, Europe/Oslo, +01:00 UTC Brukes bare for tider uten sone.

Svar 201 med lagret, fra, til. Verdier som ikke kan stemme — mer enn ~1,15 × kWp på en time, eller negative — gir 422 med problemer[], og ingenting lagres. Fra ett døgn med data kjøres også den fulle kontrollen.

Prognose for anlegget

GET /api/forecast?anlegg_id={id} (eller "anlegg_id" i JSON-kroppen) bruker anleggets posisjon og takflater. Alle vanlige parametre virker (daily, snow, nowcast …). I tillegg:

Felt Beskrivelse
pv_timeseries, pv_system Produksjonen tilpasset anlegget (når kalibreringen er i bruk).
pv_timeseries_ukorrigert, pv_system.ukorrigert Den opprinnelige produksjonen, uten tilpasning.
kalibrering brukt, faktor, klipp_kw, metode, forelopig, grunn (i klartekst), oppdatert.
anlegg id og navn.

Med kalibrering=false (spørrestreng eller kropp) er hovedserien den opprinnelige, og den tilpassede utelates.

Kalibreringen

Kalibreringen oppdateres hver natt for anlegg som har fått nye tall (første gang med en gang). Trinn 1, som er i bruk nå:

  • Ytelse fra klare dager. På dager med rent klarvær følger produksjonen klarværsmodellen tett, og forholdet mellom målt og modellert viser om anlegget gir mer eller mindre enn konfigurasjonen sier. Faktoren tilpasses på annenhver klare dag og testes på resten; den brukes bare når avviket er over 10 % og slår den ukorrigerte modellen på testdagene. Krever minst 6 klare dager. Merket forelopig: klarværsmodellen har selv noen prosents usikkerhet.
  • Vekselretterbegrensning. Når toppen flater ut på samme verdi mens sola fortsatt stiger, er vekselretteren mindre enn panelene. Grensen (klipp_kw) legges på prognosen.

Neste trinn bruker den faktiske innstrålingen for de samme timene i stedet for klarvær, og korrigerer for skygge etter solens posisjon.

Slett

DELETE /api/anlegg/{id} sletter anlegget, alle opplastede filer og alle produksjonstall straks. Det kan ikke angres. Anlegg som ikke er brukt på 365 dager, slettes automatisk.

Feil

Status Kode Når
401 API_KEY_REQUIRED Mangler API-nøkkel.
403 BETA Mangler eller feil X-Anlegg-Beta under piloten.
404 Anlegget finnes ikke, eller tilhører en annen nøkkel.
409 FAILED_CHECKS Opplastingen kan ikke bekreftes fordi kontrollen fant feil.
413 Fila er over 10 MB, eller mer enn 20 000 verdier.
422 UNREADABLE, NOT_INTERPRETED, FAILED_CHECKS Fila kunne ikke leses eller tolkes, eller målingene ble avvist.