Automatisch Rendement: Stuur je Thuisbatterij Slim Aan via onze Home Assistant Integraties


In ons eerdere artikel bespraken we de Thuisbatterij Strategie voor Lente & Zomer na einde saldering. De kern van die strategie: stop met het blind ‘Nul-op-de-meter’ draaien gedurende zonnige maanden, maar stuur actief op volume en EPEX day-ahead uurprijzen.
Hoewel veel fabrikanten claimen ‘slimme AI-functies’ te bieden, blijft dit in de praktijk vaak steken op starre if-then-regels die niet optimaal meebewegen. Om het écht strak en geautomatiseerd te regelen, hebben we als echte Energienerds al onze praktijkervaring gebundeld. In nauwe samenwerking met AI hebben we zo onze eigen Home Assistant custom integratie ontwikkeld. Wat ons betreft is dit een mooie basis voor de ultieme planningsintegratie voor de twee populairste merken op de markt: Anker SOLIX en Zendure.
Vragen over dit artikel? Lees de reacties (41)
Wat kun je met de integratie?
Met de integratie stel je de batterijaansturing flexibel in op basis van jouw dagritme en energiecontract:
- Tijdsblokken combineren met Werkmodi: Stel per tijdsvenster de gewenste stand in. Laat de batterij bijvoorbeeld ’s ochtends actief ontladen naar het net tijdens de dure uren, zet hem ’s middags op Nul-op-de-Meter of Laden voor je zonne-overschot, en schakel ’s avonds over op Slim Ontladen. Je hebt hierbij ook de mogelijkheid om op basis van de EPEX prijzen de goedkoopste of duurste uren van de dag te selecteren. Het aantal uren kun je in de grafiek onderin aanpassen.
- Verschillende Modi per Batterijtype: Of je nu een hybride omvormer of een AC-stekkerbatterij hebt: je kiest eenvoudig de modus die past bij jouw type systeem en de gewenste handels- of verbruiksstrategie.
- Flexibel Inrichten op EPEX-prijzen: Door de tijdsblokken af te stemmen op de dagelijkse EPEX day-ahead prijzen, zorg je dat je op het juiste moment laadt, ontlaadt of juist stand-by blijft om onnodige slijtage en conversieverliezen te voorkomen. Echter de patronen zijn helder, er is een ochtendpiek, rest van de dag zijn prijzen laag en daarna volgt een avondpiek.
- Maximale Rendementsoptimalisatie: Geen starre fabrieksinstellingen meer, maar een strak ingericht dagschema waarmee je het hoogst mogelijke rendement uit de lente- en zomermaanden perst. En daarmee de terugverdientijd van je thuisbatterij enorm verkort. De thuisbatterij wordt nu immers voor zijn volle capaciteit benut.
Wat heb je nodig om te beginnen?
Om de Energienerds integraties te gebruiken, heb je het volgende nodig:
- Home Assistant (draaiend op bijvoorbeeld een Raspberry Pi, Home Assistant Green of NAS).
- Een ondersteunde thuisbatterij (Anker SOLIX [Solarbank Max AC of Solarbank 4 E5000 PRO] of Zendure)
- De officiele Home Assistant integratie van Anker SOLIX of Zendure geinstalleerd
- Onze Home Assistant Schedule integratie voor Anker Solix of Zendure:
Goed om te weten: Dit is een eerste versie van de integratie die nog niet uitgebreid is getest; je kunt dus nog wat kinderziektes tegenkomen. We hebben ook al gedacht over de volgende fase, zoals ondersteuning voor het aansturen van meerdere batterijen. Mis je nog iets of kom je een fout tegen? Open dan gerust een ‘feature request’ of ‘issue’ op GitHub!
Hieronder herhalen we kort de basisstrategie én laten we zien hoe je met onze Home Assistant-integratie jouw thuisbatterij slim aanstuurt. Zo behaal je het hoogste rendement en draag je echt bij aan de energietransitie door gascentrales op de piekuren buiten spel te zetten.
Samenvatting: De Lente & Zomer Strategie in ’t Kort
Even het geheugen opfrissen. Waarom werkt de standaard ‘Nul-op-de-Meter’ instelling in het voorjaar en de zomer niet optimaal?
- Volume-overschot: In de lente en zomer wek je circa 75% van je jaarlijkse zonnestroom op. Een gemiddelde accu van 8 kWh zit op een zonnige dag vaak al ruim vóór het middaguur stampvol (en vult maar ~42% van je dagopbrengst op).
- Nachtelijk verbruik is laag: ’s Nachts verbruik je in deze seizoenen vaak maar 1 tot 2 kWh. Je accu is ’s ochtends dus nog voor de helft vol.
- Piekprijzen benutten: De stroomprijzen zijn op een zomerdag het hoogst in de avond (wanneer de zon ondergaat en gascentrales bijspringen) en redelijk hoog in de vroege ochtend. ’s Middags duiken de prijzen regelmatig rond of onder de 0 cent.
Het optimale dagschema:
- Ochtendpiek (07:00 – 10:00 uur):
- Hybride batterij: Actief ontladen naar het net om de vroege piektarieven te pakken.
- AC-stekkerbatterij: Op stand-by zetten, zodat zonnestroom direct tegen het ochtendtarief het net op gaat in plaats van in de accu te verdwijnen.
- Middag & Zonne-uren (10:00 – 19:00 uur): Batterij op ‘Eigen verbruik’ / laden zetten. De goedkope zonnestroom vult de accu op tot 100%.
- Avondpiek (19:00 – 23:59 uur): Met hoger vermogen ontladen (tot ~10% SOC) om én het avondverbruik af te dekken én de resterende overschot-stroom duur terug te leveren aan het net.
- Nacht (00:00 – 07:00 uur): Stand-by zetten om conversieverliezen en slijtage voor de kleine nachtelijke basislast te vermijden.
Dit dagschema dient uiteraard als voorbeeld. Je stemt het eenvoudig af op jouw eigen verbruik en dynamische tarieven. Zo kun je er bijvoorbeeld voor kiezen om ’s nachts Nul-op-de-Meter (NOM) te draaien, NOM pas in te schakelen zodra je elektrisch gaat koken, of schema’s een uur te verschuiven op basis van de actuele uurprijzen.
De kern van de strategie blijft simpel: je maximaliseert je rendement door de stroom van je zonnepanelen via je batterij op de duurste momenten terug te leveren aan het net.
In onze praktijktesten over periode april tot en met augustus leverde deze strategie een gemiddelde terugleverprijs op van maar liefst € 0,31 per kWh inclusief energiebelasting, in 2027 zou dat € 0,201 per kWh zijn (bij ongewijzigde prijzen)!
Energienerds Praktijk Overzicht Levering & Teruglevering
Maandelijkse gegevens april t/m augustus 2026 met totalen en gemiddelde tarieven
| Maand | Levering (kWh) | Levering bedrag | Teruglevering (kWh) | Teruglevering bedrag |
|---|---|---|---|---|
| april | 442 | € 49 | 1.087 | € 302 |
| mei | 525 | € 78 | 1.194 | € 357 |
| juni | 529 | € 91 | 1.207 | € 445 |
| juli | 170 | € 32 | 825 | € 242 |
| augustus | 29 | € 6 | 286 | € 89 |
| 📊 Totaal | 1.695 | € 256 | 4.599 | € 1.435 |
| Gemiddeld tarief 2026 | — | € 0,151 / kWh | — | € 0,312 / kWh |
| Correctie energiebelasting | — | — | — | − € 0,111 / kWh |
| 📈 Gemiddeld tarief 2027 (gecorrigeerd) | — | € 0,151 / kWh | — | € 0,201 / kWh |
De Volgende Stap: Regie via de Energienerds Home Assistant Integratie
Het handmatig aanpassen van tijdsblokken of instellingen in de app van je batterijfabrikant is vaak omslachtig en beperkt. Zo heeft geen enkele batterijfabrikant de mogelijkheid om een modus voor een paar uur aan te zetten en automatisch te laten volgen door een andere modus. De enige die dit nu recent toegevoegd heeft is Samduo. En het was al heel lang een wens van ons om op die manier de ideale strategie te bepalen en in te delen. Door het ontbreken van deze functionaliteit was het noodzakelijk elke dag op tijd de juiste modus aan te zetten. Met deze integratie is dat overbodig geworden.
Om je de volledige controle en flexibiliteit te geven, hebben we de Energienerds Home Assistant Integratie ontwikkeld, een project waar inmiddels al meer dan 100 uur aan werk en optimalisatie in is gaan zitten. Met deze integratie kun je heel eenvoudig een combinatie maken van tijdsblokken en specifieke werkmodi (zoals Laden, Ontladen, Nul-op-de-Meter, Slim Ontladen, etc. afhankelijk van de modi van je batterijmerk).
Hierdoor kun je je dag precies zo inrichten dat je in de lente en zomer het maximale rendement uit je zonnepanelen en thuisbatterij haalt en sowieso je batterij veel flexibeler managen dan met de standaard functionaliteit. Wil je bijvoorbeeld ’s avonds bij hoge prijzen maximaal ontladen, maar ’s nachts toch Nul-op-de-Meter (NOM) blijven draaien? Dan stel je eenvoudig in dat het avondprogramma stopt op het gewenste accupercentage (SoC). In plaats van door te laden of ontladen tot 10%, stop je op 25% — zo houd je precies genoeg capaciteit over om de nacht door te komen. Deze integratie biedt je al die flexibiliteit. En zo zijn er talloze mogelijkheden om je schema optimaal in te stellen voor jouw huishouden: jij zit aan de. knoppen!
Tenslotte

