ID.nl logo
Zo kun je programmeren in Python - deel 8
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - deel 8

Tot nu toe leerde je heel wat mogelijkheden van de programmeertaal Python. Misschien ben je buiten onze lessen zelf al aan de slag gegaan met je kennis. Super, want programmeren leer je door het veel te doen. Maar een goed programma is ook gedocumenteerd en goed getest. Dat leer je in onze achtste les.

Hier vind je les 1 van de Python-cursus.

Verkeerde gewoontes leer je niet snel af, daarom dat we nu even een stapje terugdoen en nadenken over wat ‘goede code’ is. Na deze les kun je code produceren die niet alleen goed gedocumenteerd en goed getest is, maar weet je ook hoe je informatie over Python-modules opzoekt met de helpfunctie.

Code documenteren met commentaar

Tot nu toe schreven we onze code zonder enige vorm van documentatie. Als je met anderen samenwerkt aan een programma, is het belangrijk dat je die documenteert, zodat je anderen duidelijk maakt wat je met je code bedoelt. Maar ook als je helemaal alleen programmeert, is documentatie geen overbodige luxe. Zo begrijp je je eigen code nog als je er over een jaar opnieuw naar kijkt.

De eerste manier om je code te documenteren is met commentaar. Alles na het #-teken (hekje) tot het einde van de regel (behalve als het hekje ín een string voorkomt) is commentaar en wordt door Python genegeerd. Op die manier kun je een uitleg voor jezelf of anderen schrijven. Als je bijvoorbeeld in de functie is_palindroom van deel 6 in de war raakt met die indexen, schrijf er dan gerust wat commentaar bij:

if letters[0] != letters[-1]: # Als de eerste en de laatste letter verschillen

Het getuigt van goede stijl om twee spaties tussen je code en het erna volgende commentaarteken te houden en één spatie tussen het commentaarteken en je commentaar. Overigens kun je ook commentaar op een nieuwe losstaande regel beginnen, dan spreken we van een commentaarregel:

# Als de eerste en de laatste letter verschillen

if letters[0] != letters[-1]:

Het is de gewoonte om een commentaarregel te zetten op de regel vóór de regel waarover hij gaat.

Code uitcommentariëren

