Ölverbrauch der Heizung ermitteln durch Stromzähler

KVuke

Member
Hallo zusammen,
ich bin Mieter in einem Einfamilienhaus und würde gerne den Ölverbrauch der Heizung ermitteln. Meine Idee ist hier eine Stromzähler zu verwenden.

Ich habe einen Shelly Plus 1 PM an die Stromversorgung der Ölheizung geklemmt.

1679601034196.png
Dieser misst nun den Verbrauch seit drei Tagen.

In den Diagrammen erkenne ich 4 verschiedene Werte. Meine aktuelle Annahme ist, das wenn der Stromverbrauch über 230W liegt, der Brenner läuft und dadurch Öl verbrannt wird.

Dafür habe ich mir einen input select definiert (nicht alle Werte werden aktuell verwendet):
YAML:
ug_heizungsraum_buderus_status:
  name: UG Heizungsraum Buderus Status
  options:
    - switched-off
    - running
    - status-4
    - status-60  
    - status-175  
    - status-230
    - burning
  initial: switched-off

Per 4 Automatismen wird dieser gesetzt:
1679601226478.png

YAML:
- id: '1679338805237'
  alias: UG Heizungsraum Buderus 004 - 059.9
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.buderus_heizung_switch_0_power
    for:
      hours: 0
      minutes: 0
      seconds: 5
    above: 4
    below: 59.9
  condition: []
  action:
  - service: input_select.select_option
    data:
      option: status-4
    target:
      entity_id: input_select.ug_heizungsraum_buderus_status
  mode: single
- id: '1679338991425'
  alias: UG Heizungsraum Buderus 060 - 174.9
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.buderus_heizung_switch_0_power
    for:
      hours: 0
      minutes: 0
      seconds: 5
    above: 60
    below: 174.9
  condition: []
  action:
  - service: input_select.select_option
    data:
      option: status-60
    target:
      entity_id: input_select.ug_heizungsraum_buderus_status
  mode: single
- id: '1679339047502'
  alias: UG Heizungsraum Buderus 175 - 229.9
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.buderus_heizung_switch_0_power
    for:
      hours: 0
      minutes: 0
      seconds: 5
    above: 175
    below: 229.9
  condition: []
  action:
  - service: input_select.select_option
    data:
      option: status-175
    target:
      entity_id: input_select.ug_heizungsraum_buderus_status
  mode: single
- id: '1679339173570'
  alias: UG Heizungsraum Buderus 230
  description: ''
  trigger:
  - platform: numeric_state
    entity_id: sensor.buderus_heizung_switch_0_power
    for:
      hours: 0
      minutes: 0
      seconds: 5
    above: 230
  condition: []
  action:
  - service: input_select.select_option
    data:
      option: status-230
    target:
      entity_id: input_select.ug_heizungsraum_buderus_status
  mode: single

Das Ergebnis sieht erstmal so aus:
1679601364480.png

Die Zeiten verden berechnet durch history_stats:
Code:
- platform: history_stats
  name: ug_heizungsraum_buderus_status-230
  entity_id: input_select.ug_heizungsraum_buderus_status
  state: "status-230"
  type: time
  start: "{{ now().replace(hour=0, minute=0, second=0) }}"
  end: "{{ now() }}"


Die Zeitanzeige wird pro Tag resetet. Der Ölverbrauch wäre ug_heizungsraum_buderus_status-230 * 3. Die 3 kommt durch die verbaute Düse und die Aussage des Heizungsmenschen: 1h brennen, 3l Verbrauch.

Ich habe jetzt mehrere Fragen und ein Problem:

1) wie kann ich den Verbrauch berechnen und das das reseten pro Tag nicht stört?

2) habt ihr bessere Ideen das was ich bisher umgesetzt habe umzusetzen im Home Assistant?

3) Heute früh hat die Heizung erst kurz nach 5 Uhr begonnen zu Arbeiten. Das erkenne ich auch am Stromverbrauch. Und entspricht auch der Einstellung der Heizung.
1679601681535.png

Trotzdem haben die Automatismen nicht funktioniert wie gedacht:
1679601845487.png
Punkt Mitternacht wurde auf 230W gesetzt für die nächsten 5,5h Stunden, was nicht korrekt ist und dadurch die ganze Berechnung verfälscht.
Habt ihr eine Idee was das sein könnte?

Danke & Grüße
KVuke
 
Zuletzt bearbeitet:
Den Verbrauch berechne ich gerade mit:
Code:
- platform: template
  sensors:
    ug_heizungsraum_buderus_verbrauch:
      friendly_name: Buderus Verbrauch
      value_template: "{{'%.2f' | format(states('sensor.ug_heizungsraum_buderus_status_230')| float(0) * 3)}}"
      unit_of_measurement: l

Ob der reset das stört, werde ich morgen herausfinden.
 
Interessanter Ansatz.
Aber so Öl-Durchfluss-Zähler gibts auch schon ab 30 Euro. Sowas in die Ölleitung bauen ist sicher viel genauer.
 
und zusätzlich würde ich noch eine Tankanzeige auf Schwimmerbasis (analog) einbauen und an einen ESP hängen.
 
Wie alt ist die Heizung? Die meisten auch ca. 20-25 Jahre alte Buderus Brenner haben einen EMS oder EMS+ Bus, dieser lässt sich anzapfen und nach HA übertragen, liefert alle benötigten Informationen.

Screenshot_20230324_120256_Home Assistant.jpg
 
Wie alt ist die Heizung? Die meisten auch ca. 20-25 Jahre alte Buderus Brenner haben einen EMS oder EMS+ Bus, dieser lässt sich anzapfen und nach HA übertragen, liefert alle benötigten Informationen.

Anhang anzeigen 3439

Das Steuergerät müsste ein Buderus HS 2105 sein. Das Alter kenne ich nicht.

Weißt du ob das da gehen würde und was ich noch bräuchte?
 
Zuletzt bearbeitet:
Ich will ja hier nicht schwarzmalen aber wir reden hier über eine Heizanlage die nicht deine ist wenn ich das richtig lese. Ob es hier sinnvoll ist dran Raum zu schrauben lass ich mal offen.

Zu deiner ersten Frage ich würde den Wert des Tages den du berechnest speichern und dann die Tage aufaddieren. Ich würde hier das Datum noch mit dazu nehmen um Monatsverbrauch oder Jahresverbrauch noch raus zu filtern

Ist den sicher das wenn der Brenner angeht immer fest 3L pro Stunde durchgehen?
 
Ich will ja hier nicht schwarzmalen aber wir reden hier über eine Heizanlage die nicht deine ist wenn ich das richtig lese. Ob es hier sinnvoll ist dran Raum zu schrauben lass ich mal offen.
deswegen habe ich einen Stromzähler angeschlossen (hab eine Ausbildung darin;)). An der Ölzufuhrt und Tanks will ich nichts machen

Zu deiner ersten Frage ich würde den Wert des Tages den du berechnest speichern und dann die Tage aufaddieren. Ich würde hier das Datum noch mit dazu nehmen um Monatsverbrauch oder Jahresverbrauch noch raus zu filtern

Wie geht das? kannst du mir einen Tipp geben?

Ist den sicher das wenn der Brenner angeht immer fest 3L pro Stunde durchgehen?
Hier verlasse ich mich auf die Aussage den Heizungsmonteurs der jedes Jahr zur Kontrolle kommt. Wenn es nicht so ist, habe ich einen groben Wert und es war nur ein Versuch.

Danke dir

Grüße
 

Anhänge

  • Screenshot_2023-03-25-09-17-11-142_io.homeassistant.companion.android.jpg
    Screenshot_2023-03-25-09-17-11-142_io.homeassistant.companion.android.jpg
    267,3 KB · Aufrufe: 2
deswegen habe ich einen Stromzähler angeschlossen (hab eine Ausbildung darin;)). An der Ölzufuhrt und Tanks will ich nichts machen
Wie gesagt muss jeder selbst wissen und entscheiden sollte auch kein du du werden 😂. Auch wenn du dich auskennst ist es am Ende so das wenn ein Defekt entsteht und festgestellt wird das du irgendwo was verändert hast war’s das mit Garantie (falls noch eine drauf ist) und dein Vermieter wird auch nicht bezahlen. Auch vollkommen unabhängige ob es überhaupt die Ursache war.

In Home-Assistent kenn ich mich nicht aus daher kann ich dir nicht direkt sagen wie es geht und ob es überhaupt direkt geht. Außerdem wird es hier hundert Herangehensweisen geben die man irgendwie umsetzen kann.

Meine grobe Idee wäre Tagesverbrauch sicher abzuspeichern z.B. in einer Datei oder Datenbank. Tagesverbrauch würde:

Laufzeit von 00:00 bis 24:00 entweder auslesen oder in Minuten zusammenrechnen also wegen mir 4x geheizt für 1:35, 0:30, 0:45 und 1:50 macht also 95+30+45+110=280 Minuten. Dann Verbrauch auf eine Minute runter brechen 3 Liter / 60 und dann mal 280 Minuten. Das ist der Tages Verbrauch sind in meinem Beispiel 14 Liter.

Den Speicher ich mit 12.03.2023, 14 L in eine Datei. Sagen wir nach 3 Tagen ab ich dann also
12.03.2023, 14 L
13.03.2023, 20 L
14.03.2023, 11 L

Somit sind alle Daten erstmal vorhanden und auch bei einem Absturz und neuem Hochfahren sicher.

Für die Anzeige oder Auswertung liest du die Datei ein und rechnest alles auf 14+20+11. Mit Datum könnte man dann hier noch Anfang und Ende des zu betrachtenden Zeitraums angeben. Also wie viel hab ich am 13 und 14 Verbraucht 31 L.

Ob das hier alles in Home Assitent geht kann ich wie gesagt nicht sagen. Ich würde mir hier ein eigenes Programm mit der Abfrage des Shellys direkt bauen und die Auswertung z.B. in Excel als Diagramm oder so machen.

Wie gesagt nur grobe Ideen sicher noch Ausbau fähig.
 
Aktuelle Lösung für das Protokollieren des Verbrauchs:


Code:
alias: UG Heizungsraum Buderus Summe
description: ""
trigger:
  - platform: time
    at: "23:59:00"
condition: []
action:
  - service: input_number.set_value
    data:
      value: >-
        {{ states('input_number.ug_heizungsraum_buderus_verbrauch_summe')|float
        + states('sensor.ug_heizungsraum_buderus_verbrauch')|float }}
    target:
      entity_id: input_number.ug_heizungsraum_buderus_verbrauch_summe
mode: single

Ein neuer input_number und eine Automation welche jeden Abend den Wert aufaddiert.
 
Zuletzt bearbeitet:
Ich hatte jetzt mal Zeit deine Heizung müsste eine
Buderus G115 und Ecomatic 2000
sein, diese ist leider noch ohne EMS Bus, die müsste aber einen Schaltausgang haben den man abgreifen kann, würde ich auf jedenfalls bevorzugen anstelle einer Smarten-Steckdosen (die im Fehlerfall) mal aus sein könnte und die Heizung läuft dann nicht, nur mal so am Rande erwähnt.

Die Berechnung könnte man auch gleich im template machen und somit einen Sensor dafür angeben.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.379
Beiträge
45.220
Mitglieder
3.978
Neuestes Mitglied
HAbeginner
Zurück
Oben