Sådan beslutter GridZeno.
GridZeno lægger en plan for mindst det næste døgn og tager ét valg for hvert kvarter. Her er, hvordan den beslutter, hvad batteriet gør, hvem der vinder, når to ting er uenige, og hvordan det testes.
Beslutningskæden
For hvert kvarter tjekker GridZeno de samme ting i samme rækkefølge: først sikkerheden og dine egne grænser, og til sidst, hvad der bedst kan betale sig.
GridZeno deler døgnet op i kvarterer, altså perioder på 15 minutter, og lægger en plan for hvert af dem. Det er den opløsning, det danske elmarked prissætter i. Planen rækker resten af i dag og frem til middag i morgen, og altid mindst 24 timer. Med Pro og "Planlæg hele morgendagen med" rækker den hele morgendagen med, så snart morgendagens priser er ude.
Planen regnes om hver time med Pro, hver 3. time med Smart og én gang i døgnet med Light. Derudover regnes den om med det samme, når morgendagens elpriser kommer, når du ændrer en indstilling, og når donglen finder en ændring på anlægget, fx et batteri mere.
Der er ét lag, der træffer den endelige beslutning. Så kan to dele af systemet aldrig ændre inverterens salgsgrænse eller batteriets tilstand hver for sig og modsige hinanden.
- 1InputMålinger fra anlægget, elpriser, vejr
- 2PrognoseForventet sol og forbrug kvarter for kvarter
- 3Hårde grænserBatteriets og inverterens egne
- 4Dine kravMinimum, maksimum og dine egne regler
- 5StrategiDen strategi, du har valgt: Balanceret, Maksimér egenforbrug, Bevar batteriet eller Maksimér besparelse
- 6ØkonomiHvad der bedst kan betale sig inden for alt ovenstående
- 7BeslutningÉt valg pr. kvarter, med en begrundelse
- 8Til inverterenDonglen udfører planen lokalt
Det, donglen gør på inverteren
Hvert kvarter i planen ender som én af fire handlinger med batteriet og en grænse for, hvor meget der må sælges:
- Normal drift
- Inverteren kører, som den plejer: solen dækker huset, overskud går i batteriet, og batteriet dækker forbruget, når solen ikke rækker.
- Oplad fra nettet
- Batteriet lades fra nettet op til en bestemt ladestand og står derefter stille resten af blokken, mens huset køber sin strøm.
- Hold batteriet
- Batteriet står stille, mens huset køber billig strøm, så energien er der, når strømmen bliver dyr senere.
- Sælg fra batteriet
- Batteriet aflades og sender strøm ud på nettet i de bedst betalte kvarterer.
- Begræns salget
- Inverterens salgsgrænse sættes for hvert kvarter efter dine valg for salg, fx Stop salg ved negative priser. Vores test viser, at vi kan begrænse salget fra 2,76 kW til 0 på 16 sekunder.
En algoritme med faste regler
Dit anlæg styres af faste regler og matematik, som du kan følge kvarter for kvarter.
GridZeno bruger ikke kunstig intelligens til at styre dit anlæg. Planen lægges af en matematisk algoritme: faste regler i en fast rækkefølge, der regner på priser, prognoser og dine grænser. Samme udgangspunkt giver altid samme plan, og hver beslutning kan føres tilbage til den regel, der traf den.
En AI-model kan finde på noget, ingen har forudset, og bagefter kan ingen sige præcist hvorfor. Når det gælder et batteri og en inverter i dit hjem, skal du kunne se, hvad der sker, og hvorfor.
Hvem vinder, når to ting er uenige
Alle regler er rangordnet, og rækkefølgen er fast. En regel længere nede kan aldrig tilsidesætte en længere oppe.
Rangordenen gør styringen forudsigelig. Når du har sat to indstillinger, der peger i hver sin retning, findes der ét svar på, hvem der vinder, og det svar er det samme hver gang.
- 1SikkerhedBatteriets og inverterens egne tekniske grænser, BMS-begrænsninger og kommunikationsfejl.Kan aldrig tilsidesættes
- 2Dine absolutte grænserSælg aldrig, minimum og maksimum ladestand. Hårde lofter og gulve.Slår alt nedenunder
- 3Dine egne reglerFx "batteriet skal være fuldt kl. 18". GridZeno finder den billigste vej derhen.Må ikke bryde 1 og 2
- 4Regler for salgStop salg ved negative priser, inverterens salgsgrænse og start af salget igen.
- 5Dynamiske grænserBeregnede effektive grænser, hvis du har slået dem til.
- 6Din strategiDen strategi, du har valgt: Balanceret, Maksimér egenforbrug, Bevar batteriet eller Maksimér besparelse.
- 7ØkonomiKøb billigt, sælg dyrt, men kun inden for alt ovenstående.Taber altid en konflikt
Du har sat en regel om, at batteriet skal være fuldt kl. 18, og du har sat minimum ladestand til 30 %. Midt på dagen bliver strømmen meget billig.
GridZeno lader gerne op for at nå dit mål kl. 18, men bryder ikke dit minimum på 30 % undervejs for at gøre det billigere og overskrider under ingen omstændigheder batteriets egne tekniske grænser. Kan målet ikke nås inden for de rammer, siger planen det ligeud i stedet for at lade som om.
De fire strategier
Strategien er de rammer, resten af styringen arbejder indenfor.
- Balanceret
- Standardvalget. Bruger solen i huset, gemmer overskud, sælger resten og bruger batteriet til at undgå dyr import. Kan holde batteriet til en dyrere time. Med Pro lader den også fra nettet, når det kan betale sig, og sælger fra batteriet, når salgsprisen er over din grænse.
- Maksimér egenforbrug
- Bruger mest muligt af din egen strøm selv. Sælger aldrig batteriet for profit, holder det aldrig tilbage og lader ikke fra nettet for at gemme billig strøm. To undtagelser: negative elpriser, og en regel du selv har skrevet.
- Bevar batteriet
- Færre cyklusser og en højere reserve, for at skåne batteriet. Intet salg fra batteriet, og det lades kun fra nettet ved negative elpriser eller for en regel, du selv har skrevet. Reserven ligger 10 procentpoint over dit eget minimum og skrives til inverteren, så den også holder, hvis donglen mister strømmen.
- Maksimér besparelse
- Den mest økonomisk aggressive. Kræver Pro. Som Balanceret, og derudover køber den billig strøm for at sælge den dyrt senere, men kun når hele planen bliver mindst 0,25 kr. billigere af det.
Hvad en strategi må, afhænger også af abonnementet. Automatisk styring kræver Smart eller Pro. Med Smart lader batteriet kun fra nettet ved negative elpriser, og der sælges ikke fra batteriet.
Hvad den regner på
En plan er kun så god som det, den bygger på.
- Priser
- Rigtige danske day-ahead-priser fra Energinet i 15-minutters opløsning. Købsprisen er spotpris plus din elleverandørs tillæg, lokal nettarif, Energinets system- og transmissionstarif og elafgift, alt med moms. Salgsprisen er spotprisen minus indfødningstarif, balancetarif og handelsgebyr. Hvert kvarter regnes med de tariffer, der gjaldt da. Formlen er kontrolleret time for time mod en uafhængig beregning.
- Vejr
- Flere uafhængige vejrkilder. Systemet måler, hvilken kilde der har ramt den faktiske produktion bedst, og bruger den først. Svarer en kilde ikke, bruges dens seneste gode prognose fra de sidste 6 timer.
- Solproduktion
- Rigtig solcellefysik pr. panelstreng. Et anlæg med paneler mod både øst og vest får den brede dobbelttop, det faktisk producerer, ikke en gennemsnitsvinkel der ikke findes.
- Dagens egen sol
- Ud fra donglens målinger regner GridZeno ud, hvor stor en del af solen i klart vejr panelerne har givet den seneste time, og retter resten af dagen efter det, mindre jo længere frem. Så lader planen fra nettet, når solen ikke når at fylde batteriet, i stedet for at vente på sol, der ikke kommer. Står batteriet fuldt, og intet sælges, bruges målingen ikke, fordi inverteren så selv har skruet ned for solen.
- Forbrug
- Anlæggets eget målte forbrug, plus det du har oplyst under Udstyr i hjemmet: husstanden, elbil, varmepumpe, elvarme, pool og andet. Varmen regnes efter dagens temperatur.
- Batteriet
- Kapaciteten kommer fra batteriets egen styring (BMS) og rettes efter det, batteriet faktisk har taget og givet de seneste 14 dage. Mærkeeffekten læses fra inverteren. Intet af det kommer fra en database, nogen har tastet i.
Når noget går galt
Når data mangler, eller noget fejler, holder GridZeno igen.
Grænserne håndhæves to steder
Dine grænser for ladestand skrives til inverterens egne cut-off-registre, og de kontrolleres igen før hver eneste kommando. Registeret er den rigtige beskyttelse: det overlever, at donglen mister strøm.
Mangler der data, gætter GridZeno ikke
Mangler der oplysninger, går GridZeno i sikker tilstand frem for at gætte: er batterimålingen eller solprognosen for gammel, eller mangler der rigtige priser for de næste 12 timer, køber og sælger planen ikke strøm for at tjene på prisen. Før morgendagens priser er ude, regner planen med en anslået pris for de kvarterer, ud fra den seneste dag med priser. Den bruges kun til at vurdere, hvad strømmen i batteriet er værd. Der købes og sælges aldrig i et kvarter uden en rigtig pris. Forsvinder forbindelsen til inverteren, stoppes nye kommandoer. Alle data bærer tidsstempel, og forældede data behandles ikke som aktuelle.
Donglen finder altid tilbage
Et salg fra batteriet er tidsbegrænset i selve inverteren og udløber af sig selv. Opladning fra nettet og hold bruger inverterens egne driftstilstande, som ikke udløber af sig selv. Derfor gemmer donglen inverterens oprindelige indstilling, før den skifter første gang, og sætter den tilbage, når blokken er slut, eller når donglen starter igen efter et strømsvigt. Står inverteren i en tilstand, du eller din installatør selv har valgt, rører donglen den ikke.
Ingen skrivning i en tilstand, vi ikke kender
Salgsgrænsen skrives kun, når inverterens måleropsætning er en af dem, vi kender. Står inverteren på sin interne måler, skrives kun selve grænsen og aldrig opsætningen, og skifter du til manuel, får inverteren sin egen grænse tilbage. Er opsætningen noget andet, lader donglen den være, frem for at risikere at overskrive din installatørs opsætning.
Donglen tjekker, at inverteren gjorde det
Efter en opladning fra nettet, et hold og et salg holder donglen batteriets målte effekt op mod det, den bad om, tre gange med 15 sekunders mellemrum. Gør inverteren ikke, som den blev bedt om, får vi besked. Inverterens eget register for den modtagne kommando bruges ikke til det: det viser kun, hvad der blev skrevet, ikke hvad batteriet gør.
Ingen frem-og-tilbage
GridZeno skifter ikke tilstand på småbevægelser i prisen. Der er indbygget hysterese og minimumskøretider, netop for at undgå, at anlægget bliver ved med at skifte mellem lad og vent, fordi prisen ligger og vipper om en tærskel. På et døgn bygget til at provokere den slags reducerede det antallet af skrivninger til inverteren med omkring 80 %.
Hver beslutning kan forklares
Spørgsmålet "Hvorfor ladede den op kl. 03.00?" kan besvares med et opslag i planen.
Hver eneste beslutning gemmes med alt, der lå bag den: tidspunkt, strategi, ladestand, alle grænser, aktuel og forventet produktion, aktuelt og forventet forbrug, priser nu og frem, salgsgrænse før og efter, hvilke af dine regler der var aktive, og en kort årsagskode.
Mangler der data, markeres planen desuden med hvad: en ladestand, der er for gammel, en solprognose, der er for gammel, eller for få kendte priser.
I appen og webappen kan du trykke på en blok i planen og se, hvorfor den blev valgt, også for de blokke, der allerede er sket.
Den samme mekanik gør noget mere: den gør det muligt at tage en periode, der allerede er sket, og spørge, hvad en anden strategi ville have gjort med nøjagtig samme vejr, forbrug og priser, og sammenligne omkostning, køb, salg, batterislid og gennemsnitlig ladestand direkte. Det kan du også selv: under Plantester i webappen tager du en afsluttet dag, op til 31 dage tilbage, og ser, hvad planen ville have gjort med andre indstillinger.
Hvordan den testes
Fire niveauer. En strategi regnes først for færdig, når den har været gennem alle fire.
- 1EnhedstestsHver regel for sigOver 2.400 automatiske tests
- 2KonflikttestsHvem vinder, når to peger hver sin vejIndstillinger mod hinanden
- 3ReplaySamme vejr, forbrug og priser, andre valg11 konstruerede døgn × 4 strategier
- 4LiveAlle abonnementer og alle mulige regler gennemgås på et rigtigt anlæg med rigtig hardwareMindst 48 sammenhængende timer
De elleve replay-døgn er bygget til at ramme det, der plejer at gå galt: en almindelig sommerdag, en vinterdag, negative elpriser, morgen- og aftenspids, en forkert prognose, uventet højt forbrug, fuldt batteri med salgspris under nul, en brugerregel med deadline, en inverter der går offline, et prisfeed der stopper, og et døgn bygget til at provokere frem-og-tilbage-skift.
Alle elleve køres gennem alle fire strategier og måles mod faste godkendelseskriterier: nul overskridelser af ladegrænser, nul salg uden tilladelse, nul beslutninger uden begrundelse.
Før en ny version tages i brug, kører en regressionsport: alle elleve døgn gennem alle fire strategier, over 4.000 kvarterer, og den stopper ved en eneste overskridelse. Hver rettelse måles desuden mod et teoretisk bedste resultat, beregnet som om man kendte fremtidens priser, sol og forbrug på forhånd. Det viser, hvor meget der er tilbage at hente, og om en ændring faktisk flytter noget.
Der findes desuden en skyggetilstand, hvor GridZeno beregner alle beslutninger uden at sende dem videre. Så kan en ny algoritme måles mod en rigtig dag, der allerede er sket, før den får lov at styre noget. Styringen er versioneret, og enhver live-test gemmer hvilken version, konfiguration og prognose der lå bag. Ellers kan et resultat ikke gentages bagefter.
Det arbejder vi på
Styringen bliver ved med at blive bedre. Det her er de næste skridt.
Bedre prognoser
En plan er kun så god som det, den regner på, og prognoserne kan altid blive bedre. Vi arbejder løbende på modellerne for solproduktion, forbrug, køb og salg, målt mod det, anlæggene faktisk gør.
Længere udsigt
Planen rækker i dag mindst et døgn frem. Vi arbejder på en bedre vurdering af dagene derefter, så en beslutning i dag også tager højde for vejret og priserne længere fremme.
Styring fra Home Assistant
Home Assistant taler direkte med donglen på dit netværk og kan på alle abonnementer læse målingerne og planen. Styrer du selv, kan den lade fra nettet, holde batteriet, sælge fra batteriet og begrænse salget, hver i højst 12 timer og inden for dine egne grænser, gennem de samme sikkerhedsgrænser som styringen. Når GridZeno styrer automatisk, kan Home Assistant kun læse, så to systemer aldrig skriver til inverteren på samme tid. Se guiden til Home Assistant.
Klar til billigere
strøm?
Tjek, om din inverter passer, og lad planen lade batteriet og sælge strøm i de rigtige kvarterer.