Füllstandmessung der Zisterne (2ter Ansatz)

Füllstandmessung der Zisterne (2ter Ansatz)

 

Die aktuelle Trockenheit zum Anlass genommen, habe ich den schon länger nicht mehr funktionierenden Füllstandsensor der Zisterne von Homematic gegen eine Eigenbaulösung ausgetauscht. Leider scheint der eigentlich recht teure Homematic-Sensor “Hm-Sen-Wa-Od” den klimatischen Gegebenheiten in der Zisterne auf Dauer nicht gewachsen zu sein. Zudem hatte ich immer Empfangsprobleme bzw. war es auch extrem nervig das Ding zu eichen. Jedenfalls hat der Sensor an Undichtigkeit gelitten und hat seinen Dienst eingestellt.

Oxidiertes Homematic Funkteil

Die Bilder zeigen die Platine, nachdem ich sie von Grünspan befreit hatte. Speziell das Funkmodul sieht etwas mitgenommen aus.

Da ich nicht nochmal soviel Geld zur Füllstandmessung der Zisterne ausgeben wollte, musste eine andere Lösung her.

Mehr lesen

Webseite zur Darstellung der Sensordaten

Webseite zur Darstellung der Sensordaten

Da ich in der letzten Zeit sehr oft bezüglich der Erstellung einer Webseite zur Darstellung der Sensordaten (Heizung, Strom, Wasser, Gas, …) angesprochen wurde, habe ich mich entschlossen eine abgespeckte Variante meiner internen Webseite zu veröffentlichen. Die Webseite nutzt eine ältere Version der Metro UI-Oberfläche als “Framework” zur Darstellung der HTML-Seiten, sowie pChart zum Zeichnen der Graphen in den Detailansichten.

Meine Implementierung ist schon etwas älter und auch mit der Zeit gewachsen. Da es sich bei dieser Webseite um ein recht überschaubares Projekt handelt und ich mit dem Ergebnis zufrieden bin, habe ich mir nie die Mühe gemacht die Seite generischer zu gestalten. Daher muss bei nötigen Anpassungen der Code direkt geändert werden und es gibt auch keine Trennung von HTML und PHP, keine durchgehende allumfassende Fehlerbehandlung, evtl. “unschönes” HTML usw.

Der Code soll als Anregung und Grundlage für eine eigene Seite dienen…nicht mehr, nicht weniger. Wem´s ausreicht kann es natürlich auch 1:1 übernehmen. Positiv an meiner Lösung finde ich immer noch die Flexibilität in den Auswertungen die direkt auf der Datenbank mittels SQL ausgeführt werden können.

Die Startseite

Übersicht Webseite Sensordaten

Die Startseite wird mittels “Meta-Refresh” alle 180 Sekunden neu geladen und dient der Übersicht der wichtigsten Sensordaten. Mit Klick auf die (verlinkten) Boxen gelangt man jeweils zu einer detaillierteren Übersicht der Sensordaten. In der Übersicht werden keine komplizierten Datenbankauswertungen gemacht. Hier werden die Snapshot-Tabellen mit den aktuellen Werten ausgelesen und einige SQL-Aggregat-Funktionen genutzt. Das ging auch auf einem alten Raspi einigermaßen schnell. Das hängt natürlich von den Tabellengrößen in den Datenbanken ab. Da bei mir einige Tabellen mit den Jahren relativ groß geworden sind (~500k Zeilen), bin ich irgendwann auf einen Odroid umgestiegen.

Mehr lesen

Richtiges Lüften

Oliver
Richtiges Lüften spart Energie und verhindert Feuchtigkeitsschäden. Eine hygienisch einwandfreie Raumluftqualität ist unverzichtbar für die Gesundheit und das Wohlbefinden der Bewohner.

Was können wir tun?

Kurz und kräftig lüften (Stoßlüften), und das täglich 3 – 5 mal, konsequent und regelmäßig. Kippen des Fensters im Winter unbedingt vermeiden, da sonst Fensterlaibungen und Fenstersturz auskühlen. Es kann in weiterer Folge zur Kondensation der warmen Raumluft an den ausgekühlten Bauteilen und zur Bildung von Tauwasser kommen, was in Folge Schimmelpilz entstehen lassen kann.

Grundprinzipien:

Stosslüften (Händisches PRINZIP) je kälter die Außentemperatur, umso kürzer der Lüftungsvorgang (wegen der ver- stärkten Temperaturdifferenz!)

  • im Hochwinter etwa 4 – 7 min
  • in der Übergangszeit 8 – 15 min
  • im Sommer 20 – 30 min

(bei ganz geöffnetem Fenster) Bereits mäßiger Wind reduziert diese Zeiten auf ungefähr die Hälfte, beim Querlüften durch mehrere Zimmer reichen ca. 3 Minuten.

 

Lueften_gross

