Umwälzpumpe nach Raumtemperatur sinnvoll ansteuern

  • Edit: Thematik hat sich etwas geändert, wollte aber nicht gleich einen neuen Thread eröffnen.

    Bitte ab Post #10 lesen.

    Hallo zusammen,

    habe gestern angefangen meine Heizungssteuerung zu installieren. Bin noch ganz am Anfang und hab erstmal nur ein paar Temperatursensoren verbaut.

    Zusätzlich wird mir im ioBroker angezeigt wenn die Umwälzpumpe und Speicherladepumpe läuft. Das klappt alles sehr gut und ich habe auch die Daten im SQL-Adapter eingepflegt und bekomme auch schon Charts angezeigt.

    Um nun den Stromverbrauch zu errechnen, muss ich die Zeiten addieren. Die Umwälzpumpe läuft z.B. alle 15 Min. ca. 5 Min. lang (Nur als Beispiel). Im Automatikbetrieb der Heizung variiert das aber, da die Außentemperatur berücksichtigt wird.

    Wie kann ich nun am einfachsten errechnen wie lange die Pumpe an einem Tag gelaufen hat?

    Wenn die Pumpe läuft hat das Objekt den Wert true bzw. 1 und wenn die Pumpe aus ist hat das Objekt den Wert false bzw. 0.

    Wie gesagt, hab ich die Daten auch in einer MySQL Datenbank über den SQL-Adapter, aber wie ich es am Besten auswerte wie lange das Objekt am Tag auf true stand, weiß ich noch nicht so recht...

    Vielen Dank im Voraus für eure Ideen

    2 Mal editiert, zuletzt von cruunnerr (4. November 2018 um 21:22)

  • naja ich würde einfach wie einen Timer im Hintergrund mitlaufen lassen, der immer wenns auf 1 ist läuft und auf 0 eben nicht läuft.

    mit einem schedule um 00:00 am nächsten tag, liest den Wert aus und setzt den Timer für den neuen Tag wieder auf 0

  • Danke für die Antwort.

    Dachte es wäre vielleicht irgendwie möglich die vorhandenen Werte aus der MySQL Datenbank auszuwerten. Bestimmt sogar, aber da reichen meine Kenntnisse bei Weitem nicht.

    Habe jetzt mal per blockly was gebastelt und lass es mal ab jetzt laufen. Morgen werde ich dann sehen, ob es funktioniert.

    Hab dann noch das hier gefunden: https://github.com/hdering/homema…otokollieren.js

    Versuche dann mal meine mit Blockly erstellten Werte damit in Preise darzustellen. Denn mit Blockly geht das zwar auch, aber in dem Skript werden ja direkt Datenpunkte für Tage, Wochen, Monate, Jahre angelegt. Somit kann ich mir die ganze Arbeit sparen (hoffe ich zumindest ^^)

  • Die Frage ist, mußt du unbedingt wissen was jede Pumpe braucht oder reicht es zu wissen was die gesamte Heizanlage verbraucht? Da könntest einen [definition='25','0']Sonoff[/definition] Pow davor schalten der dir die kWh Mit protokolliert.

  • Im Fall der Umwälzpumpe, hätte ich es schon gerne separat um Zusammenhänge zwischen Temperaturen, Anwesenheit, Brenner und Pumpe darzustellen.

    Die Kostenberechnung ist eigtl. erstmal nebensächlich.

    Viel wichtiger für mich persönlich ist, zu erkennen ob Einsparpotential beim Heizölverbrauch vorhanden ist.

    Deshalb geht es mir vorrangig darum die gesamte Laufzeit pro Tag zu errechnen.

    Selbst wenn die Pumpe 18 Std. am Tag läuft, kostet sie mich trotzdem "nur" knappe 5€ / Monat.

    Bei unnötigem Nachheizen, weil die Pumpe länger läuft als eigtl. nötig sieht es wieder anders aus bei derzeitigen 85 cent/Liter ^^

    Hab ja quasi erst seit gestern die Protokollierung gewisser Daten begonnen, aber sehe halt auch, das die Umwälzpumpe relativ oft läuft, obwohl die Räume noch warm sind.

    Meine Idee wäre dann eben, die Pumpe abhängig von der Raumtemperaturen anzusteuern, damit der Kesselspeicher länger warm bleibt und der Brenner weniger oft anspringen muss.

    Bisher hab ich noch nicht viele Sensoren installiert:

    Weiter gesponnener Gedanke wäre (falls ich es hinbekomme) den Ölverbrauch genauer zu dokumentieren und den Zusammenhang zur Ümwälzpumpe und Außentemperatur herzustellen.

    So kann man Vergleiche ziehen, falls man Optimierungsversuche an der Heizung vornimmt und leichter erkennen, ob sich am verbrauch was verändern hat.


    Klingt jetzt alles viel zu sehr "um die Ecke" gedacht und vielleicht auch "overdressed", aber zum Einen macht mir der ganze Kram Spaß und zum anderen lerne ich gerne Dinge verstehen (in dem Fall eine simple Heizungsanlage) :D


    EDIT: Und vor lauter dieser leicht übertriebenen Gedanken verlier ich dann so simple Dinge wie den [definition='25','0'][definition='25','0']Sonoff[/definition][/definition] Pow auch schonmal aus den Augen XD

    Danke dafür

  • Also eine Heizungsanlage (moderne) ist alles andere als simple.

    Ich bin heute auch gesessen und hab 2 Nodemcu mit je 2 ds18b20 Sensoren zusammen gebastelt um die Heizkessel Vor- und Rücklauftemperatur und die Fußbodenheizung Vor- und Rücklauftemperatur mal zu messen und aufzuzeichnen.

    Und warum? Aus den gleichen Gründen wie bei dir.

  • Na dann ist ja nun niemand mehr alleine XD

    Hab mir auch schon Nachschub der Sensoren bestellt ^^

    Naja, modern ist sie nun wirklich nicht (1993), aber sie läuft halt noch und immerhin mein Schornsteinfeger meint auch, dass sie noch gut wäre.

    Nur fehlt der Anlage halt hier und da eben die modernere Sensorik um mit den aktuellen Modellen mitzuhalten. Das versuch ich halt zu kompensieren mit 2€ China Bauteilen âla ESP8266 und DS18B20

    XD

  • Meine Pumpen werden ja derzeit auch noch von der Heizung selbst angesteuert. Aber leider zu oft wie ich finde. Mit ein paar Relais kann man aber relativ einfach eine Parallelsteuerung realisieren. Eigtl. könnte man ja einfach die Zuleitung zur Pumpe via Relais ausschalten (z.B. beim Verlassen des Hauses). Dann kann die Heizung ruhig ansteuern, aber an der Pumpe kommt keine Spannung mehr an. Oder man überlässt die Steuerung einfach komplett ioBroker. Aber bei Ausfall vom Server, WLAN oder Störungen der Sensoren kann es flott zu Problemen kommen.

    Deshalb hätt ich am Liebsten eine Parallelsteuerung. Falls ich außer Haus bin wird via Relais die Zuleitung von der Heizung zur Pumpe unterbrochen und von einem Wemos Mini übernommen, der die Pumpe dann nur so oft ansteuert, dass es im Haus geradeso warm genug bleibt. Beim Betreten des Hauses, darf dann die Heizung wieder den Part übernehmen.

    Aber alles noch im "Brainstorming"-Status. Ist jetzt auch schon spät. Ich geh schlafen :P

  • Einfach für die Leute, die es interessiert:

    Hab jetzt schonmal alle möglichen Sensoren installiert.

    Bildschirmfoto-2018-11-03-um-09-40-06.png


    Bildschirmfoto-2018-11-03-um-10-03-18.png


    Sensoren also alle dran. Jetzt fehlt noch die Steuerung.

    Mir ist beim ganzen Werkeln auch aufgefallen, dass der originale Temperaturfühler von der Heizung defekt ist -.-

    Musste jetzt nen neuen bestellen.

    Einmal editiert, zuletzt von cruunnerr (3. November 2018 um 10:06)

  • Hallo,

    Hab jetzt zu den ganzen Sensoren noch ein Relais an die Umwälzpumpe gebaut und im ioBroker eingepflegt.

    Idee:

    Wenn IST-Raumtemperatur unter den eingestellten SOLL-Wert sinkt, dann Pumpe ansteuern.

    Wenn IST-Temperatur + 0,2°C Offset über dem eingestellten SOLL-Wert steigt, dann Pumpe abschalten.

    Das ganze dann nur, falls Außentemperatur unter 16°C


    Vorhandene Hardware:

    -Derzeit MAX!-Cube mit Heizkörperthermostaten

    - Später noch separate Raumthermostate âla Xiaomi o.ä., da die MAX!-Thermostate sehr träge bei der IST-Temperatur sind oder einfach 0° anzeigen.

    So, nun zur Sache... Skript hab ich erstellt und es funktioniert sogar scheinbar erwartungsgemäß ^^

    Langzeittest muss noch folgen.

    In dem Skript sind allerdings extrem viele UND/ODER Abfragen und ich frage mich, ob das nicht besser geht (Stichwort Listen?). Ich verwende zwar keinen [definition='18','0']Raspberry[/definition], sondern schon etwas Leistungsstärkere Server-Hardware, aber ein wenig Ressourcensparend und übersichtlich (für evtl. mehr Trigger-Objekte) sollte es ja schon sein.

    Hat da jemand einen Tipp/Rat, wie man es optimieren kann und ob ich vor allem etwas evtl. nicht berücksichtigt bzw. vergessen habe?

    Danke schonmal :)


    Quellcode kann ich wegen der Zeichenbegrenzung nicht posten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!