Automatisering

Oplad elbil med solenergi

Der findes flere kommercielle ladeløsninger, som kan bruges til at oplade din elbil med solenergi. Eksempler på sådanne løsninger er Heartbeat, Easee Equalizer, evcc.io, sunmate.io, SolarBalance Solutions osv. De kræver dog alle ekstra hardware og/eller betaling af et løbende abonnement. Eller er begrænsede til brug med en specifik producent af invertere eller ladebokse.

Så hvorfor ikke bare bruge Home Assistant (HA)?

Det kræver blot, at data fra din inverter er integreret i HA og at du kan styre opladningsstyrken på din lader eller elbil.

Der findes heldigvis HA integrationer til mange forskellige invertere, ladebokse og elbiler.

Og så kan du bruge HA til at styre opladningen, så du kun bruger den overskydende strøm for solcellerne.

Jeg viser i dette indlæg, hvordan du kan lave en automatisering, der tilpasser ladestyrken til solproduktionen.

Integration af inverter

Du skal have data fra din inverter integreret i HA, så du kan se den aktuelle produktion fra dine solceller og beregne den overskydende produktion ift. det nuværende forbrug. Alternativt kan du bruge data fra din elmåler, der viser eksport af strøm.

Findes der en app, hvor du kan se data fra din inverter, er der sikkert også en HA integration.

Her er en liste over HA integrationer til nogle af de meste populære invertere:

ProducentIntegration
GrowattGrowatt eller Grott (addon + HACS)
HuaweiHuawei Solar (HACS)
DeyeModbus via ESPHome eller Solarman (HACS)
FroniusFronius

Selvom din inverter ikke fremgår af listen, kan der sagtens findes en integration til den.

Og findes der ikke en integration, kan man evt. bruge en løsning som Solar Assistant til at få data i HA.

Integration af ladeboks

Du skal have integreret din ladeboks, så du kan se nuværende ladestyrke og tilpasse ladestyrken til den overskydende solproduktion.

Det er ikke alle ladebokse, som kan integreres i HA. Det gælder f.eks. ladebokse fra Clever. Nedenfor er en oversigt til nogle af dem, der er lavet integrationer til. Listen er ikke udtømmende, så selvom din ladeboks ikke fremgår af listen, kan den måske integreres.

ProducentIntegration
EaseeEasee EV Charger (HACS)
go-eChargergo-eCharger (HACS)
Wallbox PlusarOCPP (HACS) eller Wallbox
Fronius WattpilotFronius Wattpilot (HACS)
Zaptec ChargerZaptec Charger (HACS)

Jeg har af gode grunde ikke testet alle ovenstående integrationer, men integrationerne bør alle umiddelbart understøtte styring af ladestyrken.

Følg instruktionerne i ovenstående links for den pågældende ladeboks for at oprette integrationen.

De fleste af integrationerne skal installeres via HACS. Hvis du ikke allerede har HACS installeret, kan du læse mere om hvordan det gøres i dette indlæg.

Beregn overskydende solproduktion

For at kunne tilpasse ladestyrken, skal du som minimum bruge oplysninger om følgende:

  • Nuværende produktion fra solceller
  • Nuværende forbrug i huset
  • Nuværende forbrug til opladning

En igangværende opladning vil ofte tælle med i husstandens samlede elforbrug. Derfor kan denne formel benyttes til at beregne hvor meget strøm, der kan fyldes på bilen uden at der skal købes el:

Solproduktion – Forbrug + Opladning = Overskud

Hvis du har et batterianlæg, kan det også være nødvendigt med oplysninger om op- og afladning af dette. Så kan man undgå at aflade sine husbatterier under opladning af elbilen.

Det er også muligt at lægge en buffer ind i beregningen. Enten som et fast forbrug eller som procentdel af det samlede forbrug. Bufferen kan bruges, hvis du ikke ønsker at bruge hele den overskydende produktion til opladning. Eksempelvis hvis du samtidig vil sælge strøm eller oplade evt. husbatterier.

Lav template med beregning

Udregningen kan du lave i en template / skabelon i enten en automatisering eller som en særskilt sensor, der kan vises på dit dashboard. Her er et eksempel på en sensor, der udregner den overskydende solproduktion:

template:
  - sensor:
      - name: "Solar Control - Excess Solar Energy"
        unique_id: solar_control_excess_solar_energy
        unit_of_measurement: "W"
        icon: mdi:octagram-plus-outline
        state: >
          {# Tilret navn på sensor med nuværende produktion fra solceller i watt #}
          {% set solar_production = states('sensor.total_solar_production') | float  %}
          {# Tilret navn på sensor med nuværende totalt elforbrug i watt #}
          {% set current_consumption = states('sensor.current_consumption') | float %}
          {# Tilret navn på sensor med nuværende opladning af elbil i watt  #}
          {% set ev_charging = states('sensor.easee_power') | float * 1000 %}
          {# Udregning af overskydende produktion fra solceller - slet evt. buffer hjælper eller opret den  #}
          {{ solar_production - current_consumption + ev_charging - states('input_number.solar_control_energy_buffer') | float }}

Alle sensorer bør levere data i samme enhed. Jeg har valgt at bruge watt, men min ladeboks bruger kW, så derfor omregnes forbruget fra kW til watt ved at gange med 1000.

Jeg har også lavet en ny hjælper (input_number), der bruges som buffer i beregningen. Denne kan oprettes under “Indstillinger” – “Enheder og tjenester” – “Hjælpere” eller ved at tilføje dette i din configuration.yaml fil:

input_number:
  solar_control_energy_buffer:
    name: Energi buffer i watt
    icon: mdi:home-minus
    unit_of_measurement: "W"
    min: 0
    max: 5000
    step: 100
    mode: slider

Templaten skal også oprettes enten i under “Hjælpere” eller ved at tilføje den direkte i din configuration.yaml fil. Du skal tilrette koden med navnene på de relevante sensorer fra din inverter og ladeboks.

Du kan med fordel lave en package, der samler template, hjælpere og automatiseringen i én samlet fil. Se mere herom senere.

Når du har fået oprettet sensoren, kan du indsætte den på dit dashboard og bruge den i automatiseringer. Her et et eksempel på udregningen vist på mit dashboard.

Oplad elbil med solenergi: Eksempel på beregning af overskydende produktion fra solceller, der kan bruges til opladning af elbil - inden opladning startes.

Eksemplet viser udregningen inden en opladning er startet.

Og sådan her ser det ud, når opladningen er i gang:

Oplad elbil med solenergi: Eksempel på beregning af overskydende produktion fra solceller, der kan bruges til opladning af elbil - efter opladning er startet.

Næste skridt er at lave en automatisering, som tilpasser opladningen til den overskydende produktion.

Byg automatisering

En automatisering, der tilpasser ladestyrken til den overskydende produktion fra solceller vil være forskellig for de enkelte ladebokse. Helt generelt vil en automatisering dog kunne laves på denne måde:

Udløser: Ændring i det overskud fra solceller, der kan bruges til opladning.

Betingelser: Efter ønske, men jeg har f.eks. bruge en entitet, hvor man på dashboardet kan vælge om opladningen skal justeres automatisk eller om opladningen ikke skal tage højde for produktionen fra solcellerne. Det kan anvendes på dage, hvor man gerne vil udnytte lave priser eller har behov for hurtigt at oplade bilen. Og til opladning om natten eller på dage, hvor der ikke er overskud fra solcellerne.

Handling: Brug af service, der kan justere eller begrænse ladestyrken. Særligt denne del vil være forskellig for de enkelte ladebokse.

Automatiseringen bør også sørge for at ladestyrken ikke justeres for ofte, da dette – afhængigt af din ladeløsning – kan skade boksen eller overbelaste den onlineløsning, som boksen bruger. Hvis dine data fra inverteren ikke bliver opdateret så ofte, er det ikke et problem. Hvis du derimod har data i realtid eller tæt på, bør du overveje en begrænsning på antallet af opdateringer.

Det kan gøres ved at indsætte en forsinkelse på f.eks. et minut til sidst i automatiseringen og så sørge for at flere automatiseringer ikke kører samtidigt.

Eksempel på automatisering med brug af Easee Home ladeboks

Jeg har en Easee Home ladeboks. Den kan man indstille til at oplade på enten én eller tre faser med hver mellem 6A og 32A. Det svarer til 1,4 kW og op til 22 kW, hvis husets installation understøtter det.

Det er derfor nødvendigt at omregne den overskydende solproduktion i watt til de maksimale ampere, som laderen må bruge.

Til dette har jeg valgt at oprette endnu en template sensor, så jeg også kan få vist oplysningerne på mit dashboard.

Templaten beregner, om der skal lades med én eller tre faser og hvor mange ampere, der skal lades med:

template:
  - sensor:
      - name: “Solar Control - EV Charging"
        unique_id: solar_control_ev_charging
        icon: mdi:ev-station
        state: "{{ this.attributes.status | default('pause') }}"
        attributes:
          phases: >
            {% set max_charging = states('sensor.solar_control_excess_solar_energy') | float  %}
            {% set v = 235 %}
            {% set maxPhaseA = 16 %}
            {% if max_charging<(6*v) %}
              {% set phases = {"status": "pause", "count": 0, "P1": 0, "P2": 0, "P3": 0 } %}
            {% elif max_charging > (6*3*v)  %}
              {% set maxCharge =(max_charging/3/v),maxPhaseA  %}
              {% set phases = {"status": "charge", "count": 3, "P1": maxCharge|min|int, "P2": maxCharge|min|int, "P3": maxCharge|min|int } %}
            {% else %}
              {% set maxCharge = (max_charging/v),maxPhaseA %}
              {% set phases = {"status": "charge", "count": 1, "P1": maxCharge|min|int, "P2": 0, "P3": 0 } %}
            {% endif %}
            {{ phases }}
          status: "{{ iif(this.attributes.phases.status=='pause','Pause','Opladning ' + (this.attributes.phases.count|string) + ' '+ iif(this.attributes.phases.count==1,'fase','faser') +': '+(this.attributes.phases.P1|string)+'A') }}"

Templaten har forskellige attributter, der kan bruges i en automatisering til at styre opladningen:

Oplad elbil med solenergi: Eksempel på attributter i template sensor, der beregner ladestyrken per fase

Når templaten er oprettet kan vi bruge den som udløser i en automatisering:

alias: "Solar control: Change EV charging ampere"
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.solar_control_ev_charging
  - platform: state
    entity_id:
      - input_boolean.solar_control_auto_adjust_charging
    from: "off"
    to: "on"
condition:
  - condition: state
    entity_id: input_boolean.solar_control_auto_adjust_charging
    state: "on"
  - condition: state
    entity_id: sensor.easee_status
    state: charging
action:
  - service: easee.set_circuit_dynamic_limit
    data_template:
      device_id: xxxxxxxxxxxxxxxx
      currentP1: "{{ states.sensor.solar_control_ev_charging.attributes.phases.P1 }}"
      currentP2: "{{ states.sensor.solar_control_ev_charging.attributes.phases.P2 }}"
      currentP3: "{{ states.sensor.solar_control_ev_charging.attributes.phases.P3 }}"
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
mode: single
max_exceeded: silent

Jeg bruger også en “Skift” hjælper til at styre om ladestyrken skal justeres eller ej. Den er lavet med denne kode:

input_boolean:
  solar_control_auto_adjust_charging:
    name: Automatically adjust charging
    icon: mdi:flash-auto

Automatiseringen starter eller stopper ikke selv opladningen, men det kan enten tilføjes eller laves i en anden automatisering. Så kan man f.eks. helt stoppe opladningen, hvis der er under 1,4 kW i overskydende produktion fra solcellerne. Og starte opladningen igen, når produktionen overstiger denne grænse.

Samlet package med ovenstående kode

I stedet for at oprette hjælper, template og automatisering særskilt, kan man samle det hele i én fil – en såkaldt package.

Jeg har lavet en package fil, som du kan hente på min GitHub side. Den indeholder ovenstående koder og kan let indsættes i din egen HA løsning.

Der er forskellige måder at integrere en package på i din HA. Det kommer der muligvis et indlæg om på et senere tidspunkt. Indtil da kan du læse mere i den officielle HA dokumentation. Selv har jeg valgt metoden, hvor packages tilføjes i en mappe (packages) i hver deres fil.

Det kræver blot en enkelt tilføjelse i din configuration.yaml fil med reference til den oprettede mappe:

homeassistant:
  packages: !include_dir_named packages

Det eneste, som package filen ikke indeholder, er kode til dashboard. Men der kan du indsætte dette i et standard entities kort:

type: entities
entities:
  - entity: sensor.total_solar_production
    name: Produktion fra solceller
  - entity: sensor.load_totalpower
    name: '- Nuværende forbrug'
  - entity: sensor.easee_power
    name: + Nuværende opladning
  - entity: input_number.solar_control_energy_buffer
    name: '- Buffer'
  - type: section
  - entity: sensor.solar_control_excess_solar_energy
    name: Overskud til opladning
    secondary_info: last-changed
  - type: section
  - entity: input_boolean.solar_control_auto_adjust_charging
    name: Automatisk tilpasning af ladestyrke
  - type: section
  - entity: sensor.solar_control_ev_charging
    name: Ladestyrke
    secondary_info: last-changed
title: Opladning fra solceller
show_header_toggle: false

Hvor nyttigt var dette indlæg?

Gennemsnitlig bedømmelse 5 / 5. Bedømmelser: 2

Ingen stemmer indtil videre! Vær den første til at bedømme dette indlæg.

Jeg beklager, at dette indlæg ikke var nyttigt for dig!

Hvordan kan indlægget forbedres?

3 thoughts on “Oplad elbil med solenergi

  • Filip Olsen

    Fedt indlæg – jeg søger samme løsning som du har dér – super godt lavet 🙂

    Jeg er ved at købe en Deye inverter / med batteri løsning – og søger muligheden for en LAN dongle for at få den ind i HA – , er ikke meget for wifi – så snart det er på plads , så køber jeg anlæg samt en Easee ladestander

    Hvilken model har du ?

    Besvar
    • Hej Filip,

      Tak for din kommentar og godt at du kunne bruge mit indlæg.

      Jeg har en DEYE SUN-12K-SG04LP3 hybrid inverter og den fungerer fint i HA sammen med en ESPHome løsning til at rette i indstillinger. Jeg tror desværre ikke, at du får de samme indstillingsmuligheder, hvis du bruger LAN dongle i stedet for at køre over Modbus.

      Mvh.

      Anders

      Besvar
  • Filip Olsen

    Hej Anders.

    Okay det var jeg ikke klar over. Det vil jeg lige undersøge – måske det også er derfor at sådan løsning ikke lige er til at finde.

    Hvilken ladestander har du ? – jeg vil gerne benytte mig af 22 kw modellen , da jeg har 3X60amp ind i hytten – og bilen understøtter det ( volvo ex 30 )

    Hvordan virker skiftet imellem ladestyrke – sker det ved at den holder op med at lade – skifter styrke og starter igen eller sker det seamless ?

    Filip

    Besvar

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *