Energi · teknologi · udvikling

Howard
EnergyLab

Fra målinger og virtuelle forsøg til bedre styring af energien.

Jeg samler solceller, husbatteri og elbil i ét system. Jeg tester først på virtuelt udstyr og undersøger derefter, hvad der virker på det rigtige anlæg.

Status i projektet

Dokumenteret
Min dongle er taget i brug og leverer lokale målinger til energiflowet på web og mobil. Det første normale, automatiske ladeforløb for husbatteriet er også dokumenteret, med kendte begrænsninger.
Testet virtuelt
Kontakt med inverteren, bilopladning og nedsat ladestrøm, når en af husets el-faser belastes for meget.
Næste milepæl
Kontrollere under normal drift, at bilens forvarmning ikke alene afbryder husbatteriets opladning.

Status pr. 20. oktober 2026 · Automatisk styring af den rigtige bil er slået fra.

The Art of Howard · Oktober 2026 · Projekt under udvikling
Se, hvor strømmen kommer fra, og hvor den bruges. API-Butler leverer målingerne; deres tidspunkter vises i figuren. Åbn stort energioverblik
01 / Forstå målingerne

Min lille aflæsningsenhed henter oplysninger fra inverteren, så systemets dele kan bruge de samme målinger.

02 / Afprøv beslutningerne

To virtuelle testanlæg undersøger kommunikationen med udstyret og planerne for energien.

03 / Dokumentér virkningen

API-Butler udfører godkendte handlinger. Energi Agent viser planen og det, målingerne bekræfter.

Udforsk Howard EnergyLab

Måling, plan og opfølgning.

Se energien i hjemmet, eller læs om de forskellige dele, der forbinder data med beslutninger.

Hvorfor bygge sin egen energistyring?

Solceller, husbatteri og elbil burde kunne arbejde godt sammen. Inverteren er den enhed, der omformer strømmen og forbinder solceller og batteri med husets elinstallation. Men producenterne bruger forskellige apps, tjenester på nettet og måder at udveksle oplysninger på. Udstyret kan derfor fungere godt hver for sig uden at samarbejde eller udnytte energien bedst muligt.

Samtidig er mange kommercielle løsninger forbundet med abonnementer, begrænsede funktioner eller afhængighed af producenternes systemer. Derfor har jeg valgt at bygge min egen løsning.

Jeg vil selv bestemme, hvordan data indsamles, hvordan energistyringen beregnes, og hvilke handlinger systemet må udføre.

Projektet består af flere sammenhængende dele:

  • Min egen aflæsningsenhed, kaldet en dongle, som allerede læser oplysninger direkte fra min inverter og leverer dem til energiflowet.
  • InverterLab, et virtuelt testanlæg, der efterligner en inverter og dens måde at udveksle oplysninger på (Modbus).
  • En separat simulator til energistyring, hvor jeg afprøver økonomien i batteribrug, bilopladning og belastningen af elinstallationen.
  • Energi Agent, siden på computer og mobil, hvor jeg ser målinger, planer og forklaringer.
  • AI-Hub, som giver adgang til den kunstige intelligens, der hjælper med at forklare og efterprøve resultater.
  • API-Butler, som samler data, udfører beregninger og håndterer godkendt styring.

Jeg bygger altså ikke bare endnu en app, der viser, hvor meget strøm jeg bruger. Jeg bygger en platform, der skal hjælpe mig med at træffe bedre beslutninger om energi – og dokumentere, om de faktisk virker.

Min egen aflæsningsenhed – direkte kontakt med inverteren

Growatt Lab viser donglens aflæsninger. Registerstyringen er låst; serienummeret er skjult.
Growatt Lab viser donglens aflæsninger. Registerstyringen er låst; serienummeret er skjult. Screenshot · 20. oktober 2026

Min egen dongle er taget i brug på min Growatt SPH3600 hybridinverter. Den læser lokale målinger af solproduktion, husets strømforbrug, batteri og elnet og leverer dem til systemets fælles datagrundlag. Energiflowet på web og mobil bruger allerede disse målinger, når de er gyldige og tilstrækkeligt nye. Normalt sender producentens datalogger målingerne til en tjeneste på nettet, hvor anlægget kan følges.

Jeg læser nu oplysningerne direkte ved anlægget. Det giver hyppigere opdateringer til energiflowet og gør visningen mindre afhængig af producentens tjeneste. Min dongle bruger Wi-Fi til mit lokale netværk og et RS485-kabel til inverteren.

