Automatisch laden op zonnestroom, goedkope uren of maximale efficiëntie

In deze handleiding bouw je een volledig automatisch laadsysteem voor je elektrische auto met Home AssistantNode-RED, en Alfen Modbus.
De flow bepaalt elke 20 seconden hoe jouw auto het best kan laden — op zonne-energie, tijdens goedkope uren, of via een handmatige override.

De status en beslisgeschiedenis worden automatisch naar Home Assistant gestuurd via MQTT, zodat je op je dashboard in één oogopslag ziet waarom er wel of niet geladen wordt.


Wat dit systeem doet

  1. 🌞 Laden op zonnestroom (1 fase, min. 6 A) bij teruglevering > 1,4 kW
  2. 💶 Laden tijdens goedkope uren (3 fasen, 16 A)
  3. ⚡ Negatieve prijzen of handmatige override → 3 fasen MAX laden
  4. 🎯 Stoppen bij doel-SOC van de auto
  5. ⏰ Automatisch plannen om vóór vertrek minimaal SOC te halen

Het systeem werkt volledig lokaal, reageert in realtime op PV-opbrengst en energieprijzen, en gebruikt géén cloudservices.


Gebruikte integraties

IntegratieFunctie
home-assistant-alfen-modbusCommunicatie met de Alfen-laadpaal via Modbus TCP of RTU
Volkswagen Connect (custom component)Haalt SOC, target SOC en laadtoestand op van je Volkswagen ID.3 / ID.4
Lovelace HTML Jinja2 Template CardToont laadgeschiedenis op het dashboard
MQTT (Mosquitto broker)Stuurt debug-informatie van Node-RED naar Home Assistant

Home Assistant sensoren

Volkswagen Connect

SensorFunctie
sensor.id3_battery_levelHuidige SOC van de auto
sensor.id3_battery_target_charge_levelDoel-SOC (instelling vanuit de auto)

Alfen Modbus

SensorBeschrijving
sensor.alfen_real_power_sumHuidig laadvermogen (W)
sensor.alfen_car_connectedAuto verbonden (true/false)
select.alfen_usable_phases1Fasekeuze (1 Phase / 3 Phases)
sensor.alfen_charging_modeHuidige laadmodus
number.laadpaal_power_connector_max_current_socket_1Stelbare laadstroom per socket (A)

Overige entiteiten

SensorBeschrijving
sensor.power_verschilNetto vermogen (+ = verbruik / – = teruglevering)
sensor.zonneplan_current_electricity_tariffActuele stroomprijs (€/kWh)
sensor.goedkoopste_urenLijst met goedkoopste uren (bijv. [00, 01, 02])
input_number.ev_min_socMinimale SOC vóór vertrek
input_datetime.ev_target_timeGewenste vertrektijd
input_boolean.ev_full_chargeVolledig laden toggle
input_boolean.laadpaal_overrideHandmatige “max-laden” schakelaar

MQTT-debugsensor

De Node-RED-flow publiceert debug-data elke 20 s naar Home Assistant:

voeg de volgende code toe aan aan je configuration.yaml

mqtt:
  sensor:
    - name: "EV laadlog debug"
      unique_id: ev_laadlog_debug
      state_topic: "ev/evdebug/state"
      json_attributes_topic: "ev/evdebug/attr"
      value_template: "{{ value_json.reason }}"
      icon: mdi:ev-station

De state toont de laatste reden (bijv. “Goedkoop uur (minSOC)”),
de attributes bevatten volledige debug-informatie en de laadgeschiedenis.


Node-RED configuratie & aanpassingen

Na het importeren van de flow zie je dat sommige nodes verwijzen naar de originele server van de maker, bijvoorbeeld:

"server": "homeassistent"

Dit is een voorbeeldnaam van de Home Assistant-serverconfiguratie.
Je moet deze aanpassen naar je eigen server.

Zo doe je dat:

  1. Open in Node-RED een willekeurige Home Assistant node (bijv. api-call-service).
  2. Klik bij Server op het dropdown-menu.
  3. Selecteer jouw eigen Home Assistant server (die je eerder hebt ingesteld).
  4. Klik op Deploy om de wijzigingen op te slaan.

Pas ook de sensoren aan

Controleer in de Function-node of alle sensoren overeenkomen met jouw eigen namen.
Bijvoorbeeld:

const ENT = {
  soc: 'sensor.id3_battery_level',
  target_soc: 'sensor.id3_battery_target_charge_level',
  grid_kw: 'sensor.power_verschil',
  price_now: 'sensor.zonneplan_current_electricity_tariff',
  ...
};

Pas de namen aan als jouw entiteiten andere namen hebben (bijv. sensor.vw_id3_soc in plaats van sensor.id3_battery_level).


Minimale laadstroom & laadpaalinstellingen

  • Controleer het minimale laadvermogen van je laadpaal.
    Als de ingestelde waarde (meestal 6 A) te laag is, zal de auto niet starten met laden.
  • In de function-node vind je dit terug als constante:const MIN_A = 6; Pas deze aan als jouw laadpaal of auto een hoger minimum vereist.
  • Controleer ook het maximale vermogen per fase (bijv. 16 A) en of jouw paal 1- en 3-fasen ondersteunt.
    Deze instellingen worden automatisch verwerkt via select.alfen_usable_phases1.

Flowlogica (samenvatting)

SituatieActie
Geen auto ingeplugdLaden uit
Doel-SOC bereiktLaden uit
Override actief of prijs < 0 €/kWh3Φ MAX laden
Goedkoop uur & SOC < target/min3Φ MAX laden
PV-overschot > 1.4 kW1Φ laden, dynamisch 6–16 A
Geen PV en geen goedkoop uurIdle / wachten op trigger

Elke 20 seconden berekent Node-RED automatisch de volgende stap en publiceert een debugbericht via MQTT naar Home Assistant.


Laadhistorie in Lovelace

Gebruik de Lovelace HTML Jinja2 Template Card om je laadgeschiedenis te tonen:

De card toont beslissingen als:

  • “PV-overschot (1Φ 8A)”
  • “Goedkoop uur (minSOC)”
  • “Doel-SOC (80%) bereikt”

Resultaat

✅ Laden enkel bij zonnestroom of goedkope uren
✅ Altijd minimaal SOC vóór vertrek
✅ Volledige geschiedenis zichtbaar in Lovelace
✅ Automatische 1Φ / 3Φ fasewissel
✅ Debug-informatie via MQTT, geen extra integratie nodig


⚠️ Gebruik op eigen risico

⚠️ Deze automatisering past actief de laadstroom en fase-instelling aan via Modbus.
Controleer altijd of jouw Alfen-laadpaal correct reageert.
Start met lage waarden en test stapsgewijs.
De auteur is niet verantwoordelijk voor schade aan voertuigen of installaties.
Gebruik dit enkel als je bekend bent met Node-RED, Home Assistant en Modbus-configuraties.


Downloads


Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *