Winddelen-opbrengst in Home Assistant na API-aanpassingen

Lang lang geleden berichtte ik al eens over hoe ik de opbrengst van mijn Winddelen (aandelen in een windmolen) van de Windcentrale in Home Assistant beschikbaar maakte. Nu is er in de tussentijd een hele hoop gebeurd. In eerste instantie werd de open API de nek omgedraaid. Vanaf dat moment adviseerde ik om vooral gebruik te maken van de HACS integratie van die hier te vinden is. Maar inmiddels is alle live-data ook uit de API gesloopt om onduidelijke redenen, en zit er dus weinig anders op dan een nieuwe trukkendoos open te trekken.

In de huidige API is geen live-data meer beschikbaar (jammer, is toch leuk om te zien hoe hard de windmolen voor je aan het werk is). Sterker nog, slechts 1 keer per dag wordt er een update gegeven van de opbrengst van de voorgaande 24 uur. Dat is al niet veel, maar nu is het ook nog zo dat er geen totale opbrengst (sinds dag 0) beschikbaar is als kWh meter. En dat is nou net waarmee je je energiedashboard goed zou kunnen vullen in Home Assistant.

De maximale kWh-opbrengst die via de API beschikbaar wordt gesteld, is de jaarproductie. Niet handig, want dat betekent dat na een jaar die waarde weer naar 0 gaat, en dat betekent weer rare grafieken en statistieken in Home Assistant. Dan zou je ervoor kunnen kiezen om in ieder geval met de beschikbare dag-opbrengsten te werken, maar dat resulteert weer in rare pieken in je opbrengsten midden op de dag in je energiedashboard Daar werd ik dus ook niet blij van.

Uiteindelijk ben ik uitgekomen op het volgende; Een helper-sensor van het type numeriek wordt per uur geüpdate met 1/24 van de opbrengst van de laatste 24 uur. Deze sensor-waarde verhoogt dus ieder uur in waarde in aantal kWh die wordt gerapporteerd door de API. Om deze waarde in het energie-dashboard te gebruiken is een extra helper-sensor nodig van het type template. Deze is als energie-sensor te definiëren en daarmee te gebruiken in het energie-dashboard.

Concreet betekent dit dus;

  1. Dat je 24 uur lang ieder uur dezelfde opbrengst rapporteert (we voegen namelijk 24 x 1/24ste toe, totdat de volgende dag-opbrengst gerapporteerd wordt door de API).
  2. Dat de waardes die je rapporteert sowieso achterlopen op de werkelijkheid, aangezien er slechts 1 x per dag een nieuwe dag-opbrengst gerapporteerd wordt door de API.

Beide beperkingen in ogenschouw genomen, denk ik dat het voor het grotere plaatje redelijk meevalt qua impact. Sowieso is dit beter qua oplossing, dan de windenergie helemaal niet kunnen meenemen in het Energie-dashboard van Home Assistant.

In Home Assistant

OK, hoe heb ik e.e.a. in Home Assistant gerealiseerd? Met de volgende stappen;

Voorbereiding: Installeren Windcentrale via HACS

Voorafgaand aan onderstaande stappen is het nodig dat je de Windcentrale-integratie hebt geïnstalleerd via HACS. Instructies hiervoor vind je hier; https://github.com/jobvk/Home-Assistant-Windcentrale

Is dit gelukt, dan heb je onder Instellingen > Apparaten & diensten de integratie Windcentrale beschikbaar gekregen. Hierin heb je 8 verschillende sensoren met waardes beschikbaar. De eerste van deze waardes, Production Day Shares, is dus de dag-opbrengst van jouw winddelen. Jouw aantal winddelen moet je dus correct configureren bij de installatie van deze integratie!

De waarde van de Production Day Shares-sensor gebruiken we hieronder verder. Ter voorbereiding hierop is het handig om alvast even op de waarde te klikken, en vervolgens op het tandwieltje te klikken. Noteer alvast de waarde uit het veld entiteits-id. Deze heb je later nodig bij het aanmaken van de benodigde automatisering.

– Klik om te vergroten –

Stap 1: Helper kWh teller aanmaken