Flere detaljer: Donglens forbindelse og målinger

Donglen bygger på en ESP32, en lille programmerbar computer. For at læse inverterens oplysninger skal jeg kende reglerne for forbindelsen og vide, hvor hver værdi findes og hvad den betyder.

Inverteren gemmer oplysninger på bestemte adresser, kaldet registre. Et tal herfra er ikke nyttigt, før jeg ved, om det betyder watt, procent, spænding eller en bestemt tilstand. Derfor læser jeg dokumentation, undersøger enhedens indbyggede software (firmware) og tester systematisk.

Værdierne aflæses efter hinanden og er ikke et præcist samtidigt øjebliksbillede. Derfor viser energiflowet også oplysningernes alder og tidsusikkerhed.

Den nuværende dongle: aflæsning uden styring

I brug nu: Min dongle læser lokale målinger. Den nuværende udgave kan ikke ændre inverterens indstillinger.

Indstillinger i dag: Jeg bruger API-Butler til at sende godkendte ændringer gennem Growatts tjeneste på nettet, eksempelvis husbatteriets ladeperioder. Før donglen hentede jeg også målingerne ad den vej. Growatt kan stadig bruges som reserve til energiflowet.

Næste opdatering: Planen er, at donglen også skal kunne ændre indstillinger direkte på inverteren. Den funktion skal udvikles, testes og efterprøves på mit eget udstyr, før jeg tager den i brug.

Det er en vigtig afgrænsning, fordi inverteren er forbundet med både husets elinstallation og batterisystem. Jeg skal kunne forstå og efterprøve softwarens funktion, inden jeg giver den yderligere ansvar. Og her spiller InverterLab en central rolle.

InverterLab – et virtuelt testanlæg

InverterLabs simulerede SPH3600-display. Solproduktionen går til huset og batteriet. Batterispændingen er en fast testværdi.
InverterLabs simulerede SPH3600-display. Solproduktionen går til huset og batteriet. Batterispændingen er en fast testværdi. Screenshot · 20. oktober 2026

Hvordan tester man kommunikation med en inverter uden at skulle eksperimentere på det rigtige energianlæg? Man bygger en simulator.

Det er tanken bag InverterLab.

InverterLab er mere end en idé eller en side med grafer. Jeg har bygget en model, der beregner energiens bevægelse, og et testbord, jeg kan følge i browseren. Andre programmer kan tale med modellen gennem Modbus, den kommunikationsform jeg tester. Modellen efterligner centrale dele af en Growatt SPH3600.

Jeg kan ændre solproduktionen og husets forbrug og derefter se, hvordan energien fordeler sig mellem huset, batteriet og elnettet. Batteriets niveau ændrer sig, efterhånden som modellen oplader eller aflader batteriet. Samtidig kan et eksternt program kommunikere med simulatoren, som om den var en inverter.

Det gør det muligt at teste både energimodellen og selve kommunikationen.

Tekniske detaljer: Test af enhedens software og måledata

En konkret milepæl: Min dongle-firmware læste InverterLab korrekt

Den 17. oktober 2026 gennemførte jeg en vigtig test. Jeg afprøvede min egen dongle-firmware, version 0.12.3, direkte mod InverterLab. Det særlige var, at jeg anvendte firmwarekoden uden at ændre dens almindelige aflæsningslogik.

Koden blev kompileret til at køre på en Mac, hvor virtuelle adaptere erstattede de hardwarefunktioner, der normalt ville være tilgængelige på donglens ESP32. Det betyder, at jeg kunne afprøve klientens reelle kode uden at forbinde en fysisk dongle til inverteren. Det var ikke en fuldstændig emulering af ESP32-processoren, men en test af den faktiske firmwarekode i et kontrolleret miljø.

Og testen afslørede fejl, som jeg ellers kunne have brugt lang tid på at lede efter.

Første forsøg mislykkedes

I første omgang afviste klienten simulatoren. Årsagen var, at simulatorens identitet ikke svarede til det, klienten forventede. Jeg rettede simulatorens testidentitet, men bevarede klientens identitetskontrol.

Det var vigtigt. Jeg ønskede ikke at få testen til at bestå ved at fjerne en kontrolfunktion. Jeg ønskede, at simulatoren skulle give de korrekte svar.