Het commentaarteken (#) wordt ook weleens gebruikt om code die je aan het testen bent maar die niet blijkt te werken tijdelijk ‘uit te commentariëren’ ofwel uit te zetten. Door een commentaarteken voor de code te zetten, wordt de code door Python genegeerd, maar kun je hem erna wel eenvoudig weer inschakelen door het commentaarteken weg te halen. Op deze manier gebruik je het commentaarteken dus niet voor documentatie, maar eigenlijk als hulpmiddel bij het debuggen.

Code documenteren met docstrings

Commentaar gebruik je om te documenteren waarom je iets doet en hoe je het doet, maar voor gebruikers van je code is vooral belangrijk wat die doet. Om dat te documenteren, gebruik je docstrings: in het begin van elke module, elke klasse en elke functie of methode geef je met een string tussen drie dubbele aanhalingstekens aan wat het stuk code doet.

Zo zouden we onze klassen uit de vorige les als volgt kunnen documenteren:

"""Klassen om met tweedimensionale, driedimensionale en hogerdimensionale punten te werken."""

import math

class Point:
"""Stelt een punt voor in een willekeurig aantal dimensies."""

def __init__(self, *coordinates):
"""Initialiseer het punt met de opgegeven coördinaten."""
self.coordinates = list(coordinates)

def __repr__(self):
"""Geef een leesbare voorstelling van het punt terug."""
return 'Point(' + ', '.join(str(co) for co in self.coordinates) + ')'

def displacement(self, other_point):
"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

Voorbeeld: het verschil tussen Point(1, 4, 2) en Point(3, 4, 1) is gelijk aan Point(2, 0, -1).
"""
return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

def distance(self, other_point):
"""Geef de Euclidische afstand terug tussen dit punt en een ander punt."""
relative_position = self.displacement(other_point)
return math.sqrt(sum(i**2 for i in relative_position.coordinates))
class Point2D(Point):
"""Stelt een tweedimensionaal punt voor."""

def __init__(self, x=0, y=0):
"""Initialiseer het punt met de opgegeven x- en y-coördinaten."""
Point.__init__(self, x, y)
self.x = x
self.y = y
def get_x(self):

"""De x-coördinaat van het punt."""
return self.coordinates[0]

def set_x(self, x):
self.coordinates[0] = x

x = property(get_x, set_x)

def get_y(self):
"""De y-coördinaat van het punt."""
return self.coordinates[1]

def set_y(self, y):
self.coordinates[1] = y

y = property(get_y, set_y)

Je ziet hier dat documentatie niet lang hoeft te zijn. De docstrings bij de module, de klassen en bij de meeste methodes zijn maar één regel lang.

De moeilijkste methode om te begrijpen is displacement en daarom is het zinvol om daar wat meer uitleg bij te geven. Bij een docstring van meer dan één regel raden we aan om na de eerste regel een lege regel te houden, en om de drie dubbele aanhalingstekens op het einde op een nieuwe regel te zetten. Dat geeft wat meer overzicht.

Merk op: bij onze eigenschappen x en y van de klasse Point2D documenteren we alleen de methode die de waarde van de eigenschap opvraagt. Zo toont de ingebouwde helpfunctie van Python (die we op het einde van deze les bespreken) deze documentatie bij de eigenschap.

Interactieve voorbeelden in docstrings

We hebben in de docstring van de methode displacement al een voorbeeld van het gebruik van de methode gegeven als documentatie. Maar dat bleef nogal informeel. We kunnen die documentatie ook in de vorm van echte Python-code doen die je in een interactieve terminalsessie zou kunnen invoeren. Zo kan de gebruiker die de documentatie leest, onmiddellijk de voorbeelden kopiëren uit de documentatie en plakken in de Python-interpreter om ze uit te proberen. Dat zou voor de methode displacement er dan als volgt uitzien:

def displacement(self, other_point):"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))Point(2, 0, -1)"""return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

Je ziet hier dat je de code na de >>> exact in een Python-terminalsessie zou kunnen invoeren en dan ook het resultaat zou krijgen dat hier staat. In feite hebben we wat hier staat gewoon eerst in de terminal van Thonny ingevoerd en dan samen met de uitvoer gekopieerd en hier in de docstring geplakt.

Code testen met doctest

Stel dat je nu ooit de code van de methode displacement aanpast omdat je denkt een verbetering te zien, maar er een fout in maakt, waardoor het resultaat verkeerd is. Dan kun je dat testen door de voorbeeldcode in je docstring uit te voeren in een Python-terminalsessie. Voer je de code uit en komt het resultaat niet overeen met de uitvoer in de docstring, dan klopt je code niet meer.

Maar zouden we die test niet automatisch kunnen doen? Jazeker! Python kent daarvoor de module doctest, die automatisch alle docstrings in een module kan testen op interactieve voorbeelden. Dat voer je als volgt uit in een Linux- of macOS-terminal of de Windows Opdrachtprompt:

python3 -m doctest -v point.py

Hierbij is point.py de naam van de module met je code erin. Je krijgt dan als uitvoer de tests die doctest in je docstrings ziet en het resultaat. Als je het alleen wilt zien als een test een fout vindt, haal dan de optie -v weg. Stel dat je bijvoorbeeld per ongeluk de * vergeten bent in de methode displacement om de lijst naar een willekeurig aantal argumenten voor de klasse Point om te zetten, dan zal doctest die fout opmerken met de volgende melding:

**********************************************************************

File "point.py", line 21, in point.Point.displacement

Failed example:

Point(1, 4, 2).displacement(Point(3, 4, 1))

Expected:

Point(2, 0, -1)

Got:

Point([2, 0, -1])

**********************************************************************

1 items had failures:

1 of

***Test Failed*** 1 failures.

Een goede manier van programmeren is dan ook dat je je code zoveel mogelijk documenteert met docstrings en daarin ook interactieve voorbeelden opneemt, die je na elke wijziging van je code automatisch test met doctest om je ervan te verzekeren dat je geen fouten hebt geïntroduceerd.

De helpfunctie gebruiken

Als je code is gedocumenteerd, hoef je niet je codebestand in Thonny te openen om de documentatie te bekijken. Je kunt dit in een interactieve Python-sessie, bijvoorbeeld in Thonny, maar ook in een Python-sessie in een Linux- of macOS-terminal of de Windows Opdrachtprompt. Het enige wat je hoeft te doen, is de functie help op te roepen met de naam van de module, klasse, functie of methode waarvoor je de documentatie wilt zien. Bijvoorbeeld in Thonny:

>>> help(Point.displacement)

Help on function displacement in module __main__:

displacement(self, other_point)

Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))

Point(2, 0, -1)

Overigens zijn alle standaardmodules van Python uitgebreid gedocumenteerd met docstrings. Daardoor kun je van alle modules, klassen, functies en methodes heel eenvoudig documentatie opvragen in je Python-terminalsessie. Let er wel op dat je een module eerst dient te importeren voordat je er documentatie van kunt opvragen met help.

Samenvatting

In deze les ging het minder over het programmeren zelf, maar over het documenteren en testen van je Python-programma’s en het uitzoeken van meer informatie over de standaard Python-modules of je eigen modules. Hoe complexer je programma’s zijn, hoe belangrijker dit soort zaken rond je code zijn. Maak er daarom een gewoonte van om documentatie en tests niet als een nabeschouwing te zien, maar al tijdens de ontwikkeling van je programma in je code te integreren. In de volgende les maken we het nog complexer: dan gaan we extra modules installeren die niet in Python ingebouwd zijn.

Opdracht 1

Voer de helpfunctie eens uit op je klasse Point2D. Wat zou er nog beter kunnen aan de getoonde documentatie?

Uitwerking opdracht 1

*>>> from point import Point2D

help(Point2D)* De helpfunctie van onze klasse toont niet alleen de eigenschappen x en y bij de Data descriptors, maar toont ook de methodes get_x, set_x, get_y en set_y. Dat is wat te veel van het goede. Die methodes hoeven niet getoond te worden. Daar doen we in de volgende opdracht iets aan.

Opdracht 2

We hebben een eigenschap zoals x in de klasse Point2D tot nu toe geconstrueerd met methodes get_x en set_x en een opdracht als x = property(get_x, set_x) om deze methodes samen als eigenschap te gebruiken. Maar je kunt een eigenschap ook met een decorator definiëren en dan worden die methodes niet in de helpuitvoer getoond. Zoek zelf met de ingebouwde helpfunctie van Python op hoe je dat doet.

Uitwerking opdracht 2

Met help(property) krijg je uitleg over de opdracht property. Je leert er zelfs dat het geen opdracht maar een klasse is. Het in de helpuitvoer getoonde voorbeeld kun je bijna rechtstreeks toepassen op onze klasse Point2D. Dan kom je tot de volgende code voor x: *@propertydef x(self):"""De x-coördinaat van het punt."""return self.coordinates[0]@x.setter**def x(self, x):*self.coordinates[0] = x Doe hetzelfde voor y. Voer de helpfunctie opnieuw uit op je klasse en verifieer dat je alleen nog maar hulp over de eigenschappen krijgt en niet meer over de methodes die de eigenschappen opbouwen.

Cheatsheet

Commentaar: een regel die begint met # en dient als uitleg bij een stukje code. Debuggen: fouten (bugs) in je code opsporen en verhelpen. Docstring: een string tussen drie dubbele aanhalingstekens die een module, klasse, functie of methode documenteert. Uitcommentariëren: een regel code uitschakelen door er een commentaarteken voor te zetten.

▼ Volgende artikel
Het geheugen van je computer: dit is het verschil tussen DDR4 en DDR5
© Ayo man | Law of God
Huis

Het geheugen van je computer: dit is het verschil tussen DDR4 en DDR5

Toen je je laptop kocht, keek je waarschijnlijk vooral naar de processor, de grafische chip en hoeveel GB werkgeheugen erin zit. Of dat werkgeheugen DDR4 of DDR5 is, is voor de meeste mensen geen doorslaggevende factor. Toch is het wel handig om te weten wat de verschillen zijn tussen DDR4, dat je vooral in oudere laptops tegenkomt, en DDR5, dat bij nieuwe modellen meestal de standaard is. DDR5 kan per seconde meer data verwerken dan DDR4. Wat dat verschil betekent en wanneer extra gigabytes meer opleveren dan de stap naar DDR5, lees je in dit artikel.

In dit artikel

je leest wat DDR4 en DDR5 precies van elkaar onderscheidt, wanneer je dat verschil in snelheid en energieverbruik echt merkt en waarom het voordeel van DDR5 ten opzichte van DDR4 bij gamen vaak beperkt blijft. Ook leggen we uit waarom DDR4 niet automatisch meer de goedkope keuze is, waarom je DDR4 en DDR5 niet kunt uitwisselen en wat dat betekent voor upgraden bij laptops en desktops. Tot slot lees je hoe je op Windows en Mac snel checkt of je meer RAM nodig hebt.

Lees ook: RAM(p)-scenario: waarom tech in 2026 duurder wordt

De techniek achter DDR4 en DDR5

Het grootste verschil tussen DDR4 en DDR5 zit in de datasnelheid en bandbreedte. Zie het als een digitale weg: DDR4 is een prima route waar het verkeer netjes doorrijdt, DDR5 is een bredere snelweg waar per seconde meer data overheen kan. Daardoor hoeft de processor bij zware taken waarbij veel data heen en weer gaat (denk bijvoorbeeld aan videobewerking) minder vaak te wachten op nieuwe informatie. Let wel: die extra 'rijstroken' leveren pas winst op als je processor, grafische chip en software er ook echt gebruik van maken. Bij lichte taken, zoals browsen en tekstverwerken, is werkgeheugenbandbreedte zelden de bottleneck. Gaat dat langzaam, dan heeft dat eerder te maken met de processor, opslag, of de browser.

DDR5 kan ook helpen met het energieverbruik, omdat het op een lagere spanning werkt: 1,1 volt in plaats van 1,2 volt bij DDR4. In een laptop kan dat iets schelen, al hangt het effect af van wat je doet en hoe de rest van het systeem is opgebouwd. Daarnaast zit bij DDR5 een deel van de stroomregeling op de geheugenmodule zelf. Dat kan de stroomvoorziening stabieler maken, maar het maakt de module ook wat complexer om te produceren.

Wat biedt DDR5 in de praktijk?

DDR5 komt vooral tot zijn recht bij taken die veel werkgeheugenbandbreedte vragen, zoals 8K videobewerking of complexe simulaties. Daarbij blijft de processor (en soms de GPU) meestal de doorslaggevende factor: die bepaalt of je systeem zo'n klus überhaupt vlot aankan. DDR5 kan helpen om wachttijd te verminderen, maar het maakt een trage CPU niet ineens snel. Een ander voordeel is dat je per module hoge capaciteiten kunt halen. Voor zware desktop-werkstations zijn systemen met 256 GB aan werkgeheugen inmiddels realiteit. Bij laptops ligt die grens doorgaans lager, vaak rond de 128 GB, omdat ze meestal minder geheugenslots hebben. Bovendien is het werkgeheugen bij veel modellen vastgesoldeerd, waardoor je later niet kunt uitbreiden.

©Batorskaya Larisa

DDR5 voor gamers: nodig of niet?

Voor gamers blijft het voordeel van DDR5 vaak beperkt. In veel games gaat het om een klein verschil, en op 1440p of 4K zie je dat meestal nog minder terug omdat je dan eerder tegen de grens van de videokaart aanloopt dan tegen die van het werkgeheugen. Ook hier geldt: de keuze voor CPU en vooral GPU bepaalt je gameprestaties veel sterker dan de stap van DDR4 naar DDR5. Dat verschil tussen DDR4 en DDR5 is onderzocht in een vergelijkingstest van de gezaghebbende site Tom's Hardware. Daarbij ging het bijvoorbeeld om 3% verschil in gameprestaties in Assassin's Creed Valhalla, 2% in Far Cry 6, Tom Clancy's Ghost Recon Breakpoint, Watch Dogs: Legion en Borderlands 3, en 1% in Shadow of the Tomb Raider en Wolfenstein: Youngblood.

©Crystal Dynamics

Het verschil tussen RAM en opslag

Veel mensen halen werkgeheugen (RAM) en opslaggeheugen (SSD of HDD) door elkaar, terwijl ze iets heel anders doen: RAM is het korte-termijngeheugen waarin de gegevens staan van programma's die je nú gebruikt, waardoor je met meer RAM makkelijker en sneller tussen meerdere apps schakelt, maar zodra je de computer uitzet is dit geheugen weer leeg. Opslaggeheugen is juist het lange-termijngeheugen waarop je foto's, documenten en andere bestanden blijven staan, ook als er geen stroom is.

Is een laptop met DDR4 nog goed genoeg?

Ja, voor de meeste Nederlanders is een laptop met DDR4 nog steeds goed genoeg. Gebruik je hem vooral voor internetten, Netflix kijken, Microsoft Office en af en toe een simpele fotobewerking, dan merk je in de praktijk nauwelijks verschil tussen DDR4 en DDR5. Bij laptops is DDR4 of DDR5 bovendien vaak geen losse keuze: het hangt samen met de generatie processor die in het model zit.

DDR5 kan wel voordeel geven bij zwaardere taken waarbij de computer grote hoeveelheden data tegelijk moet verwerken, maar dat wordt pas echt interessant als je met zware programma's werkt, of als je games zo soepel mogelijk wilt laten lopen - ervan uitgaande dat je CPU en GPU die werklast ook aankunnen. Denk aan situaties waarin je merkt dat je laptop moeite heeft om alles bij te houden, ook al staat de beeldkwaliteit niet eens extreem hoog. In veel situaties blijft het verschil klein. Belangrijker is vaak de hoeveelheid werkgeheugen: 16 GB voelt meestal merkbaar fijner dan 8 GB, ongeacht of het DDR4 of DDR5 is.

DDR4 is niet meer vanzelfsprekend goedkoop

Lange tijd was DDR4 de slimme, goedkope keuze als je vooral op de prijs lette: het verschil met DDR5 was groot. Door de huidige tekorten klopt dat beeld minder. DDR4-geheugen is flink duurder geworden; in sommige gevallen is de prijs zelfs meer dan verdubbeld. DDR5 is ook duurder geworden, maar omdat de productie van DDR4 wordt afgebouwd, kan DDR4 relatief harder in prijs oplopen. Daardoor ligt DDR4 in veel gevallen dichter tegen DDR5 aan dan je zou verwachten. Wie nu een nieuw systeem koopt, is met DDR4 vaak nog steeds het minst kwijt, alleen is 'goedkoop' bij werkgeheugen momenteel een rekbaar begrip.

©ronstik

Upgraden: wat wel en niet kan

DDR4 en DDR5 zijn nooit onderling uitwisselbaar, ook niet in een desktop. De inkeping zit op een andere plek en het platform moet het juiste type werkgeheugen ondersteunen. Je kunt dus geen DDR5 plaatsen in een systeem dat voor DDR4 is gemaakt, en andersom ook niet.

Bij laptops betekent dit meestal dat als je wilt overstappen op DDR5 je een nieuwe laptop zult moeten kopen. Veel laptops hebben namelijk geen uitbreidbaar werkgeheugen meer: de geheugenchips zitten voor ruimte- en kostenbesparing op het moederbord gesoldeerd, en bij sommige ontwerpen zelfs in hetzelfde pakket als de processor. Dan kun je later niets meer bijprikken. Dat is ook precies waarom DDR4 vs DDR5 bij laptops zelden de hoofdvraag is: je kiest een model, en daar hoort dit type geheugen bij.

Bij een desktop heb je vaak meer speelruimte, maar ook daar is het geen kwestie van alleen de geheugenmodules wisselen. Wil je van DDR4 naar DDR5, dan heb je een moederbord nodig dat DDR5 ondersteunt, en vaak ook een processor die bij dat moederbord past. Heb je vooral te weinig werkgeheugen (bijvoorbeeld 8 of 16 GB) en merk je dat je pc daardoor traag wordt, dan is extra DDR4 bijplaatsen meestal de goedkoopste verbetering. Pas als je toch al toe bent aan een grotere upgrade van je pc, wordt de stap naar DDR5 logisch.

Wanneer moet je echt upgraden?

Echt upgraden is pas zinvol als je merkt dat je huidige machine niet meer probleemloos werkt bij zware klussen zoals grote fotobestanden bewerken, video's monteren of veel dingen tegelijk doen. Heb je nu een laptop met 16 GB of 32 GB DDR4 die nog vlot werkt? Blijf die dan vooral gebruiken zolang de prijzen zo hoog liggen. Twijfel je, kijk dan eerst wat de oorzaak van de mindere prestaties is: zit je werkgeheugen tegen zijn limiet, of zijn het vooral je processor of GPU die de klus niet bijbenen?

Zo controleer je of je extra RAM nodig hebt

Voordat je besluit om een flinke investering te doen in een nieuw systeem of extra geheugen, is het slim om te kijken hoe je huidige computer presteert onder druk. Je kunt dit eenvoudig zelf testen op zowel Windows als Mac.

Windows

Open eerst de programma's die je normaal gesproken tegelijk gebruikt, zoals je browser met veel tabbladen, Word en een videocall. Druk daarna op Ctrl + Shift + Esc om Taakbeheer te openen. Ga naar het tabblad Prestaties en klik op Geheugen. Kijk vervolgens naar de grafiek en het percentage dat in gebruik is: blijft dat langere tijd rond de 80 tot 90 procent hangen terwijl je gewoon je dagelijkse werk doet, dan zit je tegen de grens van je werkgeheugen aan. Dat merk je vaak aan kleine haperingen, zoals tabbladen die trager laden of apps die later reageren. Zie je tegelijk dat je pc veel met de schijf bezig is, bijvoorbeeld omdat programma's ineens langzamer worden terwijl je opslaglampje blijft knipperen, dan is de kans groot dat Windows tijdelijk data op de SSD parkeert omdat het werkgeheugen volloopt.

Apple

Open je gebruikelijke programma's en druk daarna op Command + Spatiebalk. Typ Activiteitenweergave en druk op enter. Klik bovenin op het tabblad Geheugen en kijk onderaan naar de grafiek bij Geheugendruk. Is die groen, dan is er niets aan de hand. Wordt de grafiek geel of rood, dan heeft je Mac meer geheugen nodig om alles vlot te blijven draaien. Let ook op Gebruikte swap: als dat oploopt tot meerdere gigabytes, dan is je werkgeheugen in de praktijk te krap.




▼ Volgende artikel
Hoymiles HiOne-thuisbatterij: een alles-in-één-krachtpatser voor grootverbruikers
© Hoymiles
Energie

Hoymiles HiOne-thuisbatterij: een alles-in-één-krachtpatser voor grootverbruikers

Energieopslag stond lang gelijk aan een technische puzzel van losse kastjes en kabels. De Hoymiles HiOne rekent daar definitief mee af. Dit systeem integreert krachtige prestaties in één strakke, modulaire zuil die gezien mag worden. Ben jij klaar voor de volgende stap in energieonafhankelijkheid? Wij doken in de specificaties van deze stille krachtpatser.

Partnerbijdrage - in samenwerking met Hoymiles

Even voorstellen: Wie is Hoymiles?

Hoewel de naam voor de gemiddelde consument misschien nieuw klinkt, is Hoymiles in de professionele solar-wereld een gevestigde orde. Het beursgenoteerde bedrijf is wereldwijd actief en staat bekend als dé uitdager op het gebied van hoogwaardige omvormer-techniek. Met de HiOne brengen ze hun jarenlange ervaring van het dak nu naar de garage. Dat veiligheid voorop staat, bleek tijdens de recente lancering: daar bevestigde keuringsinstituut TÜV dat de HiOne voldoet aan de strengste Europese veiligheidseisen. Je haalt dus gecontroleerde toptechniek in huis, met de zekerheid van een Europees hoofdkwartier in Nederland voor service en ondersteuning.

Tijdens de HiOne-presentatie in Amsterdam.

Geen kabelbrij, maar strak design

Wie zijn garage of technische ruimte netjes wil houden, zit niet te wachten op een wirwar van kastjes en leidingen. De HiOne lost dit op met een slim modulair ontwerp. De installateur stapelt de batterij- en omvormermodules simpelweg op elkaar.

Het unieke hieraan is dat alle verbindingen intern lopen. Aan de buitenkant zie je dus geen kabels, wat zorgt voor een rustig en 'afgewerkt' beeld. De behuizing voelt niet aan als goedkoop plastic, maar als een solide apparaat dat tegen een stootje kan. Dankzij de IP66-certificering (water- en stofdicht) is het systeem zelfs robuust genoeg om buiten onder een overkapping geplaatst te worden, mocht je binnen ruimte willen besparen.

Klaar voor de moderne grootverbruiker

Dit systeem is specifiek ontworpen om de energiehonger van het moderne, duurzame gezin te stillen. Heb je een warmtepomp, een elektrische auto of een druk huishouden? Dan is de HiOne in zijn element.

De huidige line-up van de HiOne is geoptimaliseerd voor woningen met een 3-fase aansluiting (ondersteuning tot 33,3 A per fase), maar ook 1-fase varianten staan op de planning. Dit maakt het systeem enorm veelzijdig. Waar lichtere systemen vaak moeite hebben om meerdere zware apparaten tegelijk van stroom te voorzien, levert de HiOne onverstoorbaar door. De echte meerwaarde zit in de onafhankelijkheid. Dankzij de 'whole-home backup'-functie kan het systeem bij stroomuitval het hele huis draaiende houden. Dus niet alleen de wifi en de koelkast, maar ook het koken en verwarmen gaan gewoon door.

©Hoymiles / Jeroen Keep

Het brein: AI en dynamische tarieven

Een batterij is tegenwoordig meer dan een opslagvat; het is een slimme handelscomputer. De HiOne wordt aangestuurd door de S-Miles Cloud, een platform dat verder kijkt dan alleen 'vol' of 'leeg'. Met de ingebouwde 'Time-of-Use' modus kan het systeem slim inspelen op energietarieven.

Heb je een dynamisch energiecontract? Dan kan de software automatisch laden als de stroom goedkoop (of zelfs gratis) is en terugleveren of ontladen als de prijzen pieken. Zo verdien je de investering niet alleen terug door eigen gebruik, maar ook door slim te handelen op de energiemarkt. Bovendien leert het systeem jouw verbruikspatronen kennen, zodat er altijd voldoende buffer is voor jouw specifieke situatie.

Geen DIY, maar professionele zekerheid

Het is belangrijk om te benadrukken dat de HiOne geen doe-het-zelfproject is, zoals een eenvoudige balkon-set. Dit is hoogwaardige infrastructuur die naadloos geïntegreerd wordt in je meterkast en woning. Je koopt dit systeem dan ook via een gecertificeerde installateur.

Voor de consument is dat een groot voordeel: je hoeft je niet druk te maken over de techniek. De vakman zorgt dat de zuil op de juiste plek komt te staan, regelt de koppeling met je zonnepanelen en zorgt dat alles veilig draait. Jij bedient het systeem vervolgens simpelweg via de app.

Om deze krachtpatser veilig te houden, is een 5-laags veiligheidssysteem ingebouwd. Dit varieert van speciale drukkleppen en aerogel-isolatie tussen de cellen tot een actieve brandonderdrukkingsmodule die in noodsituaties binnen enkele seconden reageert. Daarnaast wordt de temperatuur op negen punten per cel continu gemonitord.

©Hoymiles / Jeroen Keep

Toekomstmuziek: je auto als batterij

Misschien wel het meest interessante aspect voor EV-rijders is de voorbereiding op V2X (Vehicle-to-Everything). Hoymiles heeft aangekondigd dat er een specifieke V2X-module aankomt voor de HiOne. Hiermee wordt het in de toekomst mogelijk om de enorme accu van je elektrische auto te koppelen aan je thuisbatterij. Je auto fungeert dan als een soort super-accu voor je huis, terwijl de HiOne de regie voert. Daarmee is dit systeem niet alleen een oplossing voor nu, maar ook een voorbereiding op de volgende stap in de energietransitie.

Conclusie

De Hoymiles HiOne is een premium keuze voor huiseigenaren die verder kijken. Het systeem combineert een strak design met de brute kracht die nodig is voor een huis vol warmtepompen en EV's. Door te kiezen voor een professioneel geïnstalleerd systeem met 5-voudige beveiliging en slimme AI-software, haal je niet alleen een batterij in huis, maar een complete energiemanager die klaar is voor de toekomst.