Heizölpreise in HA darstellen

Ein Hallo in die Runde,
ich hätte gern gewusst, ob jemand die Heizölpreise in HA auswertet und welche Integration genutzt werden kann. Im IOBroker gibt es ja eine Instanz, hier bin ich noch nicht fündig geworden.
Danke im voraus.

2 „Gefällt mir“

Hat jemand zufällig schon eine Lösung?

Ich würde auch gerne den heizöl Preis mir anzeigen lassen und daraus eine sutomatisation machen. Habe chat gpt gefragt der konnte es aber nicht.

Das ist wohl möglich, das sagt die Ki dazu:

Übersicht mit KI

[image]

[image]

+5

Heizölpreise

können in Home Assistant primär über REST-Sensoren (Scraping von Webseiten) oder spezielle GitHub-Integrationen überwacht werden, um bei Tiefstpreisen benachrichtigt zu werden. Beliebte Methoden beinhalten das Abrufen lokaler Preisdaten über Web-Scraping und die Nutzung von Carbu.com via HACS, um Preisänderungen direkt im Dashboard anzuzeigen.

[image]Home Assistant Community +3

Möglichkeiten zur Einbindung:

  • REST-Sensor (Scraping): Über scrape oder rest Sensoren in der configuration.yaml können aktuelle Preise von Webseiten wie heizoel24.de eingelesen werden, indem die entsprechende URL konfiguriert wird.
  • Carbu.com Integration: Die GitHub-Integration Carbu.com wird oft genutzt, um über HACS Heizölpreise (sowie Benzin) zu tracken.
  • Heating Oil Manager: Ein spezialisiertes Projekt auf GitHub ermöglicht die Verwaltung des Heizölstands und Preises.
  • Alternativ - Tankerkönig: Während Tankerkönig primär für Spritpreise gedacht ist, zeigen YouTube-Videos, wie allgemein Preise getrackt werden können.

[image]Home Assistant Community +5

Schritte zur Einrichtung:

  1. Quelle finden: Eine Website mit Heizölpreisen für die Region auswählen.
  2. Scraping: Einen scrape Sensor erstellen, der den Preis vom HTML-Element der Seite extrahiert.
  3. Automatisierung: Eine Automation erstellen, die den sensor.heating_oil_price überwacht und bei Preisabfall eine Nachricht sendet.

So habe ich es gelöst

Ergänzung in der configration.yaml - dabei muss der zipCode natürlich deiner sein.

rest:
  - resource: https://www.heizoel24.de/DailyPriceXml.ashx?zipCode=42553&litre=2000&unloadingpoints=1
    headers:
      user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
    scan_interval: 3600
    sensor:
      - name: "heizoelpreis"
        value_template: "{{ value_json['result']['deliveries']['delivery']['price'][0]['#text'] | regex_replace(find=',' , replace='.') | float }}"
        unit_of_measurement: "EUR"
        state_class: "total"
        device_class: "monetary"
        unique_id: "heizoelpreis"

Das scan_interval muss mindestens 3600 haben, da der web-service dich sonst blockiert.

Danach gibt es dann einen Sensor, welche den Preis abbildete

3 „Gefällt mir“

Danke hat geklappt :+1:

2026-03-25_07-58

Ist das der Aktuelle Preis? Ist der auch schon so gestiegen wie der Spritpreis? Habe da keine Ahnung was die Preis da gewesen sind.

Der war auch schön höher…, wir haben aber noch für 1,00€/L Bestellt und auch so Geliefert bekommen, eine Woche später ging der Krieg los und der Preis lag zeitweiße bei 1,52€/L

1,52€/l ist schon eine Ansage, da muss man sich schon gut überlegen was man mit dem Heizungssystem macht, wie und was Sinn macht was zu ändern!

Bin doch schon dabei :joy:

Ups… der Ölpreis ist gefallen, 10 Cent weniger :slight_smile:
2026-03-25_16-57

Hi muss man bei Heiöl24 Anmelden? und was meinst du mit zipCode? danke

Habe gearde mal geschaut was in AT der Liter Heizöl heute kostet! 1,77€/L das hat der Diesel vor 14 Tagen nicht mal gekostet!

Ich Antworte mal, weil ich grade ON bin.

Nein du musst dich nicht Anmelden, pass diese stelle im Code mit deiner Postleitzahl an:
zipCode=42553 in meinem fall steht dann zipCode=64331 da.

Dann so weiter wie @LvS21 es Beschrieben hat.

hat geklappt danke

Hi ich habe noch 1 Frage. Es funktioniert aber ich bekomme z.b 134,34€ pro 100 Liter. Aber ich möchte es pro Liter machen. Wenn ich KI Frage schlägt er mir ein yaml Code vor aber der es bringt mir Fehler bei Neustart von HA. Das ich mich mit yaml aus kenne habt ihr für mich ein Idee?

Danke

Hi, dann müsstest du eigentlich nur den Template Teil um eine Rechnung erweitern, so dass immer durch 100 geteilt wird. Versuche es mal so.

value_template: "{{ ((value_json['result']['deliveries']['delivery']['price'][0]['#text'] | regex_replace(find=',' , replace='.') | float) / 100) | round(2) }}"
1 „Gefällt mir“

Danke hat funktioniert :+1:

Auch, wenn es vielleicht blöd klingt, aber die Anzeige “Warten” oder “Kaufen” ist ja immer relativ zum Weltmarkt zu sehen. Ich lasse mir zum Beispiel die Spritpreise von E5/E10 von 2 Tankstellen anzeigen. Die “grüne” Schwelle zum Kauf ist bei mir auf 1,80€/Liter eingestellt. Das heißt, im Moment dürfte ich nie im Leben tanken gehen :wink:. Zum Schluss muss man halt abwägen, was einem der angezeigte Wert wirklich bringt.

Wenn im Öltank immer weniger drin ist, der Wert aber immer noch oberhalb der selbst festgesetzten Grenze liegt und dann irgendwann, durch weitere geopolitische Verstrickungen, weiter steigt, was bringt einem da die Grenze? Zum Schluss bleibt es ein statistischer Wert. Und wie heißt es so schön: Glaube keiner Statistik, die du nicht selbst gefälscht hast.

Fazit: Was bringen einem Werte, wenn auf dem Weltmarkt eine Situation herrscht, die seit 50 Jahren nicht mehr da war.

Für uns ist das nur ein Anhaltspunkt, wir können ab 300L Rest Tankinhalt kaufen und müssen bei 100L Kaufen, egal wie der Preis zu diesem Zeitpunkt steht.

Aber wir haben unsere Tankbefüllung so getaktet das wir im Frühjahr 600l füllen lassen und dann noch mal im November 600l, das sind Zeiten in den das Heizöl meinst noch etwas Günstiger ist.

2 „Gefällt mir“

Anders als bei Gas ist es beim Öl doch so, dass man nicht so abhängig von den Preisschwankungen ist. Klar, wenn der Tank leer ist muss ich für das kaufen, was aktuell verlangt wird, aber i.d.R. habe ich soviel Puffer, das ich auch mal ne Saison überspringen kann.

@LvS21 Vielen Dank für den Codeschnipsel. Habe ich mir gleich in mein Dashboard integriert.