Monitoring der Gas Heizung

Energie sparen ist zur Zeit angesagter denn je. Bisher kannte ich jedoch nur den Jahresverbrauch unserer Brötje Gastherme und wollte mir ein besseres Bild davon machen, wann eigentlich Gas verbraucht wird. Insbesondere weil wir noch eine Solarthermieanlage an die Heizung angeschlossen haben.

Die erste Idee, den Gasverbrauch durch einen Magnetfeldsensor am Balgengaszähler zu messen, habe ich schnell wieder verworfen, da mich die Hardware zur Umwandlung der S0 Signale im Vergleich zu der Schaltung zur Umwandlung der Stromzählersignale vor einige Herausforderungen stellte.

Zum Glück wurde ich auf das BSB-LAN Projekt aufmerksam gemacht. Hier wird der BSB Bus der Therme direkt abgegriffen und die dazu notwendige Platine mitsamt den Bauteilen konnte ich bei Frederik einfach bestellen. Die JoyIt NodeMCU war auch wenige Tage später da und dank des sehr ausführlichen Handbuchs war die NodeMCU per Arduino auch zügig geflasht. Erfreulicherweise hat der neue Netzwerkknoten direkt fehlerfrei funktioniert und liefert nun jede Minute die Außen-, Kessel-, Solarkollektor-, und Trinkwassertemperaturen. Sogar eine STL Datei für ein Gehäuse existiert, das wurde natürlich auch gleich 3D-gedruckt. Prinzipiell kann man über den BSB Bus auch sämtliche Konfigurationsparameter der Heizung anpassen, daran habe ich mich aber noch nicht getraut.

Die fertig verlötete BSB-LAN Platine befindet sich unterhalb der NodeMCU im 3D-Druck Gehäuse und ist mit zwei Andern eines alten Telefonkabels an die Servicebuchse des Heizungsreglers verbunden.

Seit ein paar Monaten ist auch ein Synology DS220j NAS Teil des heimischen Netzwerks. Im Gegensatz zu teureren NAS läuft darauf kein Docker Dienst, doch dieser lässt sich relativ einfach nachrüsten (für die DS220j musste ich die 64-Bit ARM Verison der Docker binaries installieren, außerdem funktioniert statt der individuellen Port-Freigabe nur –network=host zu starten der Docker Container). Mit diesem Setup konnte ich nun Grafana und Influxdb container installieren, um die Daten der Heizung zu visualisieren. Doch leider stellte sich heraus, dass die 4×1.6GHz und 512MB RAM der DS220j nicht gleichzeitig performant die NAS Services und die Docker Container ausführen können (die Festplatten LEDs blinkten ständig und Synology Photos wollte auch nicht mehr zeitnah synchronisieren).

Daher habe ich Docker, Grafana und Influxdb auf dem Raspberry Pi Zero 2 W installiert, auf dem bereits die volkszähler.org Stromzähleranbindung installiert ist. Wie sich herausstellte, hätte ich besser damals die 64-bit Beta Version von Raspbian installiert, weil influxdbv2 nur noch 64-bit unterstützt. Da ich das ganze Setup auf dem Raspberry Pi nicht neu machen wollte, wurde eben influxdb in Version 1.8 installiert. Die initiale Konfiguration geht damit leider nicht bequem über ein Web-Frontend, sondern direkt in der influx shell, ist an sich aber auch schnell erledigt.

Die BSB-LAN Software gibt ihre Messwerte per MQTT oder bei Web-API weiter. Da auf dem Raspberry Pi bereits ein Mosquitto Server für die Feuchtigkeits- und Temperaturmessung, basierend auf dem Conrad IoT Adventskalender 2018, läuft, nutze ich MQTT. Um die MQTT Nachrichten in der Influx Datenbank zu speichern, wollte ich ursprünglich Telegraf nutzen. Doch müsste ich jeden einzelnen Nachrichtentyp eigens konvertieren, so dass ich lieber das Influx-Plugin in NodeRed installiert habe, und dort eine simple Weiterleitung – leider auch einzeln pro Nachricht – zusammengeklickt habe.

Auszug aus dem NodeRed Flow zur Weiterleitung der MQTT Nachrichten an Influxdb.

Damit die einzelnen Werte nicht als String sondern als Floating Point in der Datenbank landen, habe ich folgende simple Funktion dazwischen gehängt (wahrscheinlich kann man das deutlich eleganter lösen, aber immerhin funktioniert es so):

var x = msg.payload;
msg.payload = x*1.0; //ensure it is a number
return msg;

Neben den Temperaturen will ich ja eigentlich den Gasverbrauch der Gastherme messen. Dazu kann man den Parameter 2550 „Gasenergie“ anschalten (nur im Fachmann-Modus sichtbar, siehe Foto oben, oder eben im BSB-LAN Webinterface). Tatsächlich liefert die Therme seitdem unter den Paramextern 8381 und 8382 die verbrauchte Gasenergie für Heizen und Trinkwasser. Aus der Ableitung der Werte kann ich einen ersten Eindruck bekommen, wann der Brenner anspringt und Gas verbraucht wird.

Erfreulicherweise kann vzlogger die Stromverbrauchswerte auch direkt in influxdb schreiben, so dass ich auf die volkszaehler Middleware und deren deutlich weniger komfortables Frontend deinstallieren konnte (bei mehr als 6h Daten kam es regelmäßig zu timeouts im volkszaehler Frontend).

Grafana Dashboard mit den letzten 24h Temperaturkurven und der Ableitung der verbrauchten Gasenergie oben links, der akkumulierten Gasenergie unten links, dem aktuellen Stromverbrauch oben rechts und den Luftfeuchtigkeit und Temperatur im Keller unten rechts.

Was bliebt zu tun? Meine ursprüngliche Idee, nun auch Dashboards für den Raspberry Pi via Telegraf, das NAS via SNMP oder den Pi-hole DSN Server zu integrieren, habe ich wieder auf Eis gelegt – die haben alle bereits grafische performance Monitore, und sei es htop, das reicht mir völlig.

Spannender wird die Frage sein, ob der gemessene Gasverbrauch der Therme auch mit den Daten in der Jahresabrechnung übereinstimmt und was passiert, wenn die Trinkwasseraufladung nur noch morgens anschaltet ist, insbesondere ob der Rest der Familie diese wohlgemeinte Gas-Spar-Aktion wertzuschätzen weiß 🙂

3D Drucken

Zu meinem Geburtstag habe ich mir einen 3D Drucker gewünscht und mich bei der Auswahl des Druckers auf Empfehlungen verlassen. Dank Chipkrise traf die Bestellung des Prusa MINI+ in der Kit Variante zum selbst zusammenbauen leider erst drei Monate nach meinem Geburtstag ein. Dank einer guten Anleitung und der beiliegenden Packung Gummibärchen hat mir das Zusammenbauen wirklich Spaß gemacht und alte Erinnerungen an Lego Technik geweckt (Geburtstagswunsch für nächstes Jahr?).

Die ersten Testdrucke konnten sich schon sehen lassen und haben besonders den jungen Familienmitgliedern gefallen, so dass wir inzwischen eine ganze Froschfamilie beherbergen. Und die ursprüngliche Motivation für einen 3D Drucker, nämlich Adapterteile zur Kombination von Holzeisenbahn und Duplosteinen herstellen zu können (obwohl man die inzwischen auch online verfügbar sind), wurde auch genüge getan.

Als nächstes ging es an das Design eigener Modelle, wofür ich inzwischen mehrere Stunden mit FreeCAD und Tutorials dafür verbracht habe. Dabei entstand unter anderem ein Ersatzteil für einen Sonnenschirmständer, eine Halterung für einen Fahrradreflektor, ein Ausgießer für eine Kindergießkanne, und mehrere Ersatzteile für mein über 20 Jahre altes ferngesteuertes Auto. Letzteres habe ich sogar auf ThIngiverse veröffentlicht.

Zur Befestigung des Sprühschlauchs am Hochbeet hatte ich mir eine einfache Klemme modelliert und gedruckt. Leider hält das Material, mit dem ich drucke (PLA), den sommerlichen Temperaturen nicht stand und verformt sich. In Zukunft werde ich mich wohl mit fortgeschritteneren Materialien befassen.

LocQed.in – Unser Online Escape Room Start-Up

Als wir während der Corona-Zeit unsere physischen Kontakte einschränken mussten, entstand in unserem Freundeskreis eine wöchentliche virtuelle Spielerunde, der wir bis heute treu geblieben sind. Nachdem wir all unsere Spieleregale durchgespielt hatten, kamen wir irgendwann auf die Idee, unser eigenes Spiel zu entwickeln.

Da wir alle drei Skifahrer sind – einer begeistert, einer beflissen und einer begrenzt begabt – lag es auf der Hand, das erste Spiel an unser gemeinsames Hobby Skifahren anzulehnen. So entstand in einer Saison ohne Skiausfahrt unser virtuelles Skierlebnis: Abfahrt mit Hindernissen.

Ich war schnell motiviert mich an die technische Umsetzung zu machen, schließlich hatte ich mit dem Activity Online schon erste Erfahrungen gesammelt. Als Backend habe ich aber diesmal statt Flask Django gewählt und beim Frontend noch einiges an JavaScript, CSS, und moderner Webentwicklung dazugelernt. Die Ausarbeitung des Inhalts des Spiels fand in regelmäßigen Zoom Sitzungen im Team statt. Nachdem die ersten Tests mit Freunden erfolgreich waren, haben wir letztes Jahr dann tatsächlich eine Gesellschaft bürgerlichen Rechts gegründet und uns mit Anwälten, Steuerberatern, dem Finanzamt, Bankkonten für Firmen, und Buchhaltungssoftware auseinandergesetzt.

Seit November 2021 sind wir nun online und konnten die ersten Spiele verkaufen und erste Erfahrungen im Online Marketing machen. Seit Beginn dieses Jahres arbeiten wir nun an unserem zweiten Spiel, man darf also gespannt bleiben. Alles in allem war ist unser Online Escape Room Start-Up bislang eine finanziell wenig lukrative, dafür aber in technischen und vor allem unternehmerischen Bereichen sehr bereichernde Erfahrung.

Na, Lust auf ein Spiel bekommen?

👉 www.locqed.in

DIY Lounge Möbel mit Hochbeet

Nachdem ich inzwischen ein bisschen Erfahrung mit DIY Holzwerken sammeln konnte, stand letzten Sommer ein größeres Projekt an: ein Lounge Möbel mit Bepflanzung für den Garten. Inspiriert von der Create by Obi Bank Alfred und dem Hochbeet Alfred habe ich mir eine Konstruktion überlegt, auf die man mit handelsüblichen Palettensitzkissen bequem sitzen kann und die sich gleichzeitig optisch schön in den Garten einfügt. Natürlich gab es im Baumarkt die Terassendielen in der entsprechende Breite nicht mehr, so dass ich froh war, nicht alles ins Detail ausgeplant zu haben und mein Vorhaben spontan anpassen konnte. Um die 3m langen Dielen zu transportieren musste ich auch noch einen Sprinter leihen. Kostentechnisch kommt man mit dem ganzen Material aus dem Baumarkt und den Sitzkissen doch schnell in die Nähe von fertigen Möbeln, ohne Spaß am Basteln ist so etwas also nicht zu empfehlen. Und nur für das Zuschneiden, den Zusammenbau und das Lasieren habe ich insgesamt etwas mehr als 15 Stunden benötigt.

Mit der Bosch Handkreissäge waren die Bretter schnell zugesägt, eine Flex für die Rankhilfe stand sowieso auf meiner Wunschliste. Lasiert haben wir das Ganze erst nach dem Zusammenschrauben, ich bin gespannt wie lange sich das Holz draußen hält.

Diesen Frühling konnten wir nun endlich das Hochbeet füllen und bepflanzen, nun lädt das selbstgebaute Gartenmöbel also endlich in voller Pracht zum Verweilen ein.

Ein Jahr Brot selber backen

Seit einem Jahr habe ich nun das Brot backen für mich entdeckt. Zwar gehen wir auch weiterhin regelmäßig zum Bäcker, doch alle ein bis zwei Wochen wird der Backofen noch hoch geheizt. In dieser Zeit sind noch ein paar weitere Brötchen, Brote und Gebäcke entstanden, die ich nicht unerwähnt lassen möchte:

  • Brezeln – lange habe ich mich nicht an echte NaOH Lauge getraut, aber Dank vorsichtigem Umgang ist bisher nichts passiert und das Ergebnis ist einfach wundervoll.
  • Milchhörnchen – „so fluffy“ und schmecken mit Nutella einfach himmlisch.
  • Panettone – der erste Versuch mit Sauerteig war zu säuerlich, die Variante nur mit Hefe dafür um so besser. Da ich sogar das Orangeat selbst gemacht habe, hat es insgesamt 3 Tage gedauert, bis wir den köstlichen Brot-Kuchen-Hybrid genießen konnten.
  • Croissants – mit den ersten Ergebnissen war ich schon ganz zufrieden, bis ich allerdings auf das Niveau von Bäckereien komme, muss ich wohl noch viel üben.
  • Hafer-Dinkel-Brötchen – die Lieblingsbrötchen in der Familie, mit Dinkel oder Weizenmehl ein Genuss.
  • Frühstücksbrötchen – Stückgare im Kühlschrank ersetzt den sonntäglichen Gang zum Bäcker
  • Tartine Brot und Baguette – Nur mit Sauerteig und relativ aufwendig im Herstellungsprozess, wurde ich mit einem tollen Geschmack und schönem Ofentrieb belohnt.
  • Flammkuchen – wir können ja nicht immer nur Pizza essen.
  • Fladenbrot – nur mit Hefe aber perfekt zum Grillen.
  • Schmalzbrot – kommt immer gut.

Auch die Menge an Zubehör ist weiter gewachsen, inzwischen besitze ich ein großes Bäckerleinen, Natronlauge, Aktiv-Malz und eine ganze Kiste voll Mehl und Schrot. Außerdem ist „Das Brot: Das Kultbuch aus der »Tartine Bakery« San Francisco“ von Chad Robertson und Lutz Geißlers „Almbackbuch: Die besten Brotrezepte und -geschichten von der Kalchkendlalm“ hinzugekommen, aus diesen Büchern stammen auch die meisten Rezepte.

Activity Online

Begonnen hat alles mit der Frage, wie man Silvester 2020 im Pandemie-Lockdown am besten verbringt. Mit ein paar Freunden hatten sich schon eine wöchentliche Zoom Session etabliert, in der wir Codenames spielten. Anfangs haben wir das Brettspiel abgefilmt, aber zwischenzeitlich haben wir www.horsepaste.com für uns entdeckt. Codenames war also für Silvester gesetzt, aber nur ein Spiel würde den Silvesterabend nicht füllen und so kamen wir auf die Idee, mit einer zu 2020 passenden Wörterliste Activity zu spielen, die Wörter also zu beschreiben, zeichnen oder pantomimisch darzustellen. Nun stellte sich natürlich die Frage, wie man die Wörter zufällig an die Spieler verteilen kann, die sich verstreut in Deutschland und Indien aufhalten. Und so entstand in zwei Tagen und drei Abenden

activity-online.herokuapp.com

Die Idee, eine Webapp zu bauen die eine Wörterliste an die Mitspieler verteilt, war schnell gefasst. Ein Artikel auf towardsdatascience.com sorgte für die initiale Idee, das mit Flask in Python umzusetzen. Da im Gegensatz zur normalen Version nicht zwei Teams, sondern jeder gegen jeden spielen sollte, war ein gemeinsamer Countdown nötig. Dafür gab es zum Glück unter CSS-tricks.com eine schöne Vorlage. Damit alles auch flüssig läuft, habe ich mir Websockets mit flask-socket.io angeschaut. Erfreulicherweise kann man auf heroku.com Flask Webapps ziemlich komfortabel und sogar kostenlos laufen lassen. Seit dem Studium hatte ich nicht mehr mit JavaScript programmiert, Bootstrap gab es damals noch nicht, ich musste also einiges auffrischen und lernen. Trotzdem hat mir das ziemlich viel Spaß gemacht und mir ist wieder klar geworden, warum ich mich damals für das Informatikstudium eingeschrieben habe.

Nach jedem Testlauf mit den Freunden kamen neue Wünsche hinzu, verstellbare Countdown-Zeiten, die Möglichkeit den Timer zu stoppen, mehr und eigene Wortlisten, Sound in den letzten Sekunden, und separate Räume um nur ein paar zu nennen. Der jetzige Stand scheint mir aber schon ganz brauchbar und ich würde mich freuen, wenn die eine oder andere Skype, Teams, Zoom, Jitsi, oder was auch immer Runde die Webapp für sich nutzen kann. Der Quelltext (AGPLv3) und die Wortlisten sind auch auf github veröffentlicht, Erweiterungen sind also prinzipiell jedem möglich.

Weitere Sensoren über NodeRed an volkszaehler anbinden

Seit ein paar Monaten zeichne ich unseren Stromverbrauch mit einem Raspberry Pi und der volkszaehler middleware auf. Mehr dazu in diesem blog post. Das ist allerdings nicht der einzige Sensor in meinem Haushalt.

Schon seit ein paar Jahren habe ich den DIY Feinstaubsensor von luftdaten.info  im Betrieb und der Sensor trägt trotz zwei Umzügen weiter brav zur aktuellen Feinstaubkarte bei. Neben den Feinstaubwerten wird mit diesem Sensor auch die Temperatur und die Luftfeuchtigkeit auf der Terrasse gemessen.

Außerdem habe ich letztes Jahr den IoT Adventskalender von Conrad geschenkt bekommen (und zwar in der Version von 2018, 2019 scheint es keine Neuauflage gegeben zu haben). Dieser enthält neben einem Arduino kompatiblen board mit ESP8266 genauso wie der Feinstaubsensor einen DHT22 Temperatur- und Feuchtigkeitssensor. Das board sendet seine aktuellen Messwerte über MQTT an Node-RED, beide Server laufen ebenfalls lokal auf dem Raspberry Pi.

Da liegt es natürlich nahe, dass man diese Messwerte ebenfalls über die volkszaehler middleware speichert und darstellen lässt. Tatsächlich gibt es für Node-RED bereits ein paar vorgefertigte nodes, welche die Integration erleichtern. Erfreulicherweise bringt die firmware des Feinstaubmessers direkt eine Option mit, die Messdaten im JSON Format per HTTP PUT an einen beliebigen Server zu schicken. Ich musste also nur eine entsprechende „http in“ node erstellen, die Daten auspacken und an die volkszaehler middleware übergeben. Obwohl ich kein Fan von grafischen Oberflächen und dem Zusammenklicken von Programmen bin, muss ich an dieser Stelle erstaunt feststelle, wie praktisch und einfach das mit Node-RED geht. Den entsprechenden flow stelle ich gerne zur Verfügung.

Nun werden alle Messwerte angezeigt.

Brot backen dank Covid19

Da auch wir während der Corona Pandemie versucht haben, möglich selten einkaufen zu gehen, habe ich wie so viele das Brot backen für mich entdeckt. Die ersten Versuche mit Rezepten aus dem Internet waren noch nicht ganz so erfolgreich, doch schon bald habe ich von mehreren Freunden die Bücher von Lutz Geißler empfohlen bekommen.

Der erste Versuch…

Aus dem „Brot backen in Perfektion mit Hefe“ Buch kann ich die Kipf, das Pizzateigrezept und die Zimtschnecken empfehlen. Von den gleichen Freunden bekam ich auch den Roggensauerteig Robert und den Dinkelsauerteig Dörte, die ich zur Mutter von Wilma, einen Weizensauerteig, gemacht habe.

Damit stand mir die Welt des „Brot backen in Perfektion mit Sauerteig“ Buchs offen. Daraus habe ich inzwischen schon das Schmalzbrot (fast jede Woche), helles Mischbrot, Dinkelstangen mit verschiedenen Füllungen, Wurzelbrot, Kartoffelbrot, Joghurtbrot mit Schrot, Weizenbrot mit Bier, Weizenvollkornbrot, Dreikornvollkornbrot, Roggenbrot im Kasten und die Brezeln (aber mit gelöstem Backnatron als Lauge) gebacken. Natürlich bringt so ein neues Hobby auch Folgeinvestitionen mit sich, so bin ich inzwischen stolzer Besitzer eines Gärkorbs, einer Teigkarte und insgesamt mehr als 15 kg Roggen-, Dinkel-, und Weizenmehl, alle natürlich auch als Vollkornmehl und alleine Letzteres in vier verschiedenen Typen. Erfreulicherweise hat die Mühle eines Nachbarorts sogar einen Lieferservice, der bei Bestellung alle zwei Wochen neues Mehl bringt. Weiterem Backen steht also nichts im Wege, auch wenn ich immer noch eine Brezel vom Bäcker zu schätzen weiß und mich das wöchentliche Auffrischen meiner Sauerteige zu nerven beginnt.

Stromverbrauch mit dem Raspberry Pi auswerten

Inspiriert durch den Blog Post eines Kollegen habe ich mich daran gemacht, die Funktionen unseres smarten Stromzählers auch zu nutzen. Der installierte Iskraemeco MT175 zeigt normalerweise nur den Zählerstand an und wir werden auch weiterhin einmal im Jahr per Postkarte aufgefordert, diesen zu abzulesen und zu melden. Allerdings besitzt er zusätzlich eine Infrarotschnittstelle und kann deutlich detailliertere Werte liefern. Dazu musste ich zunächst per Mail eine Pin vom Netzbetreiber anfordern und diese mit dem blauen Taster eingeben. Anschließend zeigt der Stromzähler per Tastendruck bereits den aktuellen Verbrauch an. Mit der Kamera des Smartphones sieht man außerdem die rechte IR LED regelmäßig aufleuchten, es werden also auch Daten per Smart Meter Language verschickt.

Unten sieht man noch den blauen Taster zur Eingabe des Pins.

Da direkt neben dem Stromkasten im Keller bereits ein Raspberry Pi der ersten Generation seinen Dienst verrichtet, bot es sich an, mit der Software von www.volkszaehler.org und einer einfachen Schaltung den Stromverbrauch auszuwerten. Ein Ringmagnet und ein Fototransistor vom Typ SFH 309 FA waren schnell bestellt, Widerstände, Platinenreste und Kabel lagen noch in der Bastelkiste. Beim Löten ist darauf zu achten, dass der Kollektor (kurzes Beinchen) des Transistors mit der Spannung verbunden wird. Schließlich soll er die Spannung bei genügend Licht auf Masse ziehen und wird somit „umgekehrt“ wie LEDs verwendet. Obwohl die Spannung in der Testschaltung schön runter ging, als ich den Fototransistor näher an eine Glühbirne hielt (mit der „Blitz“-LED des Smartphones klappt das aufgrund der Wellenlänge nicht), ließen sich auf dem Raspberry Pi keine Signale empfangen. Der empfohlene 1 kOhm Widerstand war wohl zu klein, erst bei 47 kOhm ging die Spannung auf weniger als 1 V und der Raspberry empfing Daten.

Bei der Installation der volkszaehler Middleware ging dem alten Raspberry Pi der Arbeitsspeicher aus, zum Glück lässt sich das mit dem Einschalten von swap beheben. Der vzlogger deamon muss dann noch zusätzlich installiert werden und liest mit der richtigen Konfiguration unter raspi-config die Daten von dem GPIO interface (/dev/ttyAMA0). Hilfreich bei der Fehlersuche war hier neben dem volkszaehler Wiki auch der Post auf raspberry.tips.

Et volià, die letzten zehn Stunden gemessener Stromverbrauch sind im Webinterface verfügbar. Man sieht schön, dass ich um kurz nach 12:00 Uhr und um kurz vor 20:00 Uhr den Ofen angemacht habe.

 

DIY Hängeregal

Mein nächstes DIY Projekt sieht super aus und ist ziemlich einfach zu bauen: ein Hängeregal. Inspiration lieferte diesmal Bauhaus, die ein passendes 120cm x 30-35cm Vollholz mit Rinde anbieten. Ich habe mich für Eiche entschieden.

Dieses Brett wird einmal quer und einmal längs zersägt, an den Ecke durchbohrt und mit entsprechendem Seil (6m haben bei mir knapp gereicht) an der Decke aufgehängt. Wichtig ist es, beim längs Zersägen auf den rechten Winkel zu achten, da die Außenkante natürlich krumm ist. Die Bretter habe ich nach dem Abschleifen wieder mit Hartöl eingeölt, was einen gewaltigen Unterschied ausmacht. Das Regal dann waagerecht an die Wand zu bringen erforderte einiges Feingefühl beim Justieren der Knoten.