Tipp zum Lüften:
Richtiges Lüften in der Heizperiode

  • Mehrmals täglich bei geschlossenem Heizkörperventil lüften.
  • Beschlagene Scheiben durch zu hohe Luftfeuchtigkeit sind ein Hinweis, dass gelüftet werden soll.
  • Große Wasserdampfmengen nach Duschen, Baden und Kochen gehören sofort nach Außen gelüftet.
  • Türen zu unbeheizten Räumen geschlossen halten! (Kein Mitheizen durch andere Räume)
  • Sie können bis zu 20% an Heizkosten durch richtiges Lüften sparen, indem Sie konsequent Stoßlüften.

Richtiges Lüften von Kellerräumen im Sommer Achten Sie in den heißen Sommermonaten besonders auf die Lüftungsweise ungedämmter Keller (Altbau). Lüften Sie nur, wenn es draußen kühler ist als im Keller – also in den frühen Morgenstunden. An ganz heißen Sommertagen, in denen die Luft auch nachts kaum abkühlt, bleibt der Keller am besten ganz zu.

 

Kontrollierte Wohnraumlüftung

Besonders beim Niedrigenergiehaus kann mit einer Lüftungsanlage der Energieverbrauch effizient gesenkt werden. Bei Passivhäusern geht es ohnehin nicht ohne Installation einer seriös geplanten Lüftungsanlage. Die verbrauchte Luft wird dabei über einen Wärmetauscher geleitet, die Wärme der Abluft wird an die frische Zuluft übertragen.
Übrigens: Eine Lüftungsanlage ist keine Klimaanlage. Während bei der Klimaanlage die Gebäudekühlung im Vordergrund steht, geht es bei der Lüftungsanlage um die Sicherstellung der hygienisch notwendigen Frischluftzufuhr.
Zentrale Lösung:zws-lueftung
Dezentrale Lösung:
dezentrale_lueftungsanlage_01
Vorteile bei Verwendung einer Lüftungsanlage:

  1. Es herrschen immer hygienische Luftverhältnisse im Haus. Sogar bei Windstille oder im Winter im Schlafzimmer, wo üblicherweise kaum ausreichend gelüftet werden kann, werden Schadstoffe, Feuchtigkeit und CO2 (Kohlendioxid) abtransportiert.
  2. Die Zuluft ist in allen Räumen sauberer. Gerade an stark befahrenen Straßen oder im Stadtbereich wird viel Straßenstaub vom Filter zurückgehalten. Für Allergiker kann die durch den Filter reduzierte Pollenbelastung hilfreich sein. Unter ungünstigen Bedingungen kann es bei Fensterlüftung sein, dass Luft aus Bad oder Küche durch das Haus gedrückt wird – dies wird mit Lüftungsanlagen vermieden.
  3. Weniger Lärmbelästigung von außen. Gerade an stark befahrenen Straßen wird die Lärmbelästigung stark reduziert, da trotz geschlossener Fenster gelüftet werden kann. Für eine erholsame Nachtruhe ist dies sehr vorteilhaft.
  4. Weniger Energieverbrauch. Über den Wärmetauscher kann die in der Abluft enthaltene Wärme an die Zuluft abgegeben werden. Dadurch wird weniger Energie zur Aufheizung der Frischluft benötigt.
  5. Komfortsteigerung: Im Sommer kann mit der Zuluft etwas gekühlt werden, keine Belästigung durch Insekten, Reduzierung von Geruchsbelästigung, keine Zugluft beim Lüften, keine Bauschäden durch falsches Lüften,…
  6. Die Fenster können natürlich trotzdem geöffnet werden. Die Fensterlüftung ist insbesondere außerhalb der Heizperiode empfehlenswert, da der Strom für den Ventilator eingespart werden kann. In der Heizperiode sollten die Fenster aber möglichst geschlossen bleiben.

Frau mit Schimmel und Händen an OhrenSchimmelbildung

Schimmel hat gewöhnlich nicht eine Ursache allein, meist kommen eine schlechte Wärmedämmung und falsche Lüftungs- und Heizgewohnheiten zusammen.

 

  • Schimmelsporen sind überall im Raum. Um jedoch austreiben zu können, benötigen Sie Feuchte und wenig bis gar keine Luftbewegung ( z.B. hinter Einbaukästen).
  • Je wärmer die Luft ist, umso mehr Wasserdampf kann sie aufnehmen. Das bedeutet, dass sich die Luft an kalten Oberflächen (z.B. auf Außenwänden, in Ecken und an Fensterscheiben) abkühlt und sich dort der Wasserdampf in Form eines feinen Wasserfilms niederschlägt. (Vergleich: kalte Flasche aus Kühlschrank in Raum stellen – Flasche beschlägt).
  • Eine Ursache können mangelnde Wärmedämmung bzw. Wärmebrücken sein, die die Wärme wesentlicher schneller nach außen leiten.
Tipp zur Schimmelvermeidung:

  • Lüften reduziert die Luftfeuchtigkeit am wirkungsvollsten. An kritischen Stellen muss eine Luftzirkulation möglich sein. Möbel von der Außenwand etwas abrücken (ca. 3 – 5 cm ) und Lüftungsöffnungen in den Blenden vorsehen. Kritisch sind z.B. Einbauschränke an Außenwände gestellt.
  • Sofort nach dem Duschen oder Baden lüften, damit der Feuchtigkeit möglichst wenig Zeit bleibt, im Raum zu bleiben und in die Materialien einzudringen. Die Badezimmertür geschlossen halten, damit die Feuchtigkeit nicht in andere Räume wandern kann (vor allem nicht in wenig beheizte Räume).
  • Um die Entstehung von Schimmelpilzen dauerhaft zu verhindern, muss die Feuchtigkeitsursache (relativ niedere Oberflächentemperatur und (oder) hohe Luftfeuchtigkeit) vermieden werden.
  • allgemeiner TIPP: Messen Sie die Raumtemperatur und die Luftfeuchte mittels einem Thermo- bzw. Hygrometer. Durch dieses Messinstrument haben Sie stets eine Übersicht über Ihr Raumklima.
  • Im Winter soll die relative Luftfeuchtigkeit (bei 20°C Raumtemperatur) 65% nicht überschreiten.

 


Logo Twitter

 follow me https://twitter.com/EU_EnergyCOACH

Wer die Energieeffizienz seines Hauses verbessern möchte, sollte besonders seine Heizung unter die Lupe nehmen. Heizungs-Check (DIN 4792; DIN EN15378)

Oliver

Mit dem freiwilligen Check des Heizungsfachhandwerks wird erstmals die gesamte Heizungsanlage sozusagen „auf Herz und Nieren” untersucht. Das Alter der Heizung, eine mögliche Kesselüberdimensionierung, die Dämmung von Leitungen und die Funktionstüchtigkeit von Thermostatventilen spielen beispielsweise eine wichtige Rolle bei der Bewertung. Der Fachmann kann auf dieser Grundlage sinnvolle Modernisierungsmaßnahmen vorschlagen. Schon niedrig investive Maßnahmen steigern die Energieeffizienz der Heizungsanlage.

Will der Hausbesitzer allerdings die optimale Energieeffizienz im Haus erzielen, dann sollte die fortschrittliche Brennwerttechnik mit Erdgas oder Heizöl zum Einsatz kommen. In Verbindung mit Solarthermie, lassen sich somit bis zu 40 Prozent der Heizkosten einsparen. Aber auch Zentralheizungen, die mit Wärmepumpen, Holz oder Pellets betrieben werden, bieten wirtschaftliche Lösungen.

Die Inspektion erstreckt sich über:

  • Abgasverlust
  • Wärmeverluste über Kesseloberfläche
  • Wärmeverluste über das Abgassystem der Heizung
  • Brennwertnutzung
  • Überdimensionierung des Heizungskessels
  • Heizkesselregelung
  • Hydraulischer Abgleich der Heizungsanlage
  • Überdimensionierung der Heizpumpe
  • Dämmung der Rohrleitung
  • Regelungseinrichtungen der Heizkörper

Pro untersuchtem Bereich vergibt der Fachhandwerker eine bestimmte Anzahl von Punkten. Je höher diese Zahl, umso weiter ist die Heizung vom energetischen Idealzustand entfernt. Viele Punkte bedeuten also ein besonders großes Verbesserungs-potenzial. Die Kosten des Heizungs-Check

1
2
3
s für ein Einfamilienhaus belaufen sich je nach Region zwischen 100€ und 250€ und nimmt ca. 1,5 Stunden Zeit in Anspruch! Wenn im Nachgang aus dem Heizungsscheck ein Auftrag für den Installateur entsteht, kann in der Regel dieser Betrag in Abzug gebracht werden.</p>
<p style="text-align: justify;">Entwickelt wurde der Test für Heizungsanlagen von der VdZ in Zusammenarbeit mit dem Zentralverband Sanitär Heizung Klima (ZVSHK) und dem Institut für Technische Gebäudeausrüstung Dresden. In ersten Feldtests wurden laut VdZ bereits die häufigsten Verursacher von unnötigen Energiekosten identifiziert: schlecht eingestellte Brenner, überdimensionierte Heizkessel, ungeregelte Heizungspumpen sowie zu alte Thermostate an den Heizkörpern.</p>
<p style="text-align: justify;">Bei größeren Mehrfamilienhäusern oder gar Gewerbeeinheiten sind spezielle Kenntnisse erforderlich. Diese bieten daher Ingenieur- oder Planungsbüro

s oder Messdienstleister an. Da es sich hier in der Regel nicht um Standardanlagen handelt, sich die eingesetzte Technik nicht nur auf die Heizenergie beschränkt, greift der einfache Heizungs-Check hier nicht.

Neben den benannten Punkten der Inspektion, werden auch:

  • Lüftungsanlagen
  • Kälte- und Klimaanlagen
  • Wärmerückgewinnungssysteme
  • Trinkwassererwärmungsanlagen
  • Druckerhöhungsanlagen
  • Hausautomatisation
  • etc.

bewertet und für den Kunden und die Immobilie zugeschnittene Konzepte erstellt. Daraus resultiert auch das sich der Preis für solche Ingenieurtechnische Leistungen zwischen 1.500€ und 30.000€ bewegen kann.

 

Anbei die Broschüre der Vereinigung der Deutschen Zentralheizungswirtschaft e.V.

          VdZ_HC_Leitfaden_090210

 

 


Logo Twitter

 follow me https://twitter.com/EU_EnergyCOACH

c´t Schlagseite 8/2015

Eben lag die neue c´t im Briefkasten. Die Schlagseite ist mal wieder wunderbar und paßt gut zu den Themen in diesem Blog.

Über Sinn und Unsinn bei der Heimautomatisierung kann man ja vortrefflich diskutieren. Wenn für das Aufwecken des Tablet/Handy, dem Öffnen der App oder Intranet-Seite und anschliessendem Klick auf “Licht Wohnzimmer an” mehr Zeit benötigt wird als den Lichtschalter an der Wand zu betätigen, ist man meistens schon am Ziel der (intelligenten) Hausautomation vorbei geschossen…

Vor- und Rücklauf vom Kachelofen mittels 1-wire Temperatursensoren messen

Unser Kachelofen von Brunner hat einen Wärmetauscher (HKD2.2) und versorgt damit den Wasserspeicher im Keller mit warmem Wasser. Aus diesem wird dann die Fußbodenheizung und das Warmwasser versorgt. Die Steuerung des Kachelofens übernimmt die EAS (Elektronische Abbrandsteuerung). Leider hat Brunner in der EAS keine mir bekannte Schnittstelle um die verschiedenen Temperaturen, die Statis der Abbrandsteuerung oder den Schalter der Kachelofentüre abzufragen.

IMG_5564

Die Abbrandsteuerung selber ist unabhängig von der eigentlichen Hydraulik zum Anschluss des Kachelofens an den Warmwasserspeicher. Hier nutzen wir eine Steuerung der Fa. ÖkoCentro mit einer SHR 10-Steuerung von EnergieControl. Aber auch diese hat keine mir bekannte Schnittstelle die man einfach abfragen kann.

IMG_7931

Als eine einfache Möglichkeit zumindest schon mal die Vorlauf- und Rücklauftemperatur zu messen, dachte ich an 1-Wire Temperatursensoren der Firma DALLAS (DS18B20). Diese sind günstig (z.B. 1,85€ bei Reichelt) und einfach am Raspberry PI zu implementieren. Die Vorbereitungen zur Nutzung der 1-Wire Sensoren ist nicht aufwändig und schnell passiert.

Sollen die 1-wire Sensoren nur parasitär versorgt werden, folgendes in der Shell eingeben um das entsprechende Kernelmodul zu laden:

oder wenn ein Pullup zur externen Stromversorgung genutzt wird, folgendes Kommando:

Sollen Temperaturen über 70°C gemessen werden, wird zwecks der Genauigkeit der Sensoren die zusätzliche Stromversorgung mittels Pullup-Widerstand angeraten.
Mehr zum Thema Anschlussarten gibt es z.B. hier.

Unabhängig ob Pull-Up oder nicht wird noch ein weiteres Kernelmodul benötigt:

Ab der Kernelversion 3.18.3 muss noch eine Anpassung gemacht werden. Die Kernelversion wird wie folgt bestimmt:

Ist die Kernelversion > 3.18.3 muss in der Datei

folgende Zeile eingefügt werden

Ich habe die Sensoren mit separater Versorgung am Raspberry Pi angeschlossen. Wie das funktioniert, ist im Internet in verschiedensten Foren etc. zu lesen. Ich hatte mal eine kleine Platine rs232_raspi.fzz mit einem MAX3232 für eine RS232-Schnittstelle für das M-Bus-Projekt in Fritzing aufgebaut. Da hat auch noch der eine 4.7K Widerstand und eine Steckerleiste für 1-wire drauf gepaßt (oben Links zu sehen).

fritzing_1wire_rs232

Sind die Kernelmodule geladen, alle Konfigurationen gemacht und alles angeschlossen, sollten die 1-wire Sensoren nach einem Neustart des Raspberry PI unter

auftauchen.

Die Sensoren werden z.B. per “cat” mit folgendem Befehl ausgelesen

Das Ergebnis sollte dann ähnlich wie folgt aussehen:

08 03 4b 46 7f ff 08 10 9e : crc=9e YES
08 03 4b 46 7f ff 08 10 9e t=48500

Die Temperatur wird hinter dem “t=” in der zweiten Zeile ausgegeben. Um diese Temperatur z.B. mit PHP abzufragen und für weitere Verarbeitung nutzen zu können, folgendes PHP-Code-Schnipsel

1
2
3
4
5
6
<?
$ausgabe= shell_exec("cat /sys/bus/w1/devices/28-000005db9cea/w1_slave");
preg_match("/t=([0-9]{5})/",$ausgabe,$ergebnis);
$temperatur=round($ergebnis[1]/1000,1);
print $temperatur;
?>

Die Temperatur schreibe ich dann per Script, welches 10-minütig per Cron aufgerufen wird, in eine MySQL-Datenbank und stelle das Ergebnis in einer Webseite dar.

kachelofen_webseite

Soviel zum Thema 1-wire. Die größere Herausforderung wird es aber, an die Werte der EAS heran zu kommen. Diese sind in soweit auch interessanter, als das diese Steuerung den Abbrand überwacht und informiert ob das Feuer heiß genug ist (>450°C) um den geregelten Abbrand zu starten, zu heiß (>750°C) und eine Gewisse Panik zu erzeugen, der Abbrand beendet ist und Holz nach gelegt werden könnte oder die Türe des Kachlofens nicht richtig geschlossen ist.

Ein Anfang ist aber gemacht und die EAS eine neue Herausforderung.

Gruß
Chris

M-BUS – Wasserzähler

Von einem Freund habe ich einen M-Bus (Meter-Bus) Wasserzähler und einen Wärmemengenzähler bekommen. Der M-BUS ist ein Feldbus der über eine Zweidrahtleitung über sehr lange Strecken genutzt werden kann. Ein M-BUS Master fragt dabei alle Slaves im Strang oder Stern ab. Die Slaves werden teilweise vom M-Bus-Master mit Spannung versorgt. Mehr Details im Wiki.

Techem Wärmemengenzähler Techem Wasserzähler

Der M-Bus-Master sollte in meinem Fall aus dem Raspberry und einem Pegelwandler bestehen. Pegelwandler gibt es fertig von verschiedenen Herstellen (Relay, Wachendorff). Diese sind aber, je nachdem für wieviele Slaves sie ausgelegt sind, relativ teuer.

Mein erster Ansatz war daher der Selbstbau eines Pegelwandlers inkl. RS232-Schnittstelle zum Anschluss an den Raspberry Pi. Im Netz gibt es verschiedene Beschreibungen einer einfachen Schaltung und einige wenige Forumseinträge die sich mit dem Selbstbau eines Pegelwandlers bzw. generell mit M-Bus beschäftigen. Leider habe ich in keinem Forum eine Diskussion gefunden die bis zu einem funktionierenden System verfolgt wurde. Egal, ich habe es trotzdem mal versucht…

 

Selbstbau Pegelwandler

Auf der Platine ist der Pegelwandler inkl. einer RSA232 Schnittstelle die aus einem MAX3232 besteht. Die +/-15 Volt für den Pegelwandler habe ich mittels DCDC-Wandler IH0515S der Fa. XP Power erzeugt. Dieses Bauteil kann man z.B. bei Farnell beziehen. Dann das Ganze auf Lochraster zusammen gelötet und mit dem Raspi und dem Wärmemengenzähler verbunden.

IMG_7707 IMG_7708

max3232Lochrasterplan

Damit der Raspberry das M-Bus Protokoll versteht bzw. auch den Pegelwandler korrekt anspricht, habe ich die Bibliotheken von rSCADA genutzt. Die Quellen liessen sich problemlos auf dem Raspberry kompilieren. Im Ergebnis wurden verschiedene Binaries erzeugt um mit Slaves im Bus zu kommunizieren.

Meine ersten Versuche waren jedoch nicht von Erfolg gekrönt. Es wurde kein M-Bus-Gerät gefunden. Bei der Fehlersuche habe ich zuerst die serielle Schnittstelle separat getestet und mit Minicom über den Raspberry mit einem anderen Linux-Rechner kommuniziert. Das hat funktioniert. Die weitere Fehlersuche z.B. am M-Bus-Ausgang sind allerdings am fehlenden Oszilloskop gescheitert, da das Multimeter mich nicht wirklich weiter brachte.

Etwas niedergeschlagen habe ich dann nach drei Tagen erfolgloser Fehlersuche nochmal nach fertigen Pegelwandlern gesucht und ein relativ preiswertes Gerät gefunden und kurzerhand gekauft. Damit fiel die Fehlerquelle “Pegelwandler” schon mal weg.

 

Versuch mit gekauftem Pegelwandler

Der neue Pegelwandler benötigt zum Anschluss an den Raspberry Pi auch eine RS232 Schnittstelle. Um mir diesmal das Löten zu ersparen, hab ich erstmal den kompletten Versuchsaufbau auf einem Breadboard gesteckt. Der Pegelwandler läuft mit einer Spannung von 12-24 V DC weshalb ich den DCDC-Wandler aus dem ersten Versich auch nicht benötige.

IMG_7739

Die Binaries von rSCADA unterscheiden zwischen TCP- und seriell angeschlossenen M-Bus-Pegelwandlern. Da meiner seriell angeschlossen ist, benutze ich “mbus-serial-scan” um nach angeschlossenen Slaves im Bus zu suchen.
Als Argumente übergebe ich “-d” für den Debugmodus, “-b 2400” um 2400 Baud zu nutzen und “/dev/ttyAMA0” als serielle Schnittstelle des Pi.

Zu meiner Überraschung wurde direkt ein Slave (der Wasserzähler) erkannt. Sehr schön…

Hat man alle angeschlossenen M-Bus-Geräte per Scan identifiziert, können mit einem weiteren Programm die Daten des Gerätes ausgelesen werden. Auch hier gibt es wieder das Argument “-d” für den Debugmodus, “-b” zur Einstellung der Baudrate, das Device der seriellen Schnittstelle und die vom Scan ermittelte Device-Nummer. Im Fall meines Wasserzählers ist das die “0”. Die Daten der Slaves werden in einer einfachen XML-Struktur zurück geliefert.

Da es auf Anhieb funktioniert hat, habe ich die serielle Schnittstelle auf Lochraster gebannt und der Pegelwandler wird mittels kleinem 12V-Netzteil betrieben. Dann Raspberry Pi, Pegelwandler und Platine im Netzwerkschrank verstauen…

MAX3232

 

Software

Den Stand des Wasserzählers protokolliere ich nun einmal täglich um 23:59 Uhr. Das wird per Cronjob und einem kleinen PHP-Script erledigt. Warum PHP? Weil ich zu ungeduldig war und das schnell umsetzen wollte und schon das ein oder andere ähnliche PHP-Script fertig hatte.

Das Script ruft das Binary wie oben erklärt per shell_exec auf. Ab dem XML-Teil parse ich die Ausgabe und extrahiere die relevanten Informationen die dann in eine MySQL-Tabelle geschrieben werden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
//***********************************
//Wasserzaehler mit der ID:0 auslesen
//***********************************
$output = shell_exec("sudo /home/odroid/libmbus-0.7.0/bin/mbus-serial-request-data -d -b 2400 /dev/ttyS1 0");
$xmloutput=substr($output,strpos($output,'<MBusData>'));
$xmloutput = new SimpleXMLElement($xmloutput);
$zaehlerID=$xmloutput->SlaveInformation->Id;
$zaehlerStand=$xmloutput->DataRecord[1]->Value/10000;

$mysqlhost="";
$mysqluser="";
$mysqlpwd="";
$connection=mysql_connect($mysqlhost,$mysqluser,$mysqlpwd) or die ("Verbindungsversuch fehlgeschlagen");
$mysqldb="";
mysql_select_db($mysqldb,$connection) or die("Konnte die Datenbank nicht waehlen.");
$sql = "INSERT INTO wasserzaehler (timestamp,zaehlerid,zaehlerstand) VALUES (CURRENT_TIMESTAMP,$zaehlerID,$zaehlerStand)";
$query = mysql_query($sql) or die("Anfrage 1 nicht erfolgreich");
?>;

Da ich auf meiner Webseite aber nicht nur den absoluten Wasserverbrauch darstellen möchte sondern auch den Tagesverbrauch, kommt folgendes SQL zum Einsatz. Hier werden die Einträge aus zwei aufeinanderfolgenden Zeilen subtrahiert um die Differenz zum Vortag zu bestimmen.

Das Ergbnis sieht dann wie folgt aus. Ich war etwas erschreckt wieviel Wasser man an machen Tagen verbraucht!

wasserzaehler_screenshot

 

Selbstgebauter Pegelwandler

Da ich ja nun weiß das es generell funktioniert und der Fehler meiner ersten Lösung definitiv im selbstgebauten Pegelwandler liegt, werde ich den Versuch mit dem Selbstbau demnächst nochmal angehen.

 

Sobald der Wärmemengenzähler in den Wasserlauf des Kachelofens eingebaut ist, werde ich nochmal einen kurzen Beitrag schreiben. Das Prinzip des Auslesens ist ja analog zum Wasserzähler aber vielleicht gibt es in den zurückgelieferten Daten unterschiede.

 

Viel Spaß mit dem M-Bus!

Chris

Gaszähler auslesen

Nachdem meine Versuche den M-BUS Wärmemengen- und Wasserzähler auszulesen vorerst beendet sind und ich auf den bestellten M-BUS-Pegelwandler warte, habe ich mich dem Auslesen des Gaszählers gewidmet. Das sollte erfolgsversprechender sein…

Als ich dann endlich den vor langer Zeit bestellten Reed-Kontakt mk 471 b (z.B. bei Reichelt) wieder gefunden habe, konnte es losgehen.

Der Gaszähler hat an der letzten Stelle des Zählwerkes bei der “0” einen Magneten wodurch der Reedkontakt bei jeder vollen Umdrehung einmal geschlossen wird. Diese Impulse gilt es mit einem Raspberry über einen GPIO zu zählen.

IMG_7735

Den Reedkontakt habe ich natürlich wieder professionell mit Klebeband fixiert…hält!

IMG_7734

Angeschlossen ist der Reedkontakt über eine Zwillingslitze direkt an einen GPIO und Ground des Raspberry PI. Pull-Up braucht es keinen. Dieser wird per Software aktiviert.

Den GPIO lese ich mit einem Python-Script aus welches in einer Endlosschleife ausgeführt wird und den GPIO (im Beispiel Pin “21”) jede Sekunde abfragt. Sekundenweise sollte reichen, da ich nicht hoffe das unser Gaszähler so schnell läuft. Immer wenn der Reed geschlossen wird, wird eine “1” und der Zeitstempel in die Spalten “timestamp” und “zaehlerstand” einer MySQL-Tabelle geschrieben. Das passiert immer nur beim Wechsel des Reed von “Offen” nach “Geschlossen”. Sollte der Zähler genau mit dem Magnet am Reed stehen bleiben, passiert nichts.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import RPi.GPIO as GPIO
import time
import MySQLdb

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

# GPIO definieren
REED_gas = 21
# definierten GPIO als Eingang setzen
GPIO.setup(REED_gas, GPIO.IN, pull_up_down=GPIO.PUD_UP)

status_alt=1
while True:
    status_aktuell = GPIO.input(REED_gas)
    # REEDKONTAKT geoeffnet
    if status_aktuell == 1:
        #print "Kontakt offen"
        status_alt=GPIO.input(REED_gas)
        # REEDKONTAKT geschlossen
    elif status_aktuell==0:
        #print "Kontakt geschlossen"
        if status_alt!=status_aktuell:
            status_alt=GPIO.input(REED_gas)
            # Datenbankverbindung
            db = MySQLdb.connect(host="<host>", user="<benutzer>", passwd="<passwort>", db="<datenbank>")
            # Impuls in Datenbank eintragen
            cursor = db.cursor()
            cursor.execute("""INSERT INTO gaszaehler (timestamp,zaehlerstand) VALUES (CURRENT_TIMESTAMP,1)""")
            db.commit()
            cursor.close()
    time.sleep(1)

IMG_7737

Da das Python-Script sich ab und an mal verabschiedet, starte ich es per Cronjob wieder neu falls der Prozess nicht mehr vorhanden ist. Ich sollte vielleicht lieber das Problem im Python-Script suchen und das ein oder andere Try&Catch einbauen, aber es geht auch erstmal so…

Zur Auswertung benutze ich dann folgende SQL-Querys:

Hiermit werden alle gespeicherten “Ticks” summiert. Dazu muss noch ein Startwert addiert werden da der Gaszähler ja schon eine zeitlang lief.
Dieser Startwert muss ggf. ab und an mal korrigiert werden falls der Raspi mal einen Umlauf des Zählers nicht mitbekommt weil z.B. der unwahrscheinliche Fall eintritt, dass das Klebeband nicht gehalten hat oder wahrscheinlicher, das Python-Script bzw. der ganze Raspi nicht mehr läuft. Den Startwert gebe ich als eine Zahl inkl. der drei Nachkommastellen an und addiere das Ergebnis der SQL-Query dazu. Um die richtige “Einheit” kümmere ich mich in der Ausgabe auf der PHP-Seite mit folgender PHP-Zeile:

1
2
3
4
5
6
$sql = "SELECT sum(zaehlerstand) FROM gaszaehler";
$query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
while ($wert = mysql_fetch_array($query)) {
    $gesamtwert=($wert[0]*10)+$gas_startwert;
}
$gesamtwert=substr($gesamtwert,0,-3).".".substr($gesamtwert,-3,2);

Der Faktor 10 muss hier beachtet werden, da ja nur alle 0,01m³ Impulse gezählt werden und ich den Startwert mit allen drei Nachkommastellen angegeben habe. Die zweite Zeile setzt das Komma in der Ausgabe an die richtige Stelle.

Eine tägliche Auswertung funktioniert z.B. mit folgender SQL-Query:

Auch hier bekommt man den korrekten Wert in m³ durch einfache Kommaverschieberei in der Ausgabe. Den Faktor 10 benötigt man bei der täglichen Auswertung nicht:

1
substr(($wert[1]),0,-2).".".substr(($wert[1]),-2)

In der Webseite sieht das folgendermaßen aus:

gaszaehler_screenshot

Das alles läuft erst drei Tage und es gibt bestimmt noch Verbesserungspotential aber ein Anfang ist gemacht.

Gruß
Chris

Haustechnik – Entkalkungsanlage

5 Minuten Duschen und anschliessend eine viertel Stunde putzen. So war das immer…
Laut Gemeinde sollte der Härtegrad unseres Wasser bei 11°dH liegen. Gemessen mit einem einfachen Papierteststreifen waren es ~ 14°dH. Nach längerem hin und her haben wir uns daher aufgrund der deutlichen Kalkablagerungen an den Wasserhähnen etc. entschlossen einen Wasserenthärter zu kaufen.

Härtebereich°dH°dH 
weich< 8,43-6"Wohlfühlbereich"
mittel8,4 - 14,0
hart> 14,0

Unsere Wahl ist auf den WINNI-mat VGX 9 von Grünbeck gefallen. Das Gerät basiert auf dem Prinzip des Ionenaustauschs mittels Harzkartusche. Andere Geräte mit Magnet etc. kamen nicht in Frage.

Gegenüber dem “Weichwassermeister” von Grünbeck hat der WINNI-mat nur eine Harzkartusche. Das bedeutet, das für die Zeit des Rückspülens nur hartes Wasser zur Verfügung steht. Etwa 1000€ Unterschied zwischen den beiden Geräten lassen das verschmerzen. Eine Rückspülung dauert ~ 1 Stunde. Der Zeitpunkt der Rückspülung ist abhängig vom verbrauchten Wasser und kann zeitlich leider nicht eingeschränkt werden (z.B. nur Nachts präventiv Rückspülen o.ä.).

Einbau

Der Einbau der Anlage sollte generell nur von einer fachkundigen Person durchgeführt werden!

Das Gerät produziert Wasser mit 0°dH. Deshalb muss das im Lieferumfang enthaltene Verschneideventil eingebaut werden. Dieses mischt das kalkhaltige Rohwasser wieder mit dem komplett entkalten Weichwasser aus der Anlage. Das Verschneideventil muss irgendwo nach dem Wasserzähler in die Frischwasserleitung montiert werden (Einbaurichtung beachten!). Auf dem Bild fließt das Wasser von links nach rechts. Der weiße Wasserzähler ist nicht der Geeichte vom Wasserwerk!

IMG_7043

Die mitglieferten Stahlflexschläuche müssen zwischen Verschneideventil und Gerät angeschlossen werden. Auch am Gerät sind die Anschlüsse für das Roh- und das Weichwasser mit den entsprechenden Richtungspfeilen zu beachten. Die Flexschläuche sind relativ kurz, weshalb das Gerät nahe an dem Verschneideventil aufgestellt werden muss.

IMG_7039

Das Gerät hat einen Ablaufschlauch für das Wasser welches bei der Regeneration benötigt wird und einen Schlauch für den Überlauf des Salzbehälters. Beide sind im Bild recht zu sehen und führen bei uns in den Überlauf der Heizung. Zu beachten ist, das der Überlauf nicht aktiv gepumpt wird und daher der Ablauf nicht zu hoch sein darf. Nach erfolgtem Anschluss kann das Geräte eingeschaltet, und die beiden Sperrventile am Verschneideventil geöffnet werden. Prüfen ob alles Dicht ist!

Update!

Den Abwasseranschluss hatte ich in der Zwischenzeit geändert da, wie von [Unwissender] in den Kommentaren völlig zu Recht angemerkt, eine große Gefahr einer bakteriellen Verunreinugung ausgeht wenn ein direkter Kontakt zwischen Abwasserleitung (HT-Rohr) und den Schläuchen des Geräts besteht. Das sieht mit dem Grünbeck Kanalanschluss-Dingens nun wie folgt aus:

 

Einstellen

Zur Herstellung der Salzsole muss vor dem dem Einfüllen des Salzes, der Behälter mit 6,5 l Wasser gefüllt werden. Danach geht es an das Einstellen des Härtegrades. Zum Messen des Härtegrades liefert Grünbeck eine spezielle Lösung und einen Messbehälter mit. Dieser muss bis zur ersten Markierung hartem Wasser gefüllt werden (Rohhärtemessung). Dafür entweder das Wasser an einer Entnahmestelle vor dem Verschneideventil abzapfen oder das kleinere Ventil an der Verschneideeinheit kompett zudrehen.

IMG_7046

Jetzt die Lösung in das Wasser im Messbecher eintropfen. Jeder Tropfen entspricht hierbei 1°dH. Das Wasser verfärbt sich rot. Zwischen den einzelnen Tropfen ggf. schütteln.

Genauer wird die Messung, wenn anstatt 5 ml, 10ml, 15ml oder 20ml  eingefüllt werden. Die Anzahl der Tropfen/°dH müssen dann natürlich verdoppelt, verdreifacht, … usw. werden.

IMG_7047

Erwartet hatte ich nach der letzten Messung mit dem Papierstreifen einen Umschlag der Farbe des Wassers nach Grün nach 14 Tropfen was einer Härte von 14°dH entspricht. Umgeschlagen ist es aber erst bei 17 Tropfen. Soviel zu der Genauigkeit des Teststreifens…

IMG_7049

Die ermittelte Rohwasserhärte muss dann im Gerät eingestellt werden. Danach muss am kleinen Regler des Verschneideventils die gewünschte Wasserhärte eingestellt werden. Das Wasser zur Messung muss dazu an einer Entnahmestelle hinter der Enthärtungsanlage gezapft werden. Das Ventil immer weiter auf- oder zudrehen bis der gewünschte Härtegrad erreicht ist. Nach jeder Anpassung des Ventils neu messen. Evtl. muss das Wasser an der Entnahmestelle länger laufen gelassen werden damit kein “altes” Wasser mehr in der Leitung ist. Ggf. muss auch vor der Messung eine Regeneration durchlaufen werden – je nach Status des Gerätes.

Ist die richtige Härte ermittelt, kann das Ventil mit der Schraube arretiert werden.

Danach dran denken auch die Geräte im Haus wie Spülmaschine, Kaffeemaschine, Waschmaschine etc. falls möglich/notwendig auf den neuen Härtegrad einzustellen.

Geschmacklich ist beim Wasser kein Unterschied festzustellen (das Salz dient ja nur zum Rückspülen). Zum Salz- und Wasserverbrauch kann ich akuell noch nichts sagen da die Anlage noch nicht lange in Betrieb ist. Das wird nachgereicht…

Bitte melden falls jemand eine Idee oder einen Ansatz hat, den aktuellen Status des Gerätes wie die verbleibende Wassermenge bis zur nächsten Regeneration, die Regenerationsdauer, etc. digital auszulesen (falls das überhaupt möglich ist).

Viel Spaß mit weniger Kalkflecken, sauberen Brauseköpfen etc.

Gruß
Chris