laadstations
    12 mei 2026Joulo± 5 min lezen

    Joulo in Home Assistant: laadsessies, ERE en TAG-ID via één YAML-blok

    De Joulo REST API koppelt rechtstreeks aan Home Assistant. Geen add-on, geen HACS. Eén YAML-blok geeft je sensors voor status, kWh, ERE-credits en de actieve TAG-ID • plus twee automations die je direct kunt overnemen.

    Deel artikel

    Je laadsessies gaan naar Joulo. Daar berekenen we ERE-credits, doen we de inboeking bij de NEa en betalen we elk kwartaal uit. Voor de meeste mensen is dat genoeg: dashboard openen, even kijken, klaar.

    Maar als je Home Assistant draait wil je je laaddata waarschijnlijk ergens anders zien. Op een Lovelace-kaart naast je P1-meter. In een automation die push-stuurt als de sessie klaar is. In EVCC zodat je weet welke auto er staat te laden. Daarvoor is een Joulo-token genoeg.

    Deze post is de complete walkthrough. Geen marketing, geen add-on, geen HACS. Alleen YAML.

    Wat je krijgt

    De Joulo REST API geeft drie endpoints. Daar bouw je in Home Assistant zoveel sensors op als je wilt:

    • GET /chargers • status per laadstation, of er actief geladen wordt, en de kWh die de huidige sessie tot nu toe heeft binnengehaald. Inclusief current_session.id_tag • de RFID/TAG-ID waarmee de auto zich identificeerde.
    • GET /sessions • lijst van recente laadsessies met kWh, start- en eindtijd, en de ERE-credits die per sessie zijn opgebouwd.
    • GET /energy • totaal geladen kWh en totaal opgebouwde ERE-credits. Eén-getalsindicatoren voor je dashboard.

    Auth is een Bearer-token. Read-only. Joulo kan niets terugschrijven naar je Home Assistant.

    Setup in vier stappen

    1 • Token genereren

    Log in op je Joulo-dashboard, open de API-tab en klik op Activeer. Je krijgt een token van 32 tekens. Kopieer hem direct: het is je enige kans om hem te zien. Vergeten? Klik op Roteer voor een nieuwe en zet die overal opnieuw.

    2 • secrets.yaml

    Plak het token in secrets.yaml. Geen aanhalingstekens • Home Assistant houdt niet van aanhalingstekens om secrets:

    joulo_token: joulo_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    In configuration.yaml verwijs je er daarna naar als !secret joulo_token. Zet je het token rechtstreeks in configuration.yaml, dan staat hij in je git-historie. Niet doen.

    3 • configuration.yaml

    Drie REST-resources, één per endpoint:

    rest:
     - resource: https://<project>.supabase.co/functions/v1/api/chargers
     scan_interval: 60
     headers:
     Authorization: "Bearer !secret joulo_token"
     sensor:
     - name: "Joulo Charger Status"
     value_template: "{{ value_json.chargers[0].status }}"
     - name: "Joulo Is Charging"
     value_template: "{{ value_json.chargers[0].is_charging }}"
     - name: "Joulo Session kWh"
     value_template: >-
     {{ value_json.chargers[0].current_session.kwh_so_far | default(0) }}
     unit_of_measurement: "kWh"
     device_class: energy
     - name: "Joulo Active TAG ID"
     value_template: >-
     {{ value_json.chargers[0].current_session.id_tag | default('') }}
    
     - resource: https://<project>.supabase.co/functions/v1/api/energy
     scan_interval: 3600
     headers:
     Authorization: "Bearer !secret joulo_token"
     sensor:
     - name: "Joulo Total kWh"
     value_template: "{{ value_json.total_kwh }}"
     unit_of_measurement: "kWh"
     device_class: energy
     - name: "Joulo Total ERE"
     value_template: "{{ value_json.total_ere_credits }}"
    
     - resource: https://<project>.supabase.co/functions/v1/api/sessions?limit=10
     scan_interval: 600
     headers:
     Authorization: "Bearer !secret joulo_token"
     sensor:
     - name: "Joulo Last Session kWh"
     value_template: "{{ value_json.sessions[0].kwh }}"
     unit_of_measurement: "kWh"
     device_class: energy
     - name: "Joulo Last Session ERE"
     value_template: "{{ value_json.sessions[0].ere_credits | default(0) }}"
    

    De exacte base-URL staat in je dashboard onder de API-tab • kopieer hem daar. De default(0)-filters zijn belangrijk: zonder die filters wordt je entity unavailable op het moment dat er geen actieve sessie is, en dan klagen je automations.

    4 • Restart

    Doe een volledige restart van Home Assistant, niet alleen "Reload YAML". De rest:-integratie wordt pas geladen bij een echte restart. Een minuut later vind je de Joulo-entities terug in Developer Tools → States en kun je ze in elk dashboard of automation gebruiken.

    Lovelace in vijf regels

    De saaiste implementatie eerst: een standaard entities-kaart. Pak je een meer visuele kaart? Gauge, history-graph en mini-graph werken allemaal direct op deze sensors.

    type: entities
    title: Joulo laadstation
    entities:
     - entity: sensor.joulo_charger_status
     name: Status
     - entity: binary_sensor.joulo_is_charging
     name: Laadt nu
     - entity: sensor.joulo_session_kwh
     name: Huidige sessie
     - entity: sensor.joulo_total_kwh
     name: Totaal geladen
     - entity: sensor.joulo_total_ere
     name: ERE-credits
    

    Twee automations die je direct kunt overnemen

    Push-notificatie als de sessie klaar is

    Praktisch als je de auto 's nachts aan de paal hangt en in de ochtend wilt weten wat hij heeft binnengehaald:

    - id: joulo_session_done
     alias: "Joulo • sessie afgerond"
     trigger:
     - platform: state
     entity_id: binary_sensor.joulo_is_charging
     from: "on"
     to: "off"
     action:
     - service: notify.mobile_app_jouw_telefoon
     data:
     title: "Laadsessie klaar"
     message: >-
     {{ states('sensor.joulo_session_kwh') }} kWh geladen.
     Totaal vandaag: {{ states('sensor.joulo_total_kwh') }} kWh.
    

    EVCC TAG-ID koppelen aan een specifieke auto

    Heb je meerdere EV's in huis? Dan herkent EVCC de auto via de TAG-ID in de OCPP-sessie. Joulo levert dat veld door als current_session.id_tag op /chargers. Plak de waarde in EVCC en je krijgt per auto een eigen routine:

    vehicles:
     - name: tesla
     type: template
     template: tesla
     identifiers:
     - "DEADBEEF12345678"
    

    Werkt alleen voor laadstations die de TAG-ID daadwerkelijk meesturen in StartTransaction. Voor Tesla Wall Connector via Fleet API krijg je geen TAG-ID terug • daar is de auto al impliciet bekend.

    Drie veelvoorkomende valkuilen

    401 Unauthorized. Negen van de tien keer zit er een spatie of een aanhalingsteken in secrets.yaml om het token. Verwijder ze, doe een restart en check Settings → Logs. Andere kandidaat: token gerouteerd in het dashboard maar niet bijgewerkt in secrets.yaml.

    unavailable of unknown in States. Het value_template probeert een veld te lezen dat er nog niet is. Klassieker: current_session.kwh_so_far is null als er geen actieve sessie loopt. Voeg | default(0) of | default('') toe en je entity blijft braaf op nul staan tussen sessies door.

    Meerdere laadstations. chargers[0] werkt alleen voor één paal. Heb je er twee, dan kies je expliciet:

    value_template: >-
     {{ value_json.chargers
     | selectattr('slug', 'eq', 'mijn-laadpaal')
     | map(attribute='is_charging') | first }}
    

    Pollen, niet hameren

    Joulo synct elke 15 minuten met de upstream-provider (Tesla, Easee, Wallbox enzovoort). Een lagere scan_interval dan 60 seconden levert je dus geen verse data. Voor /sessions en /energy is 600 seconden ruim. Voor /chargers is 60 seconden de zoete plek: je ziet binnen een minuut dat een sessie is gestart, zonder je quota op te eten.

    Sneller pollen leidt op een gegeven moment tot rate-limiting. Geen drama (een 429 logregel) maar wel onnodig.

    Waarom dit een Joulo-ding is

    Andere ERE-inboekdienstverleners houden hun data dicht. Logisch: ze zien je laadsessies als hun bezit. Bij ons is je sessiedata je eigen data. De REST API is daar de praktische bevestiging van.

    Dat betekent niet dat je iets hoeft te bouwen. Het meeste werkt gewoon vanzelf in het Joulo-dashboard en de app. Maar als je iemand bent die Home Assistant draait, EVCC gebruikt en zelf de regie wil houden over wat er met zijn laaddata gebeurt: alles wat je nodig hebt staat hierboven.

    Verder lezen

    // // Aan de slag

    Verdien geld met thuisladen via ERE-credits

    Koppel je laadstation, Joulo regelt de rest. Standaard 20% servicekosten, lager via loyaliteit en referrals, jaarlijks opzegbaar, per kwartaal uitbetaald.