Derefter opdagede jeg næste mangel. Simulatoren manglede nogle versionsregistre, som firmwaren forventede at kunne læse. Jeg tilføjede de dokumenterede registerværdier og justerede fortolkningen af batteriprocent, så den anvendte den relevante lithiumbatterigren.

Efter disse rettelser begyndte klienten at læse både batteriprocent og energiflow korrekt. Det er netop den slags resultater, en simulator skal kunne levere. Den hjælper mig med at finde fejl i min forståelse af kommunikationen, inden jeg arbejder videre med fysisk hardware.

Tekniske detaljer: Fire energiforløb og kontrol af måledata

Jeg testede energiflowet i fire forskellige situationer

For at kontrollere, om firmware og simulator fortolkede energien ens, opstillede jeg flere konkrete scenarier.

Scenarie 1 – Solen producerer mere, end huset bruger

EnergikildeEffekt
Solproduktion2.800 W
Husforbrug900 W
Batteriopladning1.900 W
Netudveksling0 W

Her skulle overskudsproduktionen gå til batteriet. Klientens målinger stemte med energimodellen.

Scenarie 2 – Batteriet forsyner huset

EnergikildeEffekt
Solproduktion0 W
Husforbrug1.800 W
Batteriafladning1.800 W
Netudveksling0 W

Her leverede batteriet hele husets forbrug.

Scenarie 3 – Batteriet kan ikke dække hele forbruget

EnergikildeEffekt
Solproduktion0 W
Husforbrug4.200 W
Batteriafladning3.000 W
Netimport1.200 W

Batteriet leverede det maksimale, jeg havde fastsat i modellen, og resten blev hentet fra elnettet. Grænsen på 3.000 watt var en simulationsindstilling, ikke en universel fysisk grænse for invertere eller batterier.

Scenarie 4 – Batteriet oplades, og overskuddet eksporteres

EnergikildeEffekt
Solproduktion3.600 W
Husforbrug200 W
Batteriopladning3.000 W
Eksport til elnettet400 W

Her skulle modellen både oplade batteriet og sende overskydende energi til elnettet. Også her stemte klientens aflæsninger med de forventede værdier.

44 registerlæsninger uden fejl

I det sidste testforløb gennemførte klienten 44 registerlæsninger. De var fordelt på identitetskontrol og seks komplette målerunder. Resultatet var:

  • Ingen registerlæsefejl.
  • Ingen registerskrivninger.
  • Korrekt fortolkning af solproduktion og husforbrug.
  • Korrekt fortolkning af batteriets opladning og afladning.
  • Korrekt fortolkning af netimport og eksport.
  • Ingen fortsatte forespørgsler efter stop.

Jeg kontrollerede også, at modellens batteriprocent faldt under afladning og steg under opladning, og at klienten modtog den som hele procenttal. Desuden bestod 59 simulatortests ved tilføjelsen af versionsregistrene. Jeg kontrollerede, at firmwarekilderne, den eksisterende firmware-binær og host-testprogrammet var uændrede før og efter testforløbet.

Det er to forskellige testresultater: 59 beståede simulatortests og 44 registerlæsninger i det konkrete klientforløb.

Hvad har jeg så bevist?

Jeg har dokumenteret, at min firmwarekode kan kommunikere med InverterLabs SPH3600-model og fortolke de opstillede scenarier korrekt. Det giver mig et genbrugeligt værktøj til at opdage fejl i registeradresser, skalering og energiretning. Men testen dokumenterer ikke fysisk RS485-timing, den virkelige inverters reguleringsadfærd eller batteriets fulde interne styring.

Eksempelvis anvender modellen en fast batterispænding som testværdi og ikke en fysisk valideret spændingskurve. Jeg kalder derfor ikke InverterLab en fuldt fysisk valideret digital tvilling. Det er en simulator med dokumenterede funktioner og kendte begrænsninger.

Og netop fordi jeg kender begrænsningerne, kan jeg bruge den fornuftigt.

Et testbord, hvor jeg kan se systemet arbejde

Det eksisterende InverterLab-testbord med virtuel forsøgsbænk. Simulatoren stod på pause ved denne optagelse.
Det eksisterende InverterLab-testbord med virtuel forsøgsbænk. Simulatoren stod på pause ved denne optagelse. Screenshot · 20. oktober 2026

