Ecopower prijs in Home Assistant

Op de Ecopower website staat een pagina Prijs voor groene burgerstroom met daarop de energiekost, die kunnen we automatisch inlezen in Home Assistant met de Scrape integration.

In dit stukje HTML vond ik de maandprijzen:

<div class='card-text'>
  <p><br></p>
  <h6>
    <strong>AFNAMEPRIJS APRIL 2023: 0,1684 EURO/KWH<br></strong>
    <strong>AFNAMEPRIJS MAART 2023: 0,1713 EURO/KWH<br></strong>
    <strong>AFNAMEPRIJS FEBRUARI 2023: 0,1879 EURO/KWH</strong>
  </h6>
  <h6>
    <strong><br></strong>
  </h6>
  <h6></h6>
  <h6>
    <strong>Terugleververgoeding: 0,11 euro/kwh</strong>
  </h6>
</div>

Om de afnameprijs van de meest recente maand in te lezen gebruikte ik deze code in configuration.yaml:

scrape:
  - resource: https://www.ecopower.be/groene-stroom/prijs-nieuw
    scan_interval: 3600
    sensor:
      - name: Ecopower energieprijs
        select: ".card-text h6 strong"
        index: 1
        value_template: '{{ value.split(" ")[3] | replace (",", ".") | float }}'
        unit_of_measurement: "€/kWh"

De resource is de URL naar de webpagina. Het scan_interval van 3600 seconden vraagt elk uur de gegevens op.

De select zorgt er voor dat de scraper in de HML op zoek gaat naar een strong element dat in een h6 element staat wat op zich in een element van class card-text staat.

Omdat de scraper meerdere van die strong elementen zal vinden selecteren we met index de eerste.

In het value_template splitsen we de gevonden string uit in items (gescheiden door spatie):

['AFNAMEPRIJS', 'APRIL', '2023:', '0,1684', 'EURO/KWH<br>']

Daarvan selecteren we het vierde item met [3] (omdat indexering op 0 start) en vervangen we met replace de komma door een punt om het vervolgens te typeren als een float.

Na een restart van Home Assistant zou je de waarde moeten zien verschijnen.

Als Ecopower de HTML code of de URL van de pagina wijzigt gaat dit natuurlijk niet meer werken. Check dan zeker de Scrape integration documentatie en de Scrape Sensor in Home Assistant – Extract Info From Websites video van Will Surridge.

7 thoughts on “Ecopower prijs in Home Assistant

  1. Tip: als je een ISO8601 datum van een website haalt (bv. 2023-06-10T17:48:20.941+02:00), gebruik dan dit value template: {{value|as_datetime}}

  2. Ik heb de value_template geupdate naar “{{ value.split(“:”)[1].split(” “)[1] | replace (“,”, “.”) }}”. Dan werkt het voor hoe de pagina nu geformateerd is.

    1. Top, Bedankt voor de aanvulling. Ik had het al voorspeld in de laatste paragraaf dat het eens ging veranderen, dat is het nadeel van scraping 🙂

  3. Ik weet niet of het het aan mij ligt, maar heb de index op 0 moeten zetten om de laatste prijs weer te geven. We zullen zien hoe het evolueert de komende dagen

    1. owkey… En na de prijsaanpassing van deze maand, heb ik de index terug op 1 moeten zetten … vreemd geval

  4. Let op: dit is maar een onderdeel van de kostprijs. Je moet hierbij nog de GSC, WKK, het afnametarief, heffingen en BTW rekenen. Je komt dan ruwweg 2x hoger uit. Dit naast de vaste kosten, natuurlijk.

Leave a Reply

Your email address will not be published. Required fields are marked *