Skip to content

SigridAndersen/power-hack-2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Power-Hack ⚡⛏️

I de siste tiår har utviklingen i internett og digitale teknologier ført til store omveltninger i flere bransjer. Nå står kraftbransjen midt oppe i denne omveltningen, med de utfordringene og mulighetene det fører med seg. For Elvia er det svært viktig å følge med og være med på denne utviklingen.

Smarte strømmålere representerer et viktig ledd i denne digitaliseringen, og finnes nå i alle norske hjem. Først og fremst er målerne sett på som et verktøy for automatisk avregning og avlesning av strømforbruk, men mulighetene er mye større enn som så.

I dette hackatonet ønsker Elvia og Computas å bli inspirert av studenter, ved å gi dem anledning til å utvikle et produkt eller en løsning, som benytter seg av data fra smarte strømmålere.

Dere velger selv hvilken målgruppe produktet/løsningen skal være for. Dette kan f.eks. være forbrukere, nettselskaper eller strømselskaper.

Datakilder

Dere skal lage et produkt eller en løsning som drar nytte av data fra de nye AMS-målerne. Dere står fritt til å kombinere data fra AMS-målere med andre datakilder.

API for AMS-målere

De nye AMS-målerne registrerer og innrapporterer strømforbruket ditt til nettselskapet, helt ned på timenivå. Via et API kan du få tilgang til (nesten) ekte data fra et utvalg av målerne i Elvia. Her kan du få en liste av tilgjengelige målere og diverse info om dem. Hver av målerne har en ID (meteringpointId), som man kan bruke til å hente ut historiske timesmålinger fra April 2019 fram til August 2021.

API'et er beskrevet her i Swagger UI. Her kan man teste ut API'et, se hvilke endepunkter som er tilgjenelig, hva slags inpput parametre som forventes, og hvordan datamodellen ser ut. Ta en titt på seksjonen "Kort om bruk av Swagger UI", hvis du lurer mer på hvordan man bruker Swagger UI.

HAN-port og SignalR

De nye AMS-målerne har også en HAN-port, som man kan be om å få åpnet. Data herfra kan for eksempel brukes til å optimalisere smarthjem løsninger eller overvåke ditt eget strømforbruk gir. Når porten er åpnet får du tilgang til forbruksdata og detaljert informasjon om blandt annet strømforbruk i sanntid (real time) og strømforbruket siste timen.

For å simulere HAN-porten til strømmålerne, tilbyr API'et også et SignalR-endepunkt, som hvert andre sekund sender ut verdier om

  • Forbruk i øyeblikket (Watt)
  • Forbruk så langt siden siste timeskift (kwh)
  • Tid for målingen
  • MålepunktsId

Her er eksempel for hvordan man kan koble seg til signalR-streamen C#:

using System;
using System.Threading;
using Microsoft.AspNetCore.SignalR.Client;

var hubConnection = new HubConnectionBuilder()
    .WithUrl("https://power-hack.azurewebsites.net/liveMeasurement")
    .Build();

await hubConnection.StartAsync();

// Replace <MeteringpointId>
var stream = hubConnection.StreamAsync<object>("Subscribe", <MeteringpointId>);

await foreach (var liveMeasurement in stream)
{
    Console.WriteLine(liveMeasurement);
}

Og i javascript:

const signalR = require("@microsoft/signalr")

const connection = new signalR.HubConnectionBuilder()
    .withUrl("https://power-hack.azurewebsites.net/liveMeasurement")
    .configureLogging(signalR.LogLevel.Information)
    .build();

async function start() {
    try {
        await connection.start();
        console.log("SignalR Connected.");

        // Replace <MeteringpointId>
        connection.stream("Subscribe", <MeteringpointId>).subscribe({
            next: (item) => console.log(item),
            complete: () => console.log("stream completed"),
            error: (err) => console.log(err)
        })
    } catch (err) {
        console.log(err);
        setTimeout(start, 5000);
    }
};

start()

Andre datakilder og nyttige linker

Under er en samling nyttige lenker, og andre datakilder, man kan kombinere med dataene fra AMS-måler API'et:

Kort om strømmålere og målepunkter

I dette caset, har vi valgt å fokusere på data fra de nye AMS-målerne. Dette er automatiske strømmålere som står utplassert hos alle kundene til Elvia, og de andre nettselskapene i Norge.

AMS-målerne sender automatisk inn målerstanden til Elvia, på faste tidspunkt. Målerstanden viser hvor mye strøm som er blitt brukt (eller produsert), siden måleren ble installert. Basert på flere målerstander, kan man regne ut et volum, som forteller oss hvor mye strøm som har blitt brukt i en spesiell tidsperiode. Hvis f.eks. målerstanden var på 2 kWh (kilowattimer) for 24 timer siden, og den er 3 kWh nå, vet vi at det er brukt 3 - 2 = 1 kWh det siste døgnet. Vi har valgt å gi dere ferdig beregnede volumer i API'et vi stiller med.

Strømmålere fra Aidon

Hvor ofte AMS-målerne sender inn målerstander, er styrt via konfigurasjon på hver måler. Ofte er det flere forskjellige konfigurasjoner, avhengig av hva standene, og de beregnede volumene, skal brukes til. I vårt eksempel er denne konfigurasjonen satt opp under leveranseprofil (delivery profile).

Målepunkter

Over tid, blir gjerne måleren byttet flere ganger. Det kan være at man fikk installert en automatisk avlest måler, at en gammel måler ble ødelagt, eller at man har oppgradert el-anlegget på en måte som gjør at man trenger en annen måler. For å vise at alle målerne var installert samme sted, jobber man derfor ofte med målepunkter i stede for selve målerne. Et målepunkt er med andre ord et sted hvor en måler er installert.

Ved å se på målepunktet, kan man få mer informasjon om stedet måleren er installert. I API'et med målere og historisk strømforbruk for disse, har vi blant annet tatt med hvor målepunktet er plassert (latitude/longitude), og hvilke type kunde som er knyttet til målepunktet (consumptionCode/businessSector).

Kort om bruk av Swagger UI

Swagger UI er et verktøy som lar utviklere utforske API i nettleseren. Verktøyet lar utviklere teste ut forskjellige kall mot API'et, og utforske dataene som API'et returnerer.

Animasjon som viser hvordan man bruker Swagger UI for å hente data fra et API

I tillegg viser Swagger UI dokumentasjon av de forskjellige datatypene API'et returnerer. Man kan f.eks. få oversikt over hva ulike datafelter betyr, hvilke type verdier de inneholder, og mye mer. Det kan være verdt å bruke litt tid på å se på dataene i Swagger UI, når man vurderer hvilket type løsning man skal lage.

Animasjon som viser hvordan man bruker Swagger UI for å dokumentasjon om et API

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published