InverterLab har også fået et webbaseret testbord. Det giver mulighed for at følge energimodellen visuelt, mens jeg arbejder med forskellige scenarier. Testbordet understøtter adskilte udgaver af simulatoren med hver deres testværdier.

Det betyder, at forskellige forsøg ikke behøver at påvirke hinanden. Når det er relevant, kan jeg se automatiserede test på skærmen og følge energiflowets ændringer. Andre kontroller kan køre i baggrunden.

Jeg starter testforløb, når der er noget konkret, jeg ønsker at undersøge, frem for at lade unødvendige test køre konstant. Jeg anvender manualer, registerdokumentation og afgrænset firmwareanalyse til at gøre modellerne mere præcise. Ukendte funktioner skal fortsat stå som ukendte.

Jeg vil hellere have en model, der er dokumenteret inden for et afgrænset område, end en simulator, der foregiver at kunne efterligne alt.

En separat simulator undersøger økonomi og energistyring

Årssimulation med 10 og 20 procent antaget batteritab. Besparelserne er modellerede, ikke målte. Forbrugsprofiler, bilmønster og senere aflæste tariffer indgår som forudsætninger.
Årssimulation med 10 og 20 procent antaget batteritab. Besparelserne er modellerede, ikke målte. Forbrugsprofiler, bilmønster og senere aflæste tariffer indgår som forudsætninger. Screenshot · 20. oktober 2026

Ved siden af InverterLab har jeg en anden simulator – et program, hvor jeg kan afprøve energiplaner uden at ændre det rigtige anlæg. Den beskæftiger sig ikke primært med inverterens interne adresser med måledata, men med økonomien og valget af energiplaner. Her kan jeg afprøve forskellige måder at bruge batteriet på, bilopladning og situationer, hvor husets el-faser belastes forskelligt.

Jeg har blandt andet gennemført årssimuleringer adskilt fra det rigtige anlæg med udgangspunkt i 2025. Her sammenlignede jeg forskellige batteristrategier med antagelser om 10 og 20 procent batteritab. Formålet var at undersøge, hvordan økonomien påvirkes af elpriser, tab, forbrug og forskellige ladeplaner.

Hvor historiske oplysninger ikke var tilstrækkelige, anvendte jeg beregnede mønstre for, hvornår og hvor meget strøm der bruges. Det gør simuleringerne velegnede til at sammenligne scenarier, men det er ikke det samme som fuldstændige historiske målinger. Derudover skal jeg undgå at bruge kendskab til årets faktiske vejr som bevis for, hvad en prognosebaseret styring realistisk kunne have forudsagt.

En simulator kan vise muligheder. Den kan ikke i sig selv bevise fremtidige besparelser.

API-Butler – samler oplysninger og styrer anlægget

API-Butler samler målinger og automatikstatus. Til er en tilladelse og er ikke i sig selv bevis for opladning.
API-Butler samler målinger og automatikstatus. At styringen er slået til, betyder, at den har tilladelse til at arbejde. Det beviser ikke, at batteriet lader. Screenshot · 20. oktober 2026

API-Butler er den centrale platform i min energistyring. Den samler målinger, beregner økonomi, udarbejder planer og håndterer godkendte automatiske handlinger. Det er vigtigt at forstå, at API-Butler ikke blot videresender kommandoer fra en AI.

De økonomiske beregninger og sikkerhedsregler ligger i almindelig software. API-Butler håndterer også udførelsen, afslutningen og oprydningen efter midlertidige styringshandlinger. På den måde er ansvaret samlet ét sted.

Én beregning – flere måder at forstå den på

En vigtig forbedring har været at sikre en fælles beregning af planen og dens økonomi. Jeg ønsker ikke, at webappen, mobilappen og AI'en hver især beregner deres egen version af virkeligheden. Derfor skal de anvende de samme centrale oplysninger.

API-Butler samler målingerne og udfører beregningerne. Solprognosen bidrager med forventet produktion, mens Ladeanalyse, elpriser og forbrugsdata hjælper med at vurdere behovet. Systemet sammenligner ekstra batteriopladning med normal drift.

Det tager højde for den samlede købspris inklusive afgifter og betaling for at bruge elnettet, batteritab, slid, forventet solproduktion, husforbrug og anlæggets begrænsninger. En billig nattetime er derfor ikke automatisk et argument for at oplade batteriet. Den nuværende batteriautomatik kræver mindst én krones beregnet fordel efter tab og slid ved både 10 og 20 procent antaget batteritab.

Disse tabsprocenter er beregningsforudsætninger, ikke to fysisk målte egenskaber ved mit batteri. Det er vigtigt, fordi jeg ikke ønsker at ændre antagelserne, blot fordi én simulering viser et attraktivt resultat.

Energi Agent – overblik og forklaringer på web og mobil

Energi Agent viser solproduktion, afladning fra batteriet og beregnet AC-effekt. Aflæsningerne er forskudte. Et øjebliksbillede, ikke dokumentation for nattens opladning.
Energi Agent viser solproduktion, afladning fra batteriet og inverterens beregnede vekselstrømseffekt (AC). Beregningen er et estimat fra aflæsninger taget på forskellige tidspunkter. Billedet viser et enkelt tidspunkt og dokumenterer ikke nattens opladning. Screenshot · 20. oktober 2026 kl. 14.56

Energi Agent er min side i browseren, hvor jeg følger systemet. Her skal jeg kunne følge solproduktionen, husforbruget, batteriniveauet, elpriserne og den forventede udvikling. Men jeg vil også kunne forstå de planer, som API-Butler beregner.

Hvis systemet eksempelvis vurderer, at det kan betale sig at oplade batteriet fra elnettet, skal jeg kunne se hvorfor. Jeg skal kunne se det tidsrum, hvor opladningen er planlagt, hvor meget ekstra energi der planlægges købt, og hvad den økonomiske fordel forventes at være. Og hvis en plan ændrer sig, skal det fremgå, hvad den tidligere plan var, og hvorfor den blev ændret.

Også på mobilen

Mobilwebappens faktiske energiflow i 430 pixels browserbredde.
Mobilwebappens faktiske energiflow i 430 pixels browserbredde. Screenshot · 20. oktober 2026

Jeg udvikler samtidig en mobilvenlig webapp, der kan åbnes fra telefonens hjemmeskærm. Den skal anvende samme datagrundlag som hovedsiden. Det betyder, at jeg ikke har tre forskellige systemer, der forsøger at beregne den samme energiplan.

Jeg har én fælles beregning, som præsenteres på forskellige måder.

Flere detaljer: Målinger, forventet sol og bilens forbrug

Fra datakilder til opfølgning

API-Butler, Energi Agent og Ladeanalyse besvarer forskellige spørgsmål: Hvad ved jeg lige nu? Hvad giver mening at gøre? Og hvad blev der registreret bagefter?

Hver kilde ser sin del af energien

Inverteren leverer oplysninger om sol og husbatteri. HomeWizard P1 viser import, eksport og fasebelastning ved elmåleren. Zaptec registrerer laderens effekt og leverede energi, mens Škoda leverer bilens batteriprocent og kilometerstand. Tilslutning til laderen er ikke i sig selv bevis for batteriopladning.

Måletid fortæller, hvornår en værdi blev registreret; hentetid fortæller, hvornår softwaren modtog den. En gammel måling bliver ikke ny, fordi en side netop har hentet den. Manglende oplysninger skal stå som ukendte, og historikkens dækkede perioder skal fremgå.

Solprognosen skal kunne efterprøves

Forventet produktion for resten af dagen, næste kalenderdøgn og de næste 24 timer er forskellige størrelser. Gemte prognoser kan sammenlignes med faktisk produktion på afsluttede døgn med tilstrækkelig måledækning. Et lille datagrundlag skal fortsat beskrives som foreløbigt.

Værdien af egen sol skal også ses i forhold til den salgsindtægt, man giver afkald på. Derfor indgår både købspris, salgspris, batteritab, slid, reserve og forventet husforbrug i vurderingen.

Ladeanalyse: Hvad kostede strømmen til bilen?

Ladeanalyse samler hjemmeopladninger fra Zaptec og registrerede udeopladninger. Når energiintervaller findes, kobles den leverede energi med priserne i samme tidsrum. Manglende priser tæller ikke som gratis strøm, og en registreret kvitteringspris bevares frem for at blive overskrevet af et estimat.

Ladeenergi værdisat med elpriser dokumenterer ikke alene, hvad der faktisk blev købt fra nettet: sol og husbatteri kan have leveret en del af strømmen. Et prisestimat er derfor ikke det samme som en elregning.