Met de Energienerds Home Assistant-integraties neem je zelf de volledige regie over je thuisbatterij. Door tijdsblokken en slimme modi te combineren, haal je tijdens de zonnige maanden het maximale uit de EPEX-prijzen én je eigen zonne-opwek. Zo verkort je niet alleen de terugverdientijd van je batterij, maar maak je ook direct de meest duurzame keuze. Want doordat we samen stroom leveren op de duurste piekmomenten, hoeven de gascentrales minder vaak aan te springen!
Verder lezen
Batterijen:
- Slimme KeuzeHulp Thuisbatterijen
- Database Thuisbatterijen
- Hoe groot moet je thuisbatterij zijn? kWh KeuzeHulp
- Stekkerbatterijen – de startgids
Reviews:
ERE-Registratie voor particuliere EV bezitters (krijg geld voor het laden van je EV):
Dynamisch contract:
- Test jezelf: ben jij klaar voor dynamische energieprijzen?
- Dynamisch energiecontract kiezen: de juiste leverancier selecteren zonder in valkuilen te trappen
- Nieuwe nettarieven verkorten terugverdientijd aanzienlijk
- Handelen met de EPEX day ahead markt: kansen en kosten voor thuisbatterijen na 2026
Jan Pullens is specialist in Home Assistant, netwerken en automatisering, met een jarenlange achtergrond in de ICT‑sector.
Hij heeft uitgebreide ervaring met het ontwerpen, optimaliseren en beveiligen van slimme thuisnetwerken, en weet precies hoe hardware, software en protocollen samenwerken binnen moderne smart‑home‑omgevingen.
Zijn expertise ligt bij Home Assistant‑integraties, IoT‑communicatie, lokale automatisering, energie‑dashboards, P1‑koppelingen en het naadloos verbinden van slimme apparaten. Dankzij zijn technische diepgang weet Jan complexe systemen terug te brengen tot praktische, betrouwbare oplossingen die voor iedereen werken.
Bij Energienerds richt Jan zich op de technische kant van slimme energieopslag en stekkerbatterijen: van het integreren van AC‑batterijen in Home Assistant tot het automatiseren van laadstrategieën op basis van dynamische tarieven, PV‑opwek en realtime verbruiksdata.
Met zijn combinatie van ICT‑ervaring, netwerkkennis en smart‑home‑expertise helpt Jan huishoudens om hun energie‑ecosysteem slimmer, stabieler en efficiënter te maken. Zijn handleidingen en integratie‑gidsen worden gezien als een van de meest betrouwbare bronnen voor iedereen die meer uit Home Assistant en slimme energie wil halen.


Fijn dat jullie via HA integratie voor Zendure een beter bestuurbaar systeem maken!
Zelf heb ik 3 Zendure solarflow 2400AC omvormers , nl op elke fase een met 2 AB3000x batterijen en met een eigen groep. Kan dan 3 x 2400 watt laden of ontladen.
Werkt jullie integratie dan ook op de 3 omvormers? Ik neem aan dat ik HEMS moet uitschakelen dan. Nu regelt HEMS via de Zendure cloud nog de verdeling over mijn drie omvormers
De modi Slim opladen/ontladen en Smart gelden altijd voor alle Zendure-batterijen binnen de officiële integratie. Wil je een specifieke batterij buiten de aansturing houden, dan moet je deze op ‘Niet gebruikt’ zetten binnen de Zendure integratie.
Het direct aansturen met een specifiek laad- of ontlaadvermogen geldt uitsluitend voor de batterij die je in de Energienerds-configuratie hebt geselecteerd.
Eigenlijk is het natuurlijk een blamage voor Zendure, dat je naar een extern systeem moet om de energieflow goed te regelen. Klopt het dat met Home Assistant de laad en ontlaad stroom per batterij geregeld kan worden? Ik loop namelijk ook tegen het probleem aan dat ik twee PV installaties heb die ieder zo’n 2500 Wp leveren, maar met mijn twee 4000 Mix AC+ in Hems, is mijn maximale laad en ontlaadstroom in totaal beperkt tot 3000W, terwijl ze op verschillende fasen zitten. Eigenlijk zou dit dus makkelijk 4800 W kunnen zijn. Dit beperkt de functionaliteit van de batterijen aanzienlijk, want ik kan of de stroom van de PV installatie niet kwijt, of ik moet stroom inkopen als ik meer dan 3000W nodig heb. Ik hoor graag of Home Assistant de oplossing hiervoor is.
Ja in HA kun je via de Zendure integratie per batterij een laad/ontlaadvermogen opgeven, je kunt ze ook in dezelfde “fusegroup” tot max 5.000 W zetten en dan werken de slimme modi ook voor die 2 batterijen samen.
Je kunt wel boven de 3.000 W in de app maar dan verlangt Zendure eerst een verklaring van je elektricien vanwege de veiligheid.
Dat laatste klopt wel, maar de Hems ziet de beide batterijen blijkbaar als één systeem en stuurt dan in bepaalde situaties 5.000 W naar een van de batterijen. En dat is net weer een beetje teveel van het goede. Dan moet ik alsnog een ingreep in de meterkast laten uitvoeren door een elektricien en dat is met een stekkerbatterij nu juist niet de bedoeling.
Ik snap je dilemma maar de Zendure SolarFlow Mix zien wij niet meer als een stekkerbatterij, zoals we bij dit soort hoog vermogen batterijen ook aangeven is het veiligste wat je kunt doen, meteen een vaste aansluiting realiseren.
Interessant, zit er voor Anker Solix ook een Homey Pro integratie aan te komen?
Helaas we hebben geen Homey Pro meer in bezit, en ook te weinig ervaring mee.
Bedankt, kreeg wel ergens mee dat er een Homey integratie op komst was voor de Anker Solix. Er is n.l. wel een Anker Solix app in Homey. Denk dat we dan zelf aan het programmeren moeten.
Ja dat heb ik ook vernomen dat het op de planning staat.
Beste Jan,
Ik heb jouw artikel over de Home assistant planner voor de Anker en Zendure nog eens weer gelezen en vroeg mij af of jullie de genoemde batterij leveranciers niet kunnen bewegen iets dergelijks in hun besturingsmodus op te nemen zoals ook Samduo dat blijkbaar heeft?
We hebben ze al op de hoogte gebracht van onze planner, en dat ze daarmee kunnen scoren als dergelijke functionaliteit ook in hun app opgenomen zou worden.
Wat leuk dat jullie dit gemaakt hebben! Ik ben afgelopen weekend ook bezig geweest met een automatisering voor mijn kleine Zendure (SolarFlow 800 Plus). Mijn aanpak is wat anders, ik kijk in de day-ahead prijzen (Zonneplan integratie) of er een piek of dal aankomt. Op basis daarvan gaat de accu laden of ontladen. Als het verschil tenminste de moeite waard is na aftrek laad/ontlaadverlies. Specifiek voor Zonneplan moet dan ook rekening gehouden met de 10% zonnebonus die geldt tussen zonsopkomst en zonsondergang.
Zolang salderen mag is dit een redelijk eenvoudige regeling. Na 1 januari wordt het wel echt ingewikkeld. Dan wil je zonne-energie liefst zoveel mogelijk behouden, tenzij de accu later op de dag vol zal raken, of de stroomprijs zó hoog is dat de extra energiebelasting ruimschoots wordt terugverdiend. Dan moet je dus ook rekening houden met de te verwachten opbrengst uit de zonnepanelen die dag, die afhankelijk is van de datum én de weersvoorspelling. En het verwachte eigen gebruik. Zo heb je haast een AI oplossing nodig die meer stroom verbruikt dan de hele accu bespaart…
Dank je! En mbt na einde saldering, voor lente en zomer hoeft het niet zo ingewikkeld te zijn. Je zorgt er gewoon voor dat je batterijen geladen worden via je eigen zonnepanelen overschot. Dat zorgt ervoor dat het niet teruggeleverd wordt aan het net tegen een lage vergoeding. En daarna tijdens de piek van de dag (zo’n beetje tussen 19:00 en 22:00) lever je je zelf opgewekte stroom terug aan het net dmv ontladen op hoge load en krijg je voor je zonne-energie de best mogelijke prijs. En bij effect is dat je batterij dan niet de helft van het jaar maar voor een beetje gebruikt wordt, je benut elke dag de volledige capaciteit en je ontvangt extra geld voor je teruglevering. En omdat je niets met afname van het net doet (je slaat alleen je eigen zonne-energie op), heb je ook niets met energiebelasting te maken. Het enige wat je doet is een zo hoog mogelijke opbrengst realiseren voor je zonne-energie en gelijktijdig gascentrales zoveel mogelijk buiten spel zet. Een win-win situatie!
Nou, dat lijkt me wel een beetje te kort door de bocht. Als de stroomprijs (na stoppen salderen) ’s avonds niet heel hoog is kan de accu beter de stroom vasthouden, om mij zonder inkoop door de nacht te helpen. Tenzij de stroom excl. belasting ’s avonds significant duurder is dan de stroom die ik incl. belasting (en laad/ontlaadverlies) ’s nachts moet terugkopen.
Als je een heel grote accu hebt staan is het natuurlijk een ander verhaal, maar mijn accu is zo klein (1,92 kWh) dat ik hem elke avond/nacht wel leegtrek. Dan is het zonde om ’s avonds terug te leveren en de stroom later op de avond/nacht duurder (want incl. energiebelasting) weer terug te moeten kopen.
Meestal verbruik je ‘s-nachts niet zoveel en is de batterij eigenlijk veels te klein voor je zonnepaneel productie. En dat geldt voor veel mensen. En dan is het scenario om je zonne-energie ‘s-avonds terug te leveren bedrijfseconomisch en vanuit duurzaamheid het beste. En dan kun je er nog steeds voor kiezen om een gedeelte van je batterij te reserveren voor de nacht. En wat voor ons ook een rol speelt is dat ons nachtverbruik maar 70-100W is en dan is dat compenseren met je thuisbatterij is niet erg efficient, dan verbruikt de batterij al zelf 25-30W om NOM te realiseren bovenop je echte verbruik. Maar het is natuurlijk wel mogelijk, zeker als je een fors hoger nachtverbruik hebt.
Oh, dat de accu 25-30W gebruikt om NOM te realiseren wist ik niet. Dat verandert de zaak inderdaad wel. Het grootste deel van mijn nachtverbruik komt van de Quooker, maar die vraagt heel kort heel veel stroom. Dat is sowieso een slecht scenario voor een accu. Zodra de accu extra gaat leveren (800W, maximum) is de Quooker alweer bijna klaar. Dan kan ik de accu ’s nachts wellicht beter uitzetten inderdaad. Dat beetje verbruik van de koelkast en andere sluipverbruikers moet dan maar uit het net komen.
Precies, dat is ook onze gedachte, zeker als je een laag nachtverbruik hebt. Heb je nu 200-500W nachtverbruik wordt het een ander verhaal. Maar meestal valt het wel mee in lente- en zomer. Mocht je een hoog nachtverbruik hebben dan helpt de integratie ook, want dan kun je gewoon aangeven ‘s-avonds ontladen tot 22:00 uur, maar SOC mag niet lager dan 30% bijvoorbeeld, zodat je dat kunt gebruiken voor nacht programma NOM.
Bij mij gaf de Quooker ook problemen en hierdoor werd 2kWh s’nachts teruggeleverd. Ik heb de Quooker nu d.m.v. een homewizard plug met stroommeting uitgesloten van de P1 meting tussen zonsondergang en zonsopgang.
Alle pieken van de Quooker worden nu s’nachts genegeerd terwijl die Quooker wel z’n ding blijft doen s’nachts.
Eerstvolgende nacht was netjes 0,1 kWh van het net en 0,1kWh teruglevering.
Hoe het precies in elkaar zit weet ik niet, ik heb Claude het in mijn HA laten zetten.
Andere optie is misschien de Quooker d.m.v. een plug gewoon s’nachts uitschakelen.
2 kWh is wel heel veel export voor een Quooker gedurende de nacht. Bij ons verbruikt de Quooker (in combinatie met een Zendure-batterij in NOM-modus) circa 0,004 kWh per korte verwarmings-puls, met een vergelijkbare export. Een Anker Solix Max heeft daar maar 0,001 import voor nodig, maar de efficientie van Zendure is weer net iets beter.
Bij een frequentie van ongeveer twee pulsen per uur kom je tussen 00:00 en 06:00 uit op een totaal van slechts 0,048 kWh. Als jij op 2 kWh export zit, gaat er dus duidelijk iets mis in de aansturing. Maak je gebruik van een DSMR5-slimme meter die elke seconde een update geeft?
Dit komt inderdaad ook door de combinatie in aansturing. Heb 3x de Zendure die via een NodeRed Proxy worden aangestuurd door de Gielz package in HA, hierin zit dus telkens een sec. of 5 vertraging. Dat verklaart die 2kWh.
Dat is door de uitsluiting van de Quooker opgevangen en om de laad/ontlaad limieten wat bij te stellen.
Het is dus bekend waar het in zit, maar dus als tip voor andere gebruikers hoe de Quooker eventueel kan worden opgevangen.
Na de bijstelling was het resultaat dus wel goed zoals het moet zijn.
Dat blijft vreemd. Zelfs met een trage of niet-optimale sturing is het bijna onmogelijk om zo’n hoge export te krijgen. Dit wijst er toch echt op dat de aanstuurlogica niet goed ingesteld staat. Maar goed dat je hebt kunnen oplossen!
Dat vind ik een slimme oplossing! Probleem is wel dat de Homewizard Energy Socket een behoorlijk slechte WiFi antenne heeft, onder mijn keukenkastje wil hij niet eens verbinden. Dus dan moet er ook weer een WiFi versterker bij.
2kWh is wel bizar veel inderdaad. Een vertraging van enkele seconden kan echt niet verklaren hoor.
Dit was de allereerste nacht met de accu’s draaiend. Daarna heb ik nog wat aan de waarden lopen schuiven de accu’s beter laten samenwerken en de Quooker buitengesloten en toen was het 0,1kWh van het net en 0,1kWh terug. Prima dus!
Bij de laatste release wordt nu een HACS integratie ‘nordpool’ gebruikt. Ik gebruik zelf de core versie in Home Assistant (‘nord pool’). Kan ik de HACS variant ongestraft laden zonder daarbij tegen entiteit conflicten aan te lopen?
Heb liever niet dat mijn automatiseringen hierdoor stuk gaan! Zo niet dan neem ik afscheid van deze planner.
Ja, dat kan zeker! De Nord Pool-integratie die wij gebruiken bestaat uit slechts één unieke entiteit, met alle uurdetails als attributen daarbinnen. Die zitten elkaar zeker niet in de weg.
Je geeft aan wat de optimale strategie is voor lente+zomer en hoe dit te vertalen naar een optimaal dagschema.
Zou je dit artikel kunnen aanvullen hoe de strategie en het dagschema er uit ziet voor herfst+winter?
Dat gaan we binnenkort doen, zoals ook onderaan artikel aangegeven staat, maar zijn erg druk met reviewen enz. Maar gelukkig is het nog geen herfst. Maar komt er binnenkort aan. en als je je abonneert op onze nieuwsbrief krijg je bericht over nieuwe artikelen.
Super! Ik heb me zojuist aangemeld voor de nieuwsbrief. Eerdaags ook maar met HA aan de slag gaan.
Mooi zo! Ja, HA is prachtig, in begin wel beetje steile leercurve, maar je kunt er geweldig veel mee. Zeker in combinatie met batterijen
Gaat die strategie ook rekening houden met de geprognotiseerde zoninstraling, zodat niet de energie verkocht wordt en je de volgende dag met een lege batterij toch weer energie moet kopen?
Hallo Gerard, dat gebeurt niet automatisch, daarvoor kun je zelf bijvoorbeeld het percentage maximaal ontladen aan passen. Dat doe ik ook, dus als ik ‘smorgens tijdens de piek uren nog 1 kWh nodig heb zet ik de maximale ontlading bijvoorbeeld op 20% en restant gebruik ik dan bij ochtendprogramma. De planner is ook echt bedoeld voor mensen die met Home Assistant het maximale uit hun batterij willen halen qua opbrengsten. En dat vergt net wat meer werk dan een sub-optimale AI mode van een batterijmerk zelf.
Ok, dankjewel!
Ik zie dat Home Assistant ook een Open-Meteo (zoninstraling.nl) integratie heeft, ik ga tzt eens kijken of ik dat kan combineren. Met een gefundeerde voorspelling is het net wat makkelijker om te bepalen hoeveel energie je kunt verkopen zonder leeg te raken
Ik draai de Anker SOLIX Schedule in HA voor mijn Anker Solix Max AC en deze werkt goed alleen heb ik nog niet zoveel ervaring met HA en zou graag ook de aparte NOM-O switch werkend willen krijgen zodat hij NOM doet maar nog niet gaat opladen bij hogere tarieven. Kan je kort uitleggen hoe ik dat in HA voor elkaar moet krijgen?
Daarnaast valt het mij op dat als je in de schedule bv voor Laden of Ontladen modus kiest dat in de anker app dan “Door derden aangestuurde toestand” komt te staan maar bij de NOM setting kiest hij de “Zelfverbruikmodus” en dan pakt hij dus niet de Max SOC en Min SOC settings van de NOM modus in de schedule. Of heb ik dan iets niet goed ingesteld?
Die switch start een script (bij mij een Node-Red flow, maar elk gewenst script kun je hier koppelen). Mijn Node-RED flow staat hieronder. Kijk maar of je er wat aan hebt, al is het zonder ervaring met Node-Red wel ingewikkeld. Je kunt de flow in je eigen Node-Red importeren en aanpassen naar je eigen entities.
Qua instellingen klopt het: “Door derden aangestuurde toestand” en “Zelfverbruikmodus” is exact zoals het hoort. Met de min/max-soc voor NOM gaat er inderdaad iets mis: bij mij pakt hij de min-soc wel, maar de max-soc negeert hij. Dit zoek ik binnenkort even uit, bedankt voor het melden!
[{"id":"f3f555619487afe6","type":"api-call-service","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"zet waarde","server":"255d6fd2.446fd","version":7,"debugenabled":false,"action":"number.set_value","floorId":[],"areaId":[],"deviceId":[],"entityId":["number.anker_solix_device_192_168_1_41_ingestelde_laad_ontlaadvermogen"],"labelId":[],"data":"{ \"value\": msg.payload }","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":true,"domain":"number","service":"set_value","x":1410,"y":420,"wires":[[]]},{"id":"4d0fcddc52898565","type":"switch","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"false","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1250,"y":420,"wires":[["f3f555619487afe6"]]},{"id":"153aa7f0031c7804","type":"function","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"niet gelijk","func":"const limit = msg.huidig;\n\nif (msg.payload === limit) {\n msg.payload = 'false';\n}\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1080,"y":420,"wires":[["4d0fcddc52898565"]]},{"id":"ccd1fa8d0ea89c2e","type":"api-current-state","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"huidige waarde","server":"255d6fd2.446fd","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"is","entity_id":"sensor.max_ac_export_act","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"huidig","propertyType":"msg","value":"string","valueType":"entityState"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":880,"y":420,"wires":[["153aa7f0031c7804"]]},{"id":"7626c86192f43b75","type":"function","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"deel 1 filter","func":"// Zet msg.payload om naar een JSON-object\nlet data = JSON.parse(msg.payload);\n// Haal de waarden uit het object\nlet deel1 = data.deel1 || 0;\nmsg.payload = deel1;\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":420,"wires":[["ccd1fa8d0ea89c2e"]]},{"id":"c5322450dd0c6757","type":"switch","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"gewijzigd?","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"false","vt":"str"}],"checkall":"false","repair":false,"outputs":1,"x":450,"y":420,"wires":[["7626c86192f43b75"]]},{"id":"ba37040ecece59ba","type":"delay","z":"9b0a2c04330a4702","g":"5907f02c14fa6ed2","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":1230,"y":220,"wires":[["c5322450dd0c6757"]]},{"id":"c4d21069b5ea4778","type":"api-render-template","z":"9b0a2c04330a4702","g":"5907f02c14fa6ed2","name":"nw waarde","server":"255d6fd2.446fd","version":0,"template":"{% set dep = states('switch.anker_nom') == 'on' %}\n\n{% if not dep %}\n false\n{% else %}\n {% set anker_soc = float(states('sensor.anker_solix_device_192_168_1_41_soc') if states('sensor.anker_solix_device_192_168_1_41_soc') not in ['unknown', 'unavailable'] else 0) %} \n {% set anker_act = float(states('sensor.max_ac_export_act') if states('sensor.max_ac_export_act') not in ['unknown', 'unavailable'] else 0) %}\n {% set anker_exp_max = float(states('input_number.anker_export_max') if states('input_number.anker_export_max') not in ['unknown', 'unavailable'] else 0) %}\n {% set p1 = float(states('sensor.homewizard_p1_vermogen')) %}\n {% set anker_soc_min = float(states('input_number.anker_min_soc') if states('input_number.anker_min_soc') not in ['unknown', 'unavailable'] else 20) %}\n {% set waarde = [(p1 + anker_act) | round(0), (anker_exp_max)] | min %}\n {% set znw = [waarde, 10] | max %}\n \n {% set deel1 = 0 %}\n {% set deel1 = znw %}\n\n {% if deel1 > anker_exp_max %}\n {% set deel1 = anker_exp_max %}\n {% endif %}\n\n {% if anker_soc <= anker_soc_min %}\n {% set deel1 = 0 %}\n {% endif %}\n\n {% if deel1 == 0 and anker_soc > anker_soc_min %}\n {% if znw > anker_exp_max %}\n {% set deel1 = anker_exp_max %}\n {% else %}\n {{znw}}\n {% endif %}\n {% endif %} \n {% if anker_act - (deel1) > 10 or anker_act - (deel1) < -10 %}\n {% if deel1 < 12 %}{% set deel1 = 0 %}{%else%}{% set deel1 = deel1 + 1 %} {% endif %} \n {{ {\"deel1\": deel1} | tojson }}\n {% else %}\n false\n {% endif %} \n{% endif %}\n","resultsLocation":"payload","resultsLocationType":"msg","templateLocation":"","templateLocationType":"none","x":1030,"y":220,"wires":[["ba37040ecece59ba"]]},{"id":"d8805b62c053ce44","type":"trigger","z":"9b0a2c04330a4702","g":"5faca149e0a2e117","name":"trigger","op1":"true","op2":"0","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":true,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":790,"y":220,"wires":[["c4d21069b5ea4778"]]},{"id":"1fdff6ab53076334","type":"server-state-changed","z":"9b0a2c04330a4702","g":"4fd4d2604c664070","name":"Anker nom > 200","server":"255d6fd2.446fd","version":6,"outputs":2,"exposeAsEntityConfig":"9413879e3d09100b","entities":{"entity":["sensor.homewizard_p1_vermogen"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"num","ifState":"200","ifStateType":"num","ifStateOperator":"gte","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"string","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":780,"y":80,"wires":[["c4d21069b5ea4778"],[]]},{"id":"09f1252d96103b2f","type":"function","z":"9b0a2c04330a4702","g":"5faca149e0a2e117","name":"payload","func":"msg.delay = msg.payload * 1000; // Verander seconden in milliseconden\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":220,"wires":[["d8805b62c053ce44"]]},{"id":"59d5d2d1dbdf14e3","type":"api-current-state","z":"9b0a2c04330a4702","g":"5faca149e0a2e117","name":"interval","server":"255d6fd2.446fd","version":3,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"is","entity_id":"input_number.cluster_interval","state_type":"num","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"string","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":220,"wires":[["09f1252d96103b2f"]]},{"id":"943c638823b8f423","type":"server-state-changed","z":"9b0a2c04330a4702","g":"4fd4d2604c664070","name":"Anker nom","server":"255d6fd2.446fd","version":6,"outputs":1,"exposeAsEntityConfig":"9413879e3d09100b","entities":{"entity":["sensor.homewizard_p1_vermogen"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"num","ifState":"","ifStateType":"num","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"string","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":420,"wires":[["59d5d2d1dbdf14e3","0fa082117bb50bd3","872acd1bb981889d"]]},{"id":"0fa082117bb50bd3","type":"delay","z":"9b0a2c04330a4702","g":"25a646cca5aa60d3","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":400,"y":600,"wires":[["990cd2534d216e6c"]]},{"id":"872acd1bb981889d","type":"delay","z":"9b0a2c04330a4702","g":"25a646cca5aa60d3","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":400,"y":760,"wires":[["ac67aa8b2ef33fc5"]]},{"id":"990cd2534d216e6c","type":"api-current-state","z":"9b0a2c04330a4702","g":"468d189d4a89bbec","name":"huidge waarde aansturing checken","server":"255d6fd2.446fd","version":3,"outputs":2,"halt_if":"third_party_control","halt_if_type":"str","halt_if_compare":"is_not","entity_id":"select.anker_solix_device_192_168_1_41_bedrijfsmodus_apparaat_werkt_in_externe_modus","state_type":"str","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":820,"y":600,"wires":[["098f807c3bfe347b"],[]]},{"id":"ac67aa8b2ef33fc5","type":"delay","z":"9b0a2c04330a4702","g":"25a646cca5aa60d3","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":560,"y":760,"wires":[["802c389ea07c1ce5"]]},{"id":"098f807c3bfe347b","type":"api-call-service","z":"9b0a2c04330a4702","g":"468d189d4a89bbec","name":"externe sturing aanzetten","server":"255d6fd2.446fd","version":7,"debugenabled":false,"action":"select.select_option","floorId":[],"areaId":[],"deviceId":[],"entityId":["select.anker_solix_device_192_168_1_41_bedrijfsmodus_apparaat_werkt_in_externe_modus"],"labelId":[],"data":"{'option': 'third_party_control'}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":true,"domain":"select","service":"select_option","x":1150,"y":600,"wires":[[]]},{"id":"802c389ea07c1ce5","type":"api-current-state","z":"9b0a2c04330a4702","g":"5bfaa970ac5ae7bb","name":"uitvoer al aan?","server":"255d6fd2.446fd","version":3,"outputs":2,"halt_if":"discharge","halt_if_type":"str","halt_if_compare":"is_not","entity_id":"select.anker_solix_device_192_168_1_41_laad_ontlaadregeling","state_type":"str","blockInputOverrides":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":760,"y":760,"wires":[["0a021f4eb7ea30f6"],[]]},{"id":"0a021f4eb7ea30f6","type":"api-call-service","z":"9b0a2c04330a4702","g":"5bfaa970ac5ae7bb","name":"uitvoer aanzetten","server":"255d6fd2.446fd","version":7,"debugenabled":false,"action":"select.select_option","floorId":[],"areaId":[],"deviceId":[],"entityId":["select.anker_solix_device_192_168_1_41_laad_ontlaadregeling"],"labelId":[],"data":"{'option': 'discharge'}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":true,"domain":"select","service":"select_option","x":1130,"y":760,"wires":[[]]},{"id":"4f697b63ae6955c4","type":"comment","z":"9b0a2c04330a4702","g":"25a646cca5aa60d3","name":"initialisatie","info":"","x":380,"y":540,"wires":[]},{"id":"d379afcc3eeb5793","type":"comment","z":"9b0a2c04330a4702","g":"5faca149e0a2e117","name":"interval ophalen","info":"","x":400,"y":160,"wires":[]},{"id":"efb0002785ae822d","type":"comment","z":"9b0a2c04330a4702","g":"5907f02c14fa6ed2","name":"NWE WAARDE BEPALEN","info":"","x":1070,"y":160,"wires":[]},{"id":"1ee4f5d4f48dd840","type":"comment","z":"9b0a2c04330a4702","g":"fc23c28f78a14660","name":"NWE WAARDE VERDELEN","info":"","x":430,"y":320,"wires":[]},{"id":"9f76ba7e5b16e7fb","type":"comment","z":"9b0a2c04330a4702","g":"4fd4d2604c664070","name":"NOM ANKER MAX AC","info":"","x":160,"y":80,"wires":[]},{"id":"255d6fd2.446fd","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","statusHourCycle":"h23","statusTimeFormat":"h:m:s","enableGlobalContextStore":false},{"id":"9413879e3d09100b","type":"ha-entity-config","server":"255d6fd2.446fd","deviceConfig":"","name":"anker nom","version":6,"entityType":"switch","haConfig":[{"property":"name","value":"anker nom"},{"property":"icon","value":""},{"property":"entity_picture","value":""},{"property":"entity_category","value":"config"},{"property":"device_class","value":"switch"}],"resend":false,"debugEnabled":false},{"id":"6d82c7cff5382a49","type":"global-config","env":[],"modules":{"node-red-contrib-home-assistant-websocket":"0.80.3"}}]Dank voor je Node-RED flow script, ben deze nu aan het updaten voor mijn entities alleen kan ik de volgende sensor en inputs niet matchen?
sensor.max_ac_export_act
input_number.cluster_interval
input_number.anker_export_max
input_number.anker_min_soc
Dat zijn allemaal HA helpers die je zelf kunt aanmaken waarmee je het script verder kunt beinvloeden:
sensor.max_ac_export_act: de actuele export(vermogen) van de max dat ik opvraag van een kWh meter.
input_number.cluster_interval: om de hoeveel seconden moet er een nieuwe waarde bepaalt worden
input_number.anker_export_max: hiermee bepaal ik de maximale hoogte van de export dat de Max mag doen
input_number.anker_min_soc: de ondergrens van de minimale soc, binnen de app kan die maar tot 20% maar als je een grotere reserve wilt hebben omdat je later op de dag nog wilt exporteren kun je hem met deze helper op iedere waarde zetten
Wat is de fallback stand als de Zendure Planner uitgezet wordt?
Ik merk dat de batterij dan naar NOM gaat, terwijl ik graag zou hebben dat de batterij dan in standby gaat. Klopt dit eerste?
Ik heb het even getest: als NOM (slimme matching) aanstaat en ik zet de planner uit, blijft hij op NOM staan. Zet ik hem echter op 150 W laden en zet ik de planner uit, dan springt hij naar 0 W.
Ik kende jullie reviews al via het Indevolt topic op Tweakers. Maar nu zie ik dat jullie expertise over optimalisatie en verschillende strategieën voor voorjaar/zomer en herfst/winter zich ook daadwerkelijk in een complete Home Assistant integratie vertaalt (met de hefst/winter integratie op komst). Geweldig!
We hebben sinds het voorjaar van 2025 een Marstek Venus E 2.0 en, hoewel die het in basis best goed doet, is de AI modus van hun waardeloos. En ik heb zelf te weinig hersencapaciteit over om een deftige optimalisatie via Home Assistant te bedenken. Bovendien vinden we de capaciteit toch net iets te weinig voor ons huishouden, voor ons praktische tijden qua draaien van de vaatwasser, ‘idle’ verbruik van 250W, etc. Al heel lang twijfel over een overstap naar óf Zendure, óf Indevolt.
Na het lezen van jullie review van de Zendure Solorflow 2400 AC+ en het lezen over jullie Home Assistant integratie, weet ik nu vrijwel zeker dat ik toch wel voor de Zendure wil gaan! Bij Indevolt vind ik het concept van ‘semi solid’ cellen wel aantrekkelijk; de batterij staat bij ons in een schuurtje waar het in de zomer best warm wordt maar in een strenge winter ook onder 0 kan komen. Maar aangezien de Zendure de batterijen actief kan verwarmen en hij toch wel de RTE-koning is, en jullie integratie (nog?) niet werkt met Indevolt, ga ik toch voor Zendure 🙂
Leuk om te lezen dat onze planner, al invloed heeft op de keuze van een batterij 🙂 Voor Indevolt hebben we op dit moment nog geen plannen, we denken wel na over een universele versie maar dat vergt van de gebruiker veel instellingen/inzicht en zal daardoor niet snel een grote groep bereiken.