Energie dashboard in Home Assistant

Energie dashboard in Home Assistant

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:

Energy productie komende week.

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:

Energy dashboard in home assistant.

Loading

Reacties

Nog geen reacties. Waarom begin je de discussie niet?

Geef een reactie

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