Om een teller te realiseren, die je zelf kan laten oplopen op basis van de gerapporteerde dag-opbrengst, maak je een zogenaamde helper aan in Home Assistant. Ga hiervoor naar Instellingen > Appartaten & diensten > Helpers > Helper aanmaken (knop, rechts onderin). Kies als type Numeriek.

Vul alle velden als volgt in;

  • Geef de teller een naam (ik heb participaties in windmolen de Boerenzwaluw).
  • Als herkenbaar pictogram kan je gebruik maken van mdi: wind-turbine.
  • De minimum waarde mag op 0 blijven staan.
  • De maximum waarde heb ik op 9999999999 (10 x een 9) gezet, dat moet voorlopig voldoende zijn.
  • De weergavemodus mag op Invoerveld komen te staan.
  • De stapgrootte mag op 1 blijven staan.
  • De meeteenheid mag uiteraard op kWh gezet worden.
– Klik om te vergroten –

Stap 2: Helper kWh template aanmaken

Aangezien de numerieke-sensor door Home Assistant niet gezien wordt als een energie-sensor, welke nodig is om op te nemen in het energie-dashboard, maak je een template-sensor aan. Deze wordt wel gezien als energie-sensor, en gebruikt qua te rapporteren waardes één-op-één de waardes van de zojuist aangemaakte numerieke-sensor.

Ga opnieuw naar Instellingen > Appartaten & diensten > Helpers > Helper aanmaken. Kies als type Template, en kies voor Template a sensor.

  • Geef de sensor een naam, dit is de naam die ook zichtbaar wordt in je energie-dashboard, dus een leesbare naam is handig.
  • Als statussjabloon gebruik je vervolgens onderstaande code;
{{ states('input_number.boerenzwaluw_kwh_teller') | float(0) }}

Let er hierbij wel op dat input.number.boerenzwaluw_kwh_teller dus het ID is van de in stap 1 aangemaakte teller. Ter controle kan je deze id opvragen door de eigenschappen van die teller op te vragen en te kijken naar het entiteits-id veld.

  • Als meeteenheid geef je uiteraard weer kWh op.
  • De apparaatklasse zet je op Energie.
  • Tot slot zet je de statusklasse op Totaal oplopend.
– Klik om te vergroten –

Stap 3: Automatisering aanmaken

OK, nu je de twee benodigde sensoren hebt aangemaakt, moeten deze nog wel ieder uur gevuld gaan worden met waardes. Zoals gezegd gebruiken we hiervoor de dag-opbrengst, teruggerekend naar de gemiddelde uur-opbrengst (dus delen door 24). En deze wordt ieder uur toegevoegd aan de als eerste aangemaakte numerieke-sensor.

Ga hiervoor naar Instellingen > Automatiseringen & scenes > Automatisering toevoegen (knop rechts, onderin). Kies voor Automatisering toevoegen.

  • Klik op de 3 puntjes rechtsbovenin en kies voor Bewerken als YAML. Vervang vervolgens alle YAML-code die je te zien krijgt met deze code;
trigger:
  - platform: time_pattern
    minutes: "0"
condition: []
action:
  - service: input_number.set_value
    data_template:
      entity_id: input_number.boerenzwaluw_kwh_teller
      value: >-
        {{ (states.input_number.boerenzwaluw_kwh_teller.state | float) +
        (states.sensor.de_boerenzwaluw_production_day_shares.state | float / 24)
        }}
mode: single
– Klik om te vergroten –
  • Klik weer op de drie puntjes rechtsbovenin en kies weer voor Bewerken in visuele editor.
  • Onder de kop Wanneer zie je dat we een trigger hebben aangemaakt om deze automatisering iedere 0de minuut van elk uur te activeren. Dus om 00:00 uur, 01:00 uur, 02:00 uur, etc.
  • Klik de actie onder de kop Doe dan open. Je ziet hier nog steeds stukje YAML-code staan.
  • Achter entity_id: staat welke sensor geüpdate moet gaan worden. Vervang hier de entiteit-id met die van de als eerste aangemaakte teller, zoals je die waarschijnlijk in de vorige stap al hebt opgezocht.
  • Onder value: >- is de formule terug te vinden voor het updaten van de waarde van deze sensor. Hierin pas je twee dingen aan;
    • Vervang in (states.input_number.boerenzwaluw_kwh_teller.state | float), de id input_number.boerenzwaluw_kwh_teller opnieuw voor de waarde van de eerste teller.
    • Vervang in (states.sensor.de_boerenzwaluw_production_day_shares.state | float / 24) de id de_boerenzwaluw_production_day_shares voor de entiteits-id, zoals je die eerder hebt genoteerd in de voorbereidingsstap.
  • Sla tot slot de automatisering op en geef deze een herkenbare naam en eventueel een beschrijving.

