Anker Solix Max AC aansturen vanuit Home Assistant – mijn opzet met EVCC, SolarEdge en dynamische logica
De afgelopen tijd ben ik bezig geweest om mijn Anker Solix Max AC slimmer te laten samenwerken met Home Assistant en EVCC. Ik heb daarbij zowel Omnibattery als de batterijsturing vanuit EVCC geprobeerd, maar merkte dat meerdere systemen die tegelijk aan dezelfde accu trekken vooral onrust en onverwacht gedrag kunnen veroorzaken.
Bij mij gebeurde het bijvoorbeeld regelmatig dat de accu stopte met laden terwijl er nog zonne-overschot was. Ook kreeg ik situaties waarbij een regeling dacht dat er nog voldoende overschot aanwezig was, terwijl dat in werkelijkheid vermogen uit de thuisaccu was.
Daarom heb ik samen met ChatGPT een andere taakverdeling opgebouwd:
- De Anker staat normaal in NOM/self-consumption.
- EVCC stuurt alleen de auto en laadpaal aan.
- Home Assistant regelt de uitzonderingen en de samenwerking tussen beide systemen.
- De Anker-app blijft verder verantwoordelijk voor de normale nul-op-de-meterregeling.
Mijn doel is vooral dat zonne-energie altijd eerst nuttig wordt gebruikt en dat de thuisaccu niet onnodig wordt leeggetrokken voor het laden van de auto.
Nachtstrategie voor de auto
De auto mag ’s nachts via EVCC in Min+PV laden vanuit de thuisaccu. Dat doe ik om ruimte in de thuisaccu te maken wanneer de volgende dag voldoende zonneproductie wordt verwacht.
Daarbij gebruik ik twee instelbare SOC-grenzen:
- Min+PV starten vanaf bijvoorbeeld 30%
- Stoppen bij bijvoorbeeld 25%
Deze waarden zijn als helpers in Home Assistant opgenomen en kunnen rechtstreeks vanuit het dashboard worden aangepast. Daardoor kan ik de reserve eenvoudig verhogen wanneer blijkt dat de accu ’s avonds anders te snel leeg raakt.
Bijvoorbeeld:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| input_number:
guido_minpv_start_soc:
name: Min+PV starten vanaf SOC
min: 10
max: 90
step: 1
unit_of_measurement: "%"
mode: slider
guido_pv_stop_soc:
name: EVCC stoppen bij SOC
min: 5
max: 80
step: 1
unit_of_measurement: "%"
mode: slider |
De regeling gebruikt hysterese. Wanneer Min+PV eenmaal actief is, blijft dit actief totdat de onderste SOC-grens wordt bereikt. Hierdoor wordt voorkomen dat de regeling voortdurend tussen PV en Min+PV wisselt.
Eerst EVCC uit en daarna pas naar PV
Hier liep ik tegen een interessant probleem aan.
De Anker probeert het netverbruik op nul te houden. Wanneer EVCC de auto via Min+PV laat laden, levert de Anker dus vermogen aan de woning en de laadpaal. EVCC ziet daardoor weinig of geen netafname en kan dit ten onrechte interpreteren als beschikbaar zonne-overschot.
Wanneer Home Assistant EVCC dan rechtstreeks van Min+PV naar PV schakelt, kan EVCC blijven laden omdat het vermogen van de thuisaccu eruitziet als PV-overschot.
De oplossing is daarom een tussenstap:
- Bij de onderste SOC-grens gaat EVCC eerst naar off.
- De auto stopt met laden.
- De Anker stopt daardoor met leveren aan de auto.
- Home Assistant wacht totdat de SolarEdge-omvormer minimaal 100 W echte zonneproductie registreert.
- Pas daarna wordt EVCC naar PV geschakeld.
De PV-vrijgave is dus niet gebaseerd op de netmeter, maar rechtstreeks op:
code:
1
| sensor.solaredge_i1_ac_power |
De kern van de logica ziet er ongeveer zo uit:
YAML:
1
2
3
4
5
6
7
8
9
10
| - choose:
- conditions:
- condition: template
value_template: "{{ anker_soc <= stop_soc }}"
sequence:
- service: select.select_option
target:
entity_id: select.evcc_zaptec_mode
data:
option: "off" |
Daarna wordt PV pas vrijgegeven wanneer er daadwerkelijk zonneproductie is:
YAML:
1
2
3
4
5
6
7
8
9
| - condition: template
value_template: >
{{ states('sensor.solaredge_i1_ac_power') | float(0) >= 100 }}
- service: select.select_option
target:
entity_id: select.evcc_zaptec_mode
data:
option: "pv" |
Hiermee voorkom ik dat de teruglevering vanuit de Anker door EVCC wordt aangezien voor echt zonne-overschot.
Voorkomen dat de auto de thuisaccu leegtrekt
Een tweede punt was het normale snel laden en laden via een EVCC-laadplan.
Wanneer EVCC op NOW staat of tijdens een goedkoop uur werkelijk begint te laden, wil ik niet dat de Anker het laadvermogen van de auto gaat compenseren. De auto moet op dat moment uit het net laden en niet uit de thuisaccu.
Daarom laat Home Assistant de Anker tijdelijk naar externe besturing gaan met een vermogensopdracht van 0 W.
In mijn installatie worden hiervoor onder andere deze entiteiten gebruikt:
code:
1
2
3
| select.anker_solix_solarbank_max_ac_190_bedrijfsmodus_apparaat_werkt_in_externe_modus
select.anker_solix_solarbank_max_ac_190_netvermogen
number.anker_solix_solarbank_max_ac_190_netvermogen |
De regeling onthoudt eerst de bestaande Anker-modus. Daarna gebeurt het volgende:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| - service: select.select_option
target:
entity_id: >
select.anker_solix_solarbank_max_ac_190_bedrijfsmodus_apparaat_werkt_in_externe_modus
data:
option: "third_party_control"
- service: select.select_option
target:
entity_id: select.anker_solix_solarbank_max_ac_190_netvermogen
data:
option: "charge"
- service: number.set_value
target:
entity_id: number.anker_solix_solarbank_max_ac_190_netvermogen
data:
value: 0 |
Met “charge” en een setpoint van 0 W blijft de accu feitelijk stil: hij laadt niet en ontlaadt niet.
Na afloop wordt de vorige modus automatisch hersteld. Op dit moment is dat bij mij NOM/self-consumption. Later, wanneer ik de slimme modus van Anker ga gebruiken, kan ook die modus worden teruggezet.
Alleen blokkeren wanneer de auto echt laadt
Een actief EVCC-laadplan betekent niet automatisch dat de auto voortdurend laadt. EVCC kan binnen het plan wachten op de goedkoopste uren.
Daarom wordt de Anker niet gedurende het volledige laadplan geblokkeerd. De blokkering wordt alleen actief wanneer:
code:
1
| binary_sensor.evcc_zaptec_charging = on |
en daarnaast:
- het EVCC-laadplan actief is; of
- EVCC in NOW staat.
Wanneer EVCC binnen het plan wacht op een goedkoper uur, blijft de Anker dus gewoon in NOM en kan hij het normale huisverbruik compenseren.
Zodra het laden werkelijk begint, gaat de Anker tijdelijk naar 0 W. Wanneer EVCC weer pauzeert of stopt, wordt NOM automatisch hersteld.
Netmeter kiezen
Ik gebruik normaal een Youless P1-meter voor Home Assistant, maar de Anker heeft ook een eigen P1-meter nodig. Daarom heb ik in het dashboard een handmatige bronkeuze toegevoegd:
- Automatisch
- Youless
- Anker P1
In de automatische stand krijgt Youless de voorkeur en wordt de Anker P1 als fallback gebruikt. Handmatig kiezen is handig wanneer een P1-meter nog wel een geldige waarde toont, maar op dat moment niet daadwerkelijk aangesloten is.
Dashboard
Omdat ik Omnibattery niet meer als regelaar gebruik, wilde ik de informatie uit dat dashboard niet verliezen. Daarom heb ik een eigen Home Assistant-dashboard gemaakt met onder andere:
- actuele energiestroom;
- PV-productie;
- huisverbruik;
- netimport en teruglevering;
- laad- en ontlaadvermogen van de Anker;
- SOC en bedrijfsmodus;
- EVCC-modus;
- auto aangesloten en werkelijk aan het laden;
- status van het laadplan;
- status van de Anker-ontlaadblokkering;
- instelbare SOC-grenzen;
- actieve netmeter;
- RTE- en energiemetingen;
- diagnose van de verschillende regelingen.
De accuflow gebruikt een aparte displaysensor, omdat de Power Flow Card een specifieke tekenconventie gebruikt voor laden en ontladen.
Waarom deze opzet?
Ik heb bewust geprobeerd om maar één systeem de dagelijkse basisregeling te laten doen.
De Anker regelt normaal het huis en de nul-op-de-meterfunctie. EVCC regelt de auto. Home Assistant grijpt alleen in wanneer de systemen anders tegenstrijdige beslissingen zouden nemen.
Daarmee probeer ik de volgende problemen te voorkomen:
- stoppen met laden terwijl er nog zonne-overschot is;
- de auto ongemerkt uit de thuisaccu laden;
- accuvermogen dat door EVCC wordt aangezien voor PV-overschot;
- meerdere systemen die tegelijk de Anker proberen aan te sturen;
- een laadplan dat de thuisaccu onnodig urenlang blokkeert.
Het geheel is nog in ontwikkeling en de entiteitsnamen zullen per installatie verschillen. Het is dus geen volledig plug-and-playpakket. De logica en taakverdeling kunnen wellicht wel bruikbaar zijn voor anderen die een Anker Solix Max AC, Home Assistant en EVCC combineren.
De volgende stap is eerst data verzamelen. Daarna wil ik mogelijk nog een voorspelling toevoegen waarmee Home Assistant berekent hoeveel SOC bij zonsopkomst overblijft. Daarmee kunnen de SOC-grenzen uiteindelijk dynamisch worden aangepast aan het verwachte nachtverbruik en de zonneverwachting van de volgende dag.