Ökofen-Spy

Ökofen-Spy

Analyse der Pelletheizung anhand visualisierter Daten aus der Pelletronic Touch JSON-Schnittstelle

Kurzbeschreibung

Ökofen Pelletheizungen sind in verschiedenen Ausstattungsvarianten erhältlich. Optionen können die Anzahl der Heizkreise, Zirkulationspumpe, Solaranlagen mit/ohne Ertragsmessung, Frischwasserstation und so weiter sein.

Die Pelletronic-Touch Heizungsregelung unterstützt verschiedene Energiesparoptionen wie diverse Ökomodi und eine Wettervorhersage. Dazu kommen viele Parameter die vom Installateur oder vom Kunden eingestellt werden können.

Oft bewirken Änderungen nicht das was der Anwender sich vorgestellt hatte. Eine Beurteilung ist schwer und erfolgt meist durch zeitaufwendige subjektive Beobachtung.

Mit Hilfe des Ökofen-Spy können grafische Auswertungen hierbei unterstützen. Ziele wären:

  • wenig Zündungen/Tag,

  • lange Laufzeiten des Brenners mit 100% Last,

  • verfügbares Warmwasser zur gewünschten Zeit,

  • ein maximaler Ertrag aus der Solarthermie.

Hier nur als Hinweis, die Solarthermie mag kaltes Wasser! Das heißt, kommt die Sonne um 10.00 Uhr auf die Solarpaneele sollte der Puffer möglichst abgekühlt sein. Dann kann solare Energie als Wärme in den Puffer eingetragen werden.

Diesen Verlauf der Speichertemperaturen von Unten, Mitte und Oben kann mit der grafischen Darstellung gut beurteilt werden. Ebenso ist gut zu erkennen, wann und warum die Soll-Temperaturen hoch gesetzt werden und eine Brenneranforderung erfolgt.

Ökofen-Spy greift auf die Live-Daten der Heizung zu und zeigt den Status der Anlagenkomponenten.

Zustand von Brenner, Heizkreise, Pufferspeicher und Solaranlage

Anwendungsmöglichkeiten

Die Heizkreise 1 und 2 werden mit Soll-Temperatur in ROT und Ist-Temperatur in GRÜN dargestellt. Eindeutig zu sehen, dass ab etwa 23.00 Uhr bis etwa 04:30 Uhr offensichtlich eine Nachtabsenkung eingestellt ist.

Der Heizkreis 2 versorgt die Heizkörper, die nur von 04:30 Uhr bis 10:00 Uhr und von 17:30 bis 23:00 Uhr wahrscheinlich die Bäder versorgen.

Die untenstehende Legende zeigt die aktuellen Werte an. Ist ist im Beispiel 27.5°C und die Soll-Temperatur ist abgesenkt auf 8°C.

Die Gauges-Anzeige (Rundinstrumente) gibt einen schnellen Überblick über den Vorrat an Warmwasser, die Leistung des Brenners sowie die aktuelle Solarleistung.

Gauges oder Rundinstrumente für eine schnellen Überblick

Dank eines Schweizer Anwenders mit einer neuen Pellematic Condens e mit Stirling kann jetzt auch dieser mit seinen Daten im Dashboard angezeigt werden. Dazu wird die neue JSON-Struktur ab Pelletronic V4.x verwendet.

Stirling Erzeugung heute, gestern, aktuell
Stirling Laufzeiten und Gesamterzeugung
Stirling Spannung bei Hertz
Stirling Betriebstemperaturen und Pelletlager
Gibt es die storage_fill_xxx Infos, dann geht auch eine „Tankanzeige“

Welche Einstellung führt dazu dass die Heizungssteuerung den Brenner startet ?

Ein schwacher Solarertrag um die Mittagszeit und die Temperaturen im Puffer Oben und Mitte fallen unter die gewünschte Warmwassertemperatur. Daraufhin geht der Brenner an.

Der Ökomodus sorgt wahrscheinlich dafür, dass die Vorgabetemperatur nicht so hoch gefordert wird, wie morgens um 06:00 Uhr.

Was waren die Auslöser für einen Zündvorgang ?
Mit Laufzeit-Info

Nun kommen immer mehr Meldungen zum #Holzofengate bei mir an. Das entbehrt jeder Grundlage, es werden hier Brennwert-Pelletheizungen einem offenen Kamin mit Holz/Müll-Füllung gleichgesetzt. Gerade dies hat mich angesport, über die Laufzeit und die Emissionsangaben von Ökofen Infos hierzu auch auszugeben. Damit ich die Werte größenmässig einordnen kann, vergleiche ich es mit der Wegstrecke die ein ziemlich kleines, aktuelles KFZ zurücklegen kann. 

 

Wieviel CO2 und Feinstaub stösst meine Heizung aus ?

Ist eine Solaranlage angeschlossen und eine Solarstation mit Ertragsmessung in der Pelletronic Heizungssteuerung angelegt, kann der Verlauf des Solarertrages über den Tag als Fläche betrachtet werden. Die Tabelle gibt Auskunft über den heutigen und den gestrigen Ertrag.

Der Solarertrag kann auch zusätzlich mit der Azimutkurve der Sonne versehen werden.

Sonnenkurve und Solarertrag bei reiner Südausrichtung

Läuft der Ökofen-Spy über einen längeren Zeitraum und sammelt kontinuierlich Daten, dann sind auch die kumulierten Solarleistungen über die letzten 14 Tage in einer Balkengrafik sichtbar.

an welchem Tag gab es viel von der Sonne zu ernten ?

Die Temperaturverläufe im Kollektor und im Speicher unten sind mit schattierten Flächen dargestellt. So können Verschattungen gut erkannt werden.

Ab wann steigt die Temperatur im Solarkollektor ?

Ganz oben im Dashboard werden Zustände auf Schaltflächen dargestellt. Hier ist leicht zu erkennen, wieviele Starts und welche Laufzeit die Anlage schon hinter sich hat.

Die durchschnittliche Laufzeit sollte so hoch wie möglich sein. Ist die durchschnittliche Laufzeit bei nur 20 oder 30 Minuten besteht viel Optimierungspotential.

Es ist auf einen Blick zu sehen, welche Pumpe gerade läuft und als Info wird noch der Verlauf der Aussentemperatur angezeigt.

Hat die Pelletronic Zugang zum Internet und der Ökomodus darf auf die Wettervorhersage zugreifen sind hier die Vorhersage-Daten für jetzt und später aufgelistet.

Über die JSON-Schnittstelle lassen sich auch Werte in der Steuerung setzen. Das sind die Betriebsart der Heizung an sich, die Betriebsmodi der Heizkreise, der Ökomodus und welche Stufe Ökomodus in den Heizkreisen oder in der Warmwasserbereitung berücksichtig werden soll.

Hier ausgeführt ist die einmalige Warmwasserbereitung durch eine Schaltfläche.

verwendete Hardware

Ökofen-Spy läuft auf einem Raspberry Pi 3 B+ oder anderen Versionen. Der Raspberry Pi 3 B+ ist bei Weitem ausreichend und es braucht keinen 4er, der nur deutlich mehr Wärme entwickelt.

Wichtig ist eine Ethernet-Schnittstelle am Raspberry Pi und er sollte im selben Netzwerksegment wie die Pelletronic-Touch Heizungssteuerung sein.

Der Raspberry Pi läuft unter Linux Betriebssystem und ohne Benutzeroberfläche. SSH oder Putty ermöglichen das einloggen.

Der User ist pi und das Passwort ist raspberry.

Der Raspberry hat den Hostnamen „oekofenspy“.

Voraussetzungen

  • Die Pelletronic Touch ist im Netzwerk

  • Die IP-Adresse der Pelletronic Touch ist bekannt

  • Die JSON-Schnittstelle ist aktiviert

  • Das Passwort und der Port für die JSON-Schnittstelle ist bekannt

  • Die Adresseingabe (im Browser) http://ip-adresse:port/passwort/all gibt ein Ergebnis

  • Der Raspberry Pi kann per Ethernet und DHCP ins Netzwerk aufgenommen werden.

 

InfluxDB

Die Live-Daten der Heizungssteuerung werden von einem Python-Script abgeholt, aufbereitet und in eine Influx-Datenbank geschrieben. Somit lassen sich die Daten anschließend in beliebigen Zeiträumen auswerten.

Das können die letzen 3 Stunden, oder auch der Dienstag vor 4 Wochen sein.

  • Die verwendete Influx Datenbank heißt „oekofen“,

  • hat den Benutzer „grafana

  • und das Passwort „pellematic

Grafana

Grafana ist der Name einer Open Source Software, mit der sich Daten aus verschiedenen Datenquellen optisch aufbereiten und in interaktiven, dynamischen Dashboards visualisieren lassen. Die Software steht für unterschiedliche Plattformen und Betriebssysteme zur Verfügung. Die Daten sind in vielen unterschiedlichen Chart- und Graphen-Typen darstellbar. Ebenfalls unterstützt wird die Alarmierung auf Basis der Daten.

Wesentliche Komponente der Software ist ein HTTP(S)-Server, der eine grafische Benutzeroberfläche bereitstellt. Die Anbindung der verschiedenen Datenquellen und weitere Funktionalitäten sind über ein Plug-in-System realisiert.

Häufig kommt Grafana für Monitoring-Aufgaben und die Visualisierung von Messdaten um Einsatz. Die Software arbeitet mit zahlreichen Zeitreihen-Datenbanken wie InfluxDB und anderen zusammen.

Grafana wurde 2014 entwickelt, ist sehr beliebt und hat eine weltweit aktive Community. Zahlreiche Unternehmen und Plattformen wie PayPal, eBay, Wikipedia, Intel, Vimeo oder Booking.com nutzen Grafana. Die aktuelle Version der unter Apache-2.0-Lizenz stehenden Software ist Grafana 7.5.3 (Stand April 2021).

Grafana wird aufgerufen mit dem Hostnamen des Raspberry Pi und dem Port 3000.

http://oekofenspy:3000

Das Anmelden erfolgt mit dem

  • Benutzer „admin“ und dem

  • Passwort „pellematic

Lighttpd Webserver

Der einzige Bereich, in dem die meisten modernen Webserver ausfallen, ist die Ressourcennutzung. Lighttpd wurde entwickelt, um diese Herausforderungen in Umgebungen mit wenig Arbeitsspeicher und wenig CPU zu bewältigen.

Lighthttpd ist ein leistungsfähiger Single-Thread-Webserver, der problemlos einige hundert Anforderungen pro Sekunde verarbeiten kann und dennoch die Systemressourcen schont.

PHP wird per FastCGI implementiert. PHP und Lighttpd wird verwendet um über Schaltflächen aus Grafana heraus Parameter auf der Heizungssteuerung zu setzen.

Momentan ist nur der Button „einmal Warmwasser aufbereiten“ realisiert.

Wird im Browser http:/oekofenspy/ aufgerufen, zeigt der Webserver die IP-Adresse des Raspberry Pi und eine Fertigmeldung an.

Das PHP-Skript „ww_once.php“ startet die einmalige, ausserordentliche Warmwasserbereitung.

<?php

$output=null;

$retval=null;

exec('curl -X POST http://172.22.222.138:4321/I5uG/ww1_heat_once=true', $output, $retval);

print_r($output);

echo 'Bitte eine Seite zurück gehen <--';

?>

Python

Bei Python handelt es sich um eine Programmiersprache mit einer klaren Syntax und guten Lesbarkeit. Sie gilt als leicht zu erlernen und ist in den gängigen Betriebssystemen interpretierbar. Der Name leitet sich von „Monty Python’s Flying Circus“ ab.

Der Python-Quell-Code ist unter der Python-Software-Foundation-License frei verfügbar. Im Netz existiert eine breite Anhängerschaft und eine große Community.

Python genießt einen Ruf als einfache und saubere Programmiersprache mit klarer Struktur. Ihr Programmcode ist intuitiv nutzbar und gleichzeitig leicht lesbar. Trotz der Einfachheit bietet Python eine gute Skalierbarkeit und ist für komplexe Softwareprojekte einsetzbar.

Aufgrund der ausdrucksstarken, minimalistischen Syntax sind Anwendungen mit wenigen Codezeilen und geringer Anfälligkeit für Programmierfehler realisierbar. Um für Einfachheit und Übersichtlichkeit zu sorgen, kommt Python mit sehr wenigen Schlüsselwörtern aus und verwendet Einrückungen als Strukturierungselemente.

Für die gängigen Betriebssysteme ist Python frei verfügbar. In vielen Linux-Distributionen gehört die Programmiersprache zur Standardausstattung.

Das Skript

Ein Skript mit dem Namen oekofen2influx.py übernimmt die Vorbereitung aller Daten und die Live-Kommunikation mit der Heizungssteuerung.

Live ist etwas übertrieben. Als Cronjob wird das Skript alle 4 Minuten gestartet.

Der Eintrag im Crontab um das Skript alle 4 Minuten laufen zu lassen.

Interessiert ? Gerne unterstütze ich euch bei der Installation eines solchen Monitorings für eure Ökofen Pelletronic Touch Heizungssteuerung. Was es an Grundvoraussetzung braucht konntet ihr weiter oben ja schon lesen.
Ihr könnt ein Image zum download haben oder ihr schickt mir ein neues Raspberry Pi Bundle mit der Textatei der JSON-Ausgabe zu. Ich installiere es, mach die Voreinstellungen und schicks euch zurück. Die Aufwandsentschädigung hierfür handeln wir aus.

10 Kommentare zu „Ökofen-Spy

  1. Hallo Peter,
    ich bin bald auch ein Ökofen Condens Besitzer (wird gerade aufgebaut) und zudem noch ein Smarthome Fan mit Homematic, IOBroker, … 😉
    magst du mir bitte die Files zu Ökofen-Spy zukommen lassen, damit ich mir die anschauen kann ?
    Danke und Gruss Dieter

    • Glückwunsch Dieter,
      gute Wahl. Hast du Frischwasserstation und Solarthermie mit dabei ?
      Ich schicke dir das Python-Script, da kannst du sehen, wie ich das JSON interpretiere. Damit kommst du dann auch in deine Smarthome-Lösungen.

  2. Hallo Peter,

    Erstmal gratuliere zur tollen Lösung, das Dashboard schaut echt gut aus. Ich habe eine Detailfrage dazu, wie kommst du auf den Verbrauch der Pellets in kg? Meine Anlage hat keine Sensoren im Lager, kommen die Werte darüber oder kann man das aus den Daten des Ofens direkt auslesen? Oder erst in v4 – ich bin noch auf v3.

    danke & lg
    Martin

    • Martin,
      leider hat meine Pellematic Smart schon ein paar Jahre auf dem Buckel und auch keine Wägezellen oder sonstige Sensoren im Sacksilo. Über Jahre habe ich die Laufzeit der Zuführschnecke aufgezeichnet und mit dem nachgefüllten Verbrauch überprüft.
      Dabei konnte ich für mich dann bestätigen, dass 1h Vollast etwa 1.8kg Pellets sind:
      SELECT non_negative_derivative(count(„pe1_L_modulation“), 1m) *4/60*1.8 FROM „4Weeks“.“heizung“ WHERE „pe1_L_modulation“ >10 AND $timeFilter GROUP BY time(1m)
      Das liegt ziemlich nahe an der Näherung, dass 1kg Pellets etwa den Energiegehalt von 4.8kWh hat. Meine kleine Smart moduliert nicht, sondern läuft auf 100% oder ist aus. Deshalb sammle ich die Laufzeit und berechne daraus den Verbrauch. Das macht bei mir mit etwa 3 bis 3.5to Pellets im Jahr eine Abweichung von etwa 200kg aus. Wobei das ja auch immer im Gefühl des Befüllers liegt, wann er dann sagt, das Sacksilo ist jetzt voll…

  3. Hallo Peter,

    ich bin schon im Haustechnikdialog Forum lesen über viele Posts von dir gestoßen. Und finde die Lösung wie du die Daten der Ökofen Anlage per JSON abrufst und auswertest echt klasse. Wir sind Anfang 2021 in unser Eigenheim(BJ 1962) gezogen. Uns wurde vom Heizungsbauer eine OekoFEN Pellematic Condens mit 16 kW Leistung mit 800L Puffer und Solathermie installiert. Ich möchte die Anlage unbedingt besser verstehen und optimieren(Haben oft temperaturunabhängig all3 ca 3h Brennerstarts ). Dafür würde ich gerne dein Python Script verwenden. Wäre es möglich das du es mit mir teilst? Ich hab aktuell einen Raspberry mit Nextcloud am laufen. Und ganz blöd gefragt die Visualisierung mittels Grafan ist echt Goldwert. Wie groß ist der Aufwand da So ein Dashboard wie du es aufgebaut hast anzulegen?

    Viele Dank schonmal

    • Hallo Beni,
      Ich schicke dir mein Python-Script und du machst dir halt anhand der Angaben da drin dann die Verbindungen zu deinem JSON und zu einer Influx-Datenbank. Grafana kann auf dem gleichen Raspberry Pi laufen. Das Dashboard ist einfach, im Wesentlichen ist es nur Fleißarbeit.
      Gruss
      Peter

  4. Hallo Peter,
    um es ganz einfach zu machen, kopiere mein Python-Skript einfach in dein home-Verzeichnis. Meist ist das /home/pi. Im Skript findest du die URL zur JSON-Abfrage der Heizung. Diese ersetzt du mit deiner IP-Adresse und deinem Passwort.
    Dann startest du es mit python2 skriptname.py zum ersten mal.
    Sollte das durchlaufen zeigt es an, welche Bereiche es durchläuft. Also etwas wie pe1…, hk1…, hk2…, se1… und so weiter.
    Hat das geklappt, trägst du das Skript in deine Crontab ein.
    Dazu rufst du sudo nano /etc/crontab auf und lässt es alle 4 Minuten laufen. Das letzte Bild der Anleitung kann dir da helfen.
    Dann baust du dir ein Dashboard mit Grafana. Für dich ist dann wahrscheinlich „L_uw_speed“:“24″ wichtig. Das ist die Drehzahl vom Gebläse. In Grafana kannst du dann Alarme festlegen. Oder du lässt den Raspberry Pi direkt auf den Parameter zugreifen und wertest es aus.
    Altdaten stehen im JSON nicht zur Verfügung. Die hast du wahrscheinlich aus den log Dateien.
    Viel Erfolg
    Peter

  5. Hallo Peter,
    habe eine Pellematic Smart 7.8 kW von 2011
    Software: Touch V3.00a 01052019
    Die Heizung ist per Ethernet verbunden und der Test http://ip-adresse:port/passwort/all gibt ein Ergebnis

    Nutze den RaspberryPi mit Octoprint für meinen 3D Drucker.
    Schätze meine Fähigkeiten so ein, dass ich wahrscheinlich nur das Script brauche.

    Gruss, Peter

    • Salli Peter,
      dann geht die Lösung jetzt auch in die Schweiz. Du hast die gleiche Anlage wie ich. Eine Smart 7.8, eine meiner beiden ist auch von 2011. Ich habe 2 Heizkreise, Solarthermie, Zirkulationspumpe und Frischwasserstation. Daneben steht ein Sacksilo. In der Zuleitung ist ein S0-Stromzähler der den Verbrauch der Anlage miss. Das baue ich noch in mein Dashboard ein.
      Ich schicke dir das Skript per Mail und du erwähnst mich lobend in den Social Medias.
      Gruss
      Peter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.