Inleiding
Het Energie weerbericht geeft een voorspelling van de zonne en wind energie. Hiermee is het mogelijk om vooruit te kijken naar momenten waarop de energie goedkoop is.
Hoe ziet de originele site eruit?
De website van het energie weerbericht ziet er als volgt uit:
Bovenstaande informatie willen we ook graag in home assistent kunnen weergegeven.
De energie service
Het energie weerbericht heeft ook een service. De url van deze service is:
https://ned.nl/sites/default/files/dataset_chart_jsons/Energy_Weather_Forecast.json.
Dit geeft de volgende info:
[{"avgTemp":"14","cloudType":"2","date":"2026-06-14","gasAverage":"73","gasHeight":"56","gasRelative":"-22","sunAverage":"57","sunHeight":"84","windAverage":"28","windDirection":"296","windHeight":"100","windspeed":"4"},{"avgTemp":"14","cloudType":"3","date":"2026-06-15","gasAverage":"73","gasHeight":"65","gasRelative":"-10","sunAverage":"57","sunHeight":"70","windAverage":"28","windDirection":"262","windHeight":"45","windspeed":"3"},{"avgTemp":"16","cloudType":"3","date":"2026-06-16","gasAverage":"73","gasHeight":"65","gasRelative":"-11","sunAverage":"57","sunHeight":"86","windAverage":"28","windDirection":"128","windHeight":"13","windspeed":"2"},{"avgTemp":"19","cloudType":"2","date":"2026-06-17","gasAverage":"73","gasHeight":"61","gasRelative":"-15","sunAverage":"57","sunHeight":"85","windAverage":"28","windDirection":"211","windHeight":"29","windspeed":"2"},{"avgTemp":"21","cloudType":"2","date":"2026-06-18","gasAverage":"73","gasHeight":"56","gasRelative":"-23","sunAverage":"57","sunHeight":"100","windAverage":"28","windDirection":"197","windHeight":"9","windspeed":"2"},{"avgTemp":"23","cloudType":"2","date":"2026-06-19","gasAverage":"73","gasHeight":"51","gasRelative":"-30","sunAverage":"57","sunHeight":"81","windAverage":"28","windDirection":"160","windHeight":"13","windspeed":"2"},{"avgTemp":"21","cloudType":"2","date":"2026-06-20","gasAverage":"73","gasHeight":"40","gasRelative":"-45","sunAverage":"57","sunHeight":"92","windAverage":"28","windDirection":"254","windHeight":"12","windspeed":"2"}]
Van bovenstaande gegevens zijn enkel de velden sunHeight en windHeight van belang.
Hoe is dit in Home assistant te gebruiken?
Om deze data in home assistant te kunnen gebruiken moeten de volgende stappen doorlopen worden:
Stap 1 rest command:
Als eerste moet er in de configuratie.yaml een rest service worden ontsloten. Voeg hiertoe de volgende gegevens toe aan /homeassistant/configuration.yaml
rest_command:
fetch_ned_data:
url: "https://ned.nl/sites/default/files/dataset_chart_jsons/Energy_Weather_Forecast.json"
method: GET
headers:
User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
stap 2 trigger
nu moet er een trigger worden toegevoegd die de rest service elke 4 uur aanroept.
Voor de volgende gegevens toe aan /homeassistant/configuration.yaml
template:
- trigger:
# Start direct bij het opstarten én bij het herladen van de YAML-configuratie
- platform: homeassistant
event: start
# Check elke minuut of het al tijd is voor een update
- platform: time_pattern
hours: "/4"
minutes: 0
action:
# De actie draait alleen als het herladen wordt óf als de klok exact op een veelvoud van 4 uur staat
- condition: template
value_template: "{{ trigger.platform == 'homeassistant' or now().minute == 0 }}"
- action: rest_command.fetch_ned_data
response_variable: ned_response
sensor:
- name: "NED Raw Payload"
unique_id: ned_raw_payload
state: "{{ now().strftime('%Y-%m-%d %H:%M') }}"
attributes:
forecast: >
{% if ned_response is defined and ned_response.content is defined %}
{{ ned_response.content }}
{% else %}
{{ state_attr('sensor.ned_raw_payload', 'forecast') if states('sensor.ned_raw_payload') != 'unknown' else [] }}
{% endif %}
Na het aanpassen van de config file dient de home assistant opnieuw opgestart te worden.
Stap 3: weergegeven van de data.
Nu de configuratie gemaakt is. Kan e.a. weergegeven worden. Hiervoor wordt gebruikt gemaakt van de hacs module: custom:apexcharts-card
Door onderstaande configuratie toe te voegen aan een dashboard kun je de informatie zichtbaar maken:
type: custom:apexcharts-card
graph_span: 7d
span:
start: day
header:
show: true
title: Windhoogte vs. Zonnehoogte
show_states: false
series:
- entity: sensor.ned_raw_payload
name: Wind Hoogte
type: area
color: "#00bfff"
opacity: 0.3
data_generator: |
return entity.attributes.forecast.map((entry) => {
return [new Date(entry.date).getTime(), parseFloat(entry.windHeight)];
});
- entity: sensor.ned_raw_payload
name: Zon Hoogte
type: area
color: "#ffaa00"
opacity: 0.3
data_generator: |
return entity.attributes.forecast.map((entry) => {
return [new Date(entry.date).getTime(), parseFloat(entry.sunHeight)];
});
yaxis:
- min: 0
max: 100
apex_config:
tickAmount: 5
apex_config:
xaxis:
labels:
datetimeFormatter:
day: ddd dd
Het resultaat is een grafiek die er als volgt uit ziet:
![]()