Stap 4: Energiedashboard instellen

In principe zijn we klaar met het ingewikkelde gedeelte… nu alleen nog de windmolen toevoegen aan het energie-dashboard;

Ga naar Instellingen > Dashboards > Energie. Klik op de knop Teruglevering toevoegen.

  • Selecteer voor Energie teruggeleverd aan het net de template-sensor zoals je die hebt aangemaakt onder stap 2.
  • Kies voor Opslaan.

OK, dit was dus de eenvoudigste stap… als het goed is.

– Klik om te vergroten –

Er zijn mij namelijk een tweetal zaken opgevallen die kunnen verhinderen dat het toevoegen aan het energie-dashbord wil lukken.

  1. Het kan simpelweg even duren voordat de teller beschikbaar komt. Dit heeft te maken (naar het schijnt) dat Home Assistant eerst waardes nodig heeft waarmee gewerkt kan worden. En aangezien de automatisering slechts 1 keer per uur draait om waardes toe te voegen, kan het dus zijn dat je hierop moet wachten. Enige oplossing hiervoor is dus wat geduld hebben ben ik bang.
  2. Bij het experimenteren om e.e.a. werkend te krijgen, bleken bij mij uiteindelijk wat statistiekfouten opgetreden te zijn. Waarschijnlijk omdat ik verschillende type waardes aan de template-sensor had toegekend en deze gepoogd werden in de statistiek te verwerken. Dit is relatief eenvoudig op te lossen;
    • Ga naar Ontwikkelhulpmiddelen > Statistiek. Sorteer op de kolom Probleem, zodat de probleem-sensoren bovenaan staan.
    • Controleer of één van de twee sensoren die je aangemaakt hebt, een probleem heeft. Als dat het geval is, kies dan voor probleem oplossen.

Als je één van de oplossingen hebt geprobeerd, probeer dan opnieuw de sensor toe te voegen aan het energie-dashboard. Bij mij werkte hierna in ieder geval alles.

Stap 5 (optioneel): Helper W gemiddeld laatste 24 uur aanmaken

Tot slot een stap mag je ook overslaan als je dit niet gaat gebruiken. Op mijn hoofd-dashboard heb ik zelf een overzicht staan van mijn energie opbrengsten (zowel wind als zon) + het ons net-gebruik of teruglevering. Om hierin ook de windenergie mee te nemen heb ik de volgende sensor nog aangemaakt.

– Klik om te vergroten –

Ga naar Instellingen > Appartaten & diensten > Helpers > Helper aanmaken. Kies als type Template, en kies voor Template a sensor.

  • Geef de sensor een naam, ik gebruik de naam Boerenzwaluw W gemiddeld laatste 24 uur.
  • Als statussjabloon gebruik je vervolgens onderstaande code;
{{ (states.sensor.de_boerenzwaluw_production_day_shares.state | float * 1000 / 24) | round(0) }}

Let er hierbij op dat de_boerenzwaluw_production_day_shares weer vervangen moet worden voor de identiteits-id van jouw dag-opbrengst van de Windcentrale-integratie (uit de voorbereidingsstap).

  • Als meeteenheid geef je W op (dus deze keer geen kWh!).
  • De apparaatklasse zet je op Vermogen.
  • Tot slot zet je de statusklasse op Meting.

Als je de sensor hebt aangemaakt, vervolgens aanklikt in het overzicht en op het tandwieltje klikt, dan kan je hier opnieuw het pictogram mdi: wind-turbine voor instellen.

Tot slot

Goed, heel wat stappen om te doorlopen dus, maar als het goed is wel te doen. Mochten er vragen zijn, laat dan vooral hieronder een bericht achter. En mocht je zaken missen, laat het dan ook vooral even weten!

4 reacties

Geef een reactie

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

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.