For at sammenligne forbrug søger beregningen en dækket periode med mindst 100 km og højst ét procentpoints forskel i batteriniveau ved start og slut. Alle opladninger i perioden skal være med. Ladeenergi pr. 100 km omfatter ladetab, og pris pr. 100 km kræver et prisgrundlag for alle opladningerne.

Kalendermånedens og årets kilometer vises særskilt. Delperioder og usikre periodeskift markeres, og tidligere år bevares. Historikken kan vise udviklingen, men en lavere gennemsnitspris er ikke alene bevis for en besparelse skabt af energistyringen.

Læs den uddybende artikel om Ladeanalyse →

Ladeanalysens sammenlignelige måleperiode findes inden for de seneste 30 dage og er ikke nødvendigvis den valgte kalendermåned. Alle opladninger skal være registreret, også ude. Læs de opdaterede artikler ovenfor om datakrav, batteriautomatik og dokumentation.

AI'en skal kunne forklare – ikke selv styre inverteren

Gennem AI-Hub arbejder jeg med at knytte kunstig intelligens til energisystemet. Her skal AI'en hjælpe med at forstå og efterprøve oplysningerne. Hvorfor blev en bestemt batteriplan valgt?

Hvorfor blev den blokeret? Hvad ændrede sig i solprognosen eller elpriserne? Og viser målingerne, at en planlagt opladning faktisk fandt sted?

Det er spørgsmål, hvor kunstig intelligens kan være nyttig. Men den kunstige intelligens har ikke fri kontrol over inverteren. Selve styringen ligger i API-Butlers almindelige software med faste sikkerhedsregler.

Jeg skelner mellem fire trin: Systemet har beregnet en plan; udstyret har svaret på en besked; inverterens indstilling er læst tilbage og bekræftet; og målingerne viser, at opladningen faktisk sker. Et svar fra udstyret er altså ikke i sig selv bevis for opladning.

En god AI-forklaring er ikke det samme som et bevis for, at noget fysisk er sket.

En vigtig milepæl: Automatisk opladning af det rigtige husbatteri

Jeg har også nået konkrete resultater på det fysiske energianlæg. Under et normalt automatisk forløb blev ladeindstillingen bekræftet på inverteren, og målingerne viste, at husbatteriet fik strøm fra elnettet. Bagefter fjernede systemet de midlertidige ladeindstillinger efter sine sikkerhedsregler. Det er det, jeg kalder oprydning.

Det var en væsentlig milepæl. Men forløbet afslørede også en fejl i mine daværende regler for, hvilken opladning der skal have forrang.

Da bilens forbrug stoppede batteriopladningen for tidligt

Systemets log over udførte handlinger viste, at husbatteriets ladeperiode blev afsluttet før tid. En regel tog strømforbrug fra ladestanderen som bevis for, at bilens batteri blev opladet. Men bilen kan også bruge strøm til eksempelvis forvarmning.

Jeg kunne ikke med sikkerhed fastslå, hvad bilen anvendte strømmen til i det konkrete historiske forløb. Derimod kunne jeg konstatere, at reglen var for grov. Derfor blev den ændret.

Nu kræver en tidlig afslutning også nye oplysninger fra bilens officielle tjeneste, som både bekræfter opladning og viser strøm til opladningen. Forvarmning eller andet strømforbrug, hvis formål jeg ikke kender, må ikke alene afslutte en allerede planlagt ladeperiode for husbatteriet. Rettelsen er afprøvet med 44 beståede test uden forbindelse til det fysiske udstyr, inklusive eksisterende sikkerhedstest, og installeret med backup.

Elbil, sol og husbatteri skal arbejde sammen

Det handler ikke kun om at finde den billigste time til bilen. Når jeg sætter ladekablet i, er målet, at systemet automatisk beregner en ladeplan ud fra bilens senest gyldige oplysninger, dens manglende opladning og det tidspunkt, hvor den skal være klar. Elpriser, forventet sol, husets forbrug og den tilgængelige ladeeffekt skal indgå i samme beregning. Planen skal kunne ændres, hvis forudsætningerne ændrer sig.

Bilen skal have den strøm, den behøver, samtidig med at der er plads til resten af huset. Hvis madlavning eller andre apparater belaster en af husets tre el-faser hårdt, skal bilens ladestrøm kunne sænkes. Når der igen er plads, kan den hæves efter de aftalte regler. Lavere ladeeffekt kræver en ny plan, som viser den opladning, bilen eventuelt stadig mangler ved afgang.

