Home Assistant logo
laadpalen
25 mei 2026Ruben StolkRuben Stolk· Mede-oprichter± 5 min lezenBijgewerkt 8 aug. 2026

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

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

Home Assistant

Direct gekoppeld aan Joulo • laadsessies en kWh komen automatisch binnen, ERE wordt zonder handwerk ingeboekt.

Bekijk Home Assistant-integratie

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

// Over de auteur

Ruben Stolk
Ruben StolkMede-oprichter

Mede-oprichter van Joulo en bouwer van het platform. Eerder Capptions (compliance-infrastructuur). Schrijft over techniek, integraties en MID-meters.

// Over Joulo

Joulo is inboekdienstverlener voor ERE-registratie van thuislaadsessies.

34.000.000 MID-kWh dit jaar (prognose)

ERE-registratie

Stappen, kosten en opbrengst van inboeken via Joulo.

Zo werkt het
Inboekdienst

Laaddata automatisch als ERE ingeboekt, per kwartaal uitbetaald.

Hoe het werkt
White-label platform

De ERE-backend voor CPO's en energiebedrijven, onder hun eigen merk.

White-label
Partnerprogramma

Voor installateurs en energiebedrijven die klanten aanbrengen.

Partner worden

Joulo B.V. • NEa-geregistreerd • conform RED III

// 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.

Nieuwsbrief

Blijf op de hoogte

Af en toe een mail over ERE, laadstations en verdienen met thuisladen. Geen spam, uitschrijven kan altijd.