Ölverbrauch der Heizung - berechnet

Begonnen von bugster_de, 20 Juli 2017, 11:44:25

Vorheriges Thema - Nächstes Thema

bugster_de

Hi,

ich habe mir vor geraumer Zeit eine kleine Routine gebastelt, die aus der Brennerlaufzeit in Minuten den Tagesölverbrauch berechnet. Läuft seit 6 Monaten und ist auf plus/minus 50 Liter genau. Vielleicht kann das ja auch jemand brauchen.

Setup:
- ich habe eine Buderus Logamatic und die hat ein Reading Brenner_Laufzeit1_Minuten, welches die ausummierte Brennerlaufzeit darstellt
- immer um 23:58h starte ich mit einem at Kommando meine Routine
- diese liest die Brennerlaufzeit aus und vergleicht sie mit dem Wert vom Tag davor. Das ergibt die Tages-Laufzeit des Brenners
- nun kann man, wenn man den Durchsatz des Brenners in kg/h kennt (Datenblatt anschauen) und die Dichte von Öl hinzuzieht den Durchsatz berechnen
- danach den aktuellen Brennerlaufzeit Wert in eine Dummy Variable speichern (für den nächsten Tag)
- die berechneten Werte für Tagesverbrauch und resultierenden Ölstand dann in dummy Variablen geben zur visualisierung
- ein Plot zeigt mir dann den Ölverbrauch pro Tag über der Aussentemp an

Ihr braucht folgende Dummy
BLZ_last_off_time: das ist der letzte Zählerwert vom Tag davor
BLZ_today: das ist die Brennerlaufzeit des aktuellen Tages in Minuten
Oil_Throughput: das ist der Brenner Durchsatz laut Datenblatt den man setzen muss (bei mir 1.9)
Oil_density: das ist die Öldichte, die man setzen muß. Ich habe 0.83 eingesetzt
Oil_Consumption_total: das ist der Ölverbrauch gesamt seit Start der Berechnungen
Oil_Consumption_today: das ist der Tagesölverbrauch
Oil_level: das ist der Füllstand des Tanks in Liter. Bitte auf den aktuellen Wert setzen (also am Tank schauen und dann eintragen)
Oil_level_perc: Füllstand in Prozent

# ------------------------------------------------------------------------
#  Brennerlaufzeit und Oelverbrauch 
# ------------------------------------------------------------------------
sub HZ_Brenner_Laufzeit( ) {
    my $deltaT = 0;
    my $last = ReadingsVal( "BLZ_last_off_time", "state", 500 );
    my $act  = ReadingsVal( "myHeiz", "Brenner_Laufzeit1_Minuten", 700 );

    if( $act > $last ) {
$deltaT = $act - $last;
    } else {
#overflow
# no idea, when the overflow comes; set to 1.000.000
#$deltaT = 1000000 - $last + $act;
# for the time being, we assume same time as yesterday
$deltaT = ReadingsVal( "BLZ_today", "state", 100 );
    }

    # set the Brenner Laufzeit
    fhem( "set BLZ_last_off_time $act" );
    fhem( "set BLZ_today $deltaT" );

    # now calculate the Oil consumption
    # see here 
    # http://martin-havenith.de/optimierung/leistung/Duesen/duesen.html
    # laut Datenblatt hat der Brenner einen Durchsatz von 1,9 kg/h
    my $oil_per_hour = ReadingsVal( "Oil_Throughput", "state", 2 );
    $oil_per_hour =~ s/,/\./g;
   
    my $oil_dens = ReadingsVal( "Oil_density", "state", 0.83 );
    $oil_dens =~ s/,/\./g;

    #  kg / h         l
    # ----------  = ------
    #  kg / l         h

    my $oilcons = ( $oil_per_hour / $oil_dens ) * ( $deltaT / 60 );

    my $buf = ReadingsVal( "Oil_Consumption_total", "state", 100 ) + $oilcons;
   
    fhem( "set Oil_Consumption_today " . sprintf( "%0.1f", $oilcons ) );
    fhem( "set Oil_Consumption_total " . sprintf( "%0.1f", $buf ) );

    $buf = ReadingsVal( "Oil_level", "state", 2000 ) - $oilcons;

    fhem( "set Oil_level " . sprintf( "%0.1f", $buf ) );

    # Gesamtmenge sind 3.000 Liter
    my $perc = $buf / 3000 * 100;
    fhem( "set Oil_level_perc " . sprintf( "%0.2f", $perc ) . " %" );
}

Hollo

Frage: Wie liest Du die Laufzeit aus der Logamatic aus?

Meines Erachtens ist der Ölverbrauch allerdings maßgeblich von der verwendeten Düse und der zugehörigen Einstellung abhängig, oder meintest Du das mit "Durchsatz des Brenners"?
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

bugster_de

ja, das meine ich mit Durchsatz des Brenners. Die verwendete Düse sowie der Druck des Öls bestimmten die Menge des Öls die pro Stunde da durch geht. Bei mir hatte ich Glück und es stand im Datenblatt vom Brenner

An der Logamatic habe ich die 2107 Karte mit der seriellen Schnittstelle drin. Diese hängt an einem Raspi. Anfänglich ein extra Heizungs-FHEM auf diesem Raspi, mittlerweile mit ser2net das Durchreichen der Schnittstelle an meinen Haupt-FHEM-Raspi. Die Karte war zwar für das was drauf ist vergleichsweise teuer, aber durch die damit gefundenen Optimierungen in der Heizungseinstellung hat die sich mehr als bezahlt gemacht