På solrige dage skal beregningen også kunne vælge mellem strøm fra solcellerne, elnettet eller en kombination. Det er ikke altid bedst at vente på solen, hvis bilen skal bruges tidligere. Omvendt kan det være fordelagtigt at lægge opladningen, når der forventes overskydende sol. Det skal afgøres ud fra data og økonomi frem for et fast klokkeslæt.

Husbatteriet indgår i det samme samspil. Det kan være en fordel at bruge lagret strøm, men det kan også være bedre at gemme den til dyrere timer og købe bilens strøm direkte fra nettet. Beregningen skal medregne batteriets tab og slid, så strøm fra batteriet ikke behandles som gratis. At holde strømmen tilbage er en mulig strategi, som kræver særskilt afprøvning og godkendelse af den fysiske styring; det er ikke en funktion, jeg her påstår er aktiveret.

Jeg vil heller ikke have, at husbatteriet begynder at lade fra nettet oven i bilens opladning med fuld styrke. Husbatteriets ladevindue skal i stedet tilpasses bilens faktiske opladning og den ledige kapacitet. Når bilen er færdig, kan husbatteriet få plads, hvis der stadig er et rentabelt vindue. Et resterende bilbehov efter afgang skal fortsat vises, men må ikke i sig selv spærre husbatteriets plan.

API-Butler står for beregninger og godkendt styring. Energi Agent skal gøre det let at se, hvad der er planlagt, hvad der eventuelt spærrer, og hvad målingerne faktisk bekræfter. Samspillet er afprøvet i de virtuelle forløb nedenfor; det betyder ikke, at alle de beskrevne muligheder er i drift på det rigtige anlæg.

Gemte automatiktest med virtuelt udstyr. Bilstyring er slået til i simulatoren og fra i LIVE. Der blev ikke startet nye test ved billedtagningen.
Gemte automatiktest med virtuelt udstyr. Bilstyringen er slået til for det virtuelle udstyr og fra for den rigtige bil. Der blev ikke startet nye test ved billedtagningen. Screenshot · 20. oktober 2026

Jeg har testet samspillet i energistyringssimulatoren. Den virkelige bilstyring er fortsat slået fra. De virtuelle forsøg beviser derfor ikke, at den rigtige ladestander er blevet reguleret.

Flere detaljer: Hvad jeg har testet med bilen

Jeg har afprøvet sen tilslutning, lavere ladeeffekt og langvarig høj belastning af en el-fase. Hvis bilen ikke kan nå at blive færdig, bliver den manglende opladning stående som udækket. Efter bilens ladeperiode må den ikke i sig selv blokere husbatteriets plan.

Jeg har også testet pause og genoptagelse, manglende data og beskeder til udstyret med ukendt resultat. Hvis systemet ikke ved, om en besked blev udført, må den ikke bare sendes igen. Det kan føre til uønskede fysiske handlinger.

Bilstyringen var slået til for det virtuelle udstyr. I de konkrete forsøg var der mindst 15 minutter mellem ændringer i ladestrømmen. Det er en del af min afprøvede logik, ikke en universel anbefaling fra en producent.

Friske data er ikke nødvendigvis samtidige data

Når jeg samler oplysninger fra flere forskellige energikilder, opstår endnu en udfordring. Målingerne kan være indsamlet på forskellige tidspunkter. Min lokale aflæsningsenhed kan levere én måling, inverterens tjeneste på nettet en anden og husets elmåler en tredje.

Selvom API-Butler samler dem i samme svar, betyder det ikke automatisk, at de beskriver præcis samme øjeblik. Derfor arbejder jeg med at vise måletidspunkter og tydeligt markere gamle oplysninger. Jeg gemmer også de senest indsamlede oplysninger ét fælles sted, kaldet fællescachen, så flere sider kan bruge de samme målinger.

Det begrænser unødvendige forespørgsler til producenternes tjenester. Samtidig kan energiflowet opdateres uafhængigt af de tungere økonomiske beregninger.

Flere detaljer: Sådan undersøger jeg batteriets energitab

Batteriprocent er ikke en energimåler

Det samme behov for præcision gælder batteriet. En stigende batteriprocent er ikke i sig selv bevis for, at batteriet oplades fra elnettet. Solcellerne kan også levere energien.

Og al den strøm, huset køber fra elnettet er ikke nødvendigvis det samme som den strøm, der er købt til batteriet. Hvis jeg skal beregne batteriets reelle tab, kræver det et dokumenteret grundlag for energien ind og ud samt kontrol af, om for eksempel solcellerne også leverer energi i samme tidsrum. Hvis målingerne ikke er tilstrækkelige, er den korrekte konklusion, at jeg endnu ikke kan beregne tabet præcist.

Ikke at opfinde et procenttal.

De fejl, jeg finder, er en del af fremskridtet

Noget af det mest interessante ved projektet er, hvordan arbejdet hele tiden udvikler sig. I begyndelsen handler det om at få kommunikation og målinger til at fungere. Men når det lykkes, kommer de sværere spørgsmål.

Er værdierne korrekte? Er målingerne fra tidspunkter, der kan sammenlignes? Kan jeg stole på simulatorens svar?

Hvorfor blev en plan ændret? Og kan jeg dokumentere, at en fysisk handling havde den ønskede virkning? Arbejdet med InverterLab viser værdien af denne tilgang.

Jeg fjernede ikke programmets kontrol af, at det taler med den forventede enhed, for at få testen til at bestå. Jeg rettede simulatoren, så den svarede korrekt. På samme måde har erfaringerne fra energistyringen vist, at løsningen på en forkert beslutning ikke altid er at tilføje endnu en undtagelse.

Nogle gange er det bedre at fjerne en upræcis regel og erstatte den med en mere dokumenterbar betingelse. Det giver både enklere software og større mulighed for at forstå, hvad systemet faktisk gør.

Hvad er næste skridt?

Jeg vil fortsat dokumentere donglens målekvalitet og afprøve den lokale ændring af indstillinger, som er planlagt til næste opdatering. Godkendelse, bekræftelse og sikker fjernelse af midlertidige indstillinger skal følge med. En besked med ukendt resultat må ikke blot gentages. InverterLab skal også udbygges med flere dokumenterede svar, registerfunktioner og fejlsituationer.

Energistyringssimulatoren skal fortsat anvendes til at undersøge økonomi og strategier under forskellige antagelser. Jeg skal også arbejde videre med at dokumentere den faktiske virkning af automatiske handlinger og sikre, at planer og forklaringer bygger på det samme datagrundlag. Samtidig skal Energi Agent og mobilappen blive mere overskuelige, så systemets beslutninger bliver lettere at forstå.

Projektet er bygget til mit eget anlæg og mine behov. Jeg udvikler og tilpasser det løbende ud fra de erfaringer, jeg får i den daglige drift. Det er mit personlige udviklingsprojekt, ikke en løsning lavet til andre.

På længere sigt vil jeg kunne inddrage flere af mine energienheder i samme platform. Nye muligheder skal undersøges og dokumenteres på mit eget anlæg, før jeg tager dem i brug.

Jeg bygger mere end en side med målinger

Projektet begyndte med ønsket om at forstå og kommunikere bedre med mit eget energianlæg. Nu er det blevet en samlet udviklingsplatform med udstyr til at læse oplysninger, virtuelle testanlæg, økonomiske beregninger, web- og mobilsider og automatisk energistyring. InverterLab gør det muligt at afprøve min firmwarekode mod en virtuel inverter.

Energistyringssimulatoren hjælper mig med at undersøge økonomiske strategier og komplekse driftssituationer. API-Butler samler data, beregner planerne og håndterer de godkendte handlinger på det rigtige anlæg. Energi Agent viser mig, hvad der foregår.

Og AI-Hub giver mulighed for at bruge kunstig intelligens til at forklare og efterprøve resultaterne. Jeg har dokumenteret både vellykkede kommunikationstests, gennemførte simuleringer og et fysisk automatisk batteriladeforløb. Men jeg har også fundet fejl og mangler, som har ført til konkrete forbedringer.

Det er netop pointen.

Intelligent energistyring handler ikke kun om at beregne den rigtige handling. Det handler om at forstå beslutningen, udføre den sikkert og bagefter kunne dokumentere, hvad der faktisk skete.

Det er dét system, jeg bygger.

Carsten Howard

API-Butler · Energi Agent · InverterLab · AI-Hub

Bygget med nysgerrighed og teknologi.