Gaszähler auslesen – Darstellung der Daten

Gaszähler auslesen – Darstellung der Daten

Jedes Jahr im Januar ist es wieder soweit – die Daten des Gaszähler müssen an den Lieferanten übermittelt werden. Dabei ist mir aufgefallen, das meine Darstellung der Daten aus der MySQL-Datenbank noch verbesserungswürdig sind. So hatte ich z.B. nur den Verbrauch der letzten 7 Tage wie im Artikel http://blog.bubux.de/gaszaehler-auslesen/ beschrieben ausgewertet. Da fehlt doch noch eine monatliche und jährliche Übersicht!

Nochmal zur Erinnerung: Ich speichere jede gezählte Umdrehung des Gaszählers als separate Zeile in einer MySQL-Datenbank.

Gaszaehler mySQL Datenbank

Daher müssen die einzelnen Zeilen nach den jeweiligen Kriterien gruppiert und dann das Ergebnis der Spalte “zaehlerstand” summiert werden. Beim Stromzähler wird hingegen immer der aktuelle Gesamtverbrauch in die Datenbank geschrieben und aus den Datenbankeinträgen für die Tages-, Monats- und Jahresverbräuche die Differenz gebildet um entsprechende Auswertungen zu erzeugen.

Auswertung der letzten 12 Monate

Folgendes SQL-Statement ermittelt aus den einzelnen Datenbankeinträgen die Summe gruppiert nach Jahr und Monat. Dabei werden die letzten 12 Monate mittels “INTERVAL” betrachtet.

SELECT
     CASE DATE_FORMAT(timestamp,'%m')
          WHEN 1 THEN 'Jan'
          WHEN 2 THEN 'Feb'
          WHEN 3 THEN 'Mär'
          WHEN 4 THEN 'Apr'
          WHEN 5 THEN 'Mai'
          WHEN 6 THEN 'Jun'
          WHEN 7 THEN 'Jul'
          WHEN 8 THEN 'Aug'
          WHEN 9 THEN 'Sep'
          WHEN 10 THEN 'Okt'
          WHEN 11 THEN 'Nov'
          WHEN 12 THEN 'Dez'
     ELSE 'fehler' END as Monat,
     year(timestamp), sum(zaehlerstand)
FROM gaszaehler WHERE year(timestamp) >= YEAR(CURRENT_DATE - INTERVAL 12 MONTH) AND  month(timestamp) >= month(CURRENT_DATE - INTERVAL 12 MONTH)
GROUP BY month(timestamp), year(timestamp) ORDER BY timestamp;

Auswertung der Jahresverbräuche

Fehlt noch der jährliche Verbrauch. Das SQL-Statement ist einfacher aufgebaut als vorheriges und summiert den Verbrauch pro Jahr für alle in der Datenbank enthaltenen Daten an.

SELECT 
     year(timestamp), sum(zaehlerstand) 
FROM gaszaehler
GROUP BY year(timestamp) ORDER BY timestamp;

Im Ergebnis sieht das Ganze dann wie folgt aus. Die Grafik zur Anzeige der Daten der letzten 12 Monate erstelle ich wie in diesem Artikel beschrieben

Gaszaehler Uebersicht

Viel Spaß bei der Kontrolle des Gasverbrauchs 🙂

Gruß

Chris

Arduino als AVR ISP zum Brennen des Bootloader

Arduino als AVR ISP zum Brennen des Bootloader

Erstmal noch ein frohes neues Jahr 2016! Es ist lange nichts mehr passiert hier in diesem Blog. Gründe, oder besser Ausreden dafür fallen mir genug ein. Ein Grund ist der Selbstbau einer Garage im letzten Sommer bzw. Herbst. Das hat mich einiges an Zeit und Nerven gekostet. Jetzt steht aber alles und das Auto im trockenen und somit ist wieder Zeit für andere Dinge. Daher heute etwas zum Thema Arduino und des darin benötigte Bootloader und wie man einen Arduino als AVR ISP zum Brennen des Bootloader nutzt. (ISP: In-System-Programmer).

An einem der letzten Wochenenden habe ich mit zwei Bekannten ein Wortuhr-Bau-Wochenende gemacht. Dabei sind an zwei Tagen 3 Wortuhren entstanden. Nach dem Bestücken der Platinen, dem Erstellen der LED-Matrix und der Verkabelung sollte der Sketch auf den Mikrocontroller geladen werden.

Bei dem Versuch wehrte sich die Arduino IDE allerdings den Sketch auf den Mikrocontroller zu spielen. Grund dafür war ein fehlender Bootloader. Da hatte ich bei der Bestellung der Platinen und der Bauteile wohl das entsprechende Häkchen für einen bereits vorprogrammierten Atmel vergessen.

Warum ein Bootloader?

Der Bootloader auf dem Atmel AVR wird benötigt um den Arduino mittels serieller Schnittstelle einfach mit Programmen (Sketch) z.B. mit der Arduino IDE programmieren zu können. Hierbei übernimmt der Bootloader zwei Dinge:

  1. Der Bootloader versucht beim Start festzustellen, ob ein neuer Sketch vom PC auf den Mikrocontroller geladen werden soll. Ist das der Fall, wird das Programm vom PC auf den Mikrocontroller geladen. Daher wird der Mikrocontroller beim Versuch neuen Code hoch zu laden, vorher immer durch die Arduino IDE resetet.
  2. Wenn nicht mittels PC versucht wird ein Sketch auf den Mikrocontroller zu laden, wird der der bereits installierte Code ausgeführt.

Eine Möglichkeit um den Bootloader auf den Atmel zu laden, ist einen anderen Arduino als Programmer zu nutzen. Da ich noch einen Arduino Nano hier rumliegen hatte, musste der dafür herhalten.

Einen Arduino Nano als AVR ISP (In-System Programmer)

Folgende Schritte sind zu befolgen um den Bootloader auf einen Atmel AVR zu spielen:

1. ArduinoISP-Sketch auf Arduino laden

In der Arduino IDE das Beispiel “ArduinoISP” öffnen. Eine aktuelle Version ist auch auf GitHub zu finden.

isp1

Den Arduino Nano mittels USB an den Rechner anschliessen und ggf. unter “Werkzeuge->Port” den entsprechenden Port einstellen. Den geladenen Sketch anschließend mit der “Pfeiltaste” auf den Arduino Nano laden.

Mehr lesen

Wortuhr Bildschirmschoner – Update 2

Heute nochmal ein kleines Update für den Wortuhr Bildschirmschoner. Bei Geräten mit höheren Auflösungen gab es Probleme mit der Anzeigen der Umlaute. Die Buchstabenmatrix ist aufgrund der hohen Auflösung etwas zusammengeschoben worden, weshalb nicht alles korrekt dargestellt wurde. In den Bildschirmschoner-Einstellungen kann man nun die Schriftgröße und zusätzlich noch die Schriftart anpassen (dazu auf den Text hinter Schriftart klicken).

bildschirmschoner_einstellungen_neu

Download Wortuhr ScreenSaver (v1.1)

Gruß
Chris

Snippet – Daten vom internen Netz zum Strato Webspace

Nach langer Zeit Stillstand im Blog nochmal ein kleines Snippet. Problemstellung war, Daten vom Raspberry aus meinem lokalen Netz auf den Webspace von Strato zu bekommen. Ich wollte die aktuelle Temperatur und Luftfeuchte die meine Homematic-Sensoren regelmäßig in der lokalen Datenbank auf dem Raspberry speichern auch hier im Blog anzeigen.

Nichts leichter als das dachte ich, und richtete eine Datenbankverbindung zur MySQL-Datenbank auf dem Strato-Webspace auf dem Raspberry ein. Leider unterbindet Strato den Zugriff auf die Datenbanken wenn dieser nicht vom Strato-Webspace geschieht. Das ist unschön da ich mir was anderes einfallen lassen musste, aber bzgl. der Sicherheit geht das in Ordnung.

Der nun vorgestellte zweite Ansatz ist eine zweigeteilte Lösung mit einer Komponente auf dem Strato-Webserver (PHP-Script) und einem Aufruf dieses Scriptes auf dem Raspberry mittels Shell-Script etc. oder wie in meinem Beispiel mittels PHP-Script welches regelmäßig per Cron aufgerufen wird. Das ist die simpelste Art eines “Webservices” ohne REST und SOAP und für meine Zwecke völlig ausreichend.

Serverkomponente

Der PHP-Teil auf dem Webspace sieht folgendermaßen aus: Nach der Prüfung eines übergebenen Hashwertes werden die beiden ebenfalls in der URL übergebenen Messwerte (Außentemperatur und Luftfeuchte) auf Vorhandensein geprüft. Hier können und sollten natürlich noch weitere Prüfungen vorgenommen werden ob diese Werte z.B. numerisch sind etc. Da dieses Script auf dem Webspace liegt und durch jeden aufgerufen werden kann, dient der Hashwert als Passwort für den Aufruf.

Ist mit den übergebenen Argumenten alles in Ordnung, werden die Messwerte mittels Prepared-Statement in die auf dem Strato-Webserver angelegte Datenbank-Tabelle “temperaturfuehler” gespeichert.

Da ich die Messwerte in einer lokalen Datenbank schon historisiere, wird in der Tabelle im Webspace nur eine Zeile mittels “UPDATE” aktualisiert. Hier muss darauf geachtet werden, dass mindestens einmal vor dem ersten Update ein “INSERT” in dieser Tabelle vorgenommen werden muss. Das hatte ich über die MySQL-Admin-Oberfläche von Strato gemacht.

prepare("UPDATE temperaturfuehler SET temperatur=?,luftfeuchte=?");
			$stmt->bind_param("dd",number_format($_GET["temperatur"],1),number_format($_GET["luftfeuchte"],1));
			$stmt->execute();
			$stmt->close();
		} catch (Exception $e) {
			echo 'Fehler: ', $e->getMessage(), "\n";
		}
	}
	
} else {
	//echo "Fehler: Hashwert falsch\n";
}
?>

Hier die im obigen Script eingebundene Datei mit den Einstellungen:

");
define('DB_PASSWORD', "");
define('DB_DATABASE', "");
define('DB_SERVER', "");
define('HASHWERT', "");
?>

Lokale Komponente

Jetzt zu dem Teil der auf dem Raspberry lokal läuft. Hier wird obiges Script einfach z.B. per GET aus einem weiteren PHP- oder Shell-Script etc. mit den entsprechenden Argumenten aufgerufen. Wichtig ist, dass die Namen der übergebenen Argumente mit denen aus dem insert.php Script übereinstimmen.

exec("GET \"http://www.deine_url.de/beliebiger_pfad/insert.php?temperatur=$temp&luftfeuchte=$luft&hashwert=der_hashwert_der_beim_get_uebergeben_werden_muss\"");

Obiges Script und der Aufruf können natürlich um beliebig viele Übergabeparameter erweitert werden. Die so an die Strato-Datenbank übergebenen Werte können dann z.B. im WordPress mittels PHP-Plugin aus der Datenbank abgefragt und angezeigt werden. Hier im Blog ist das oben rechts zu sehen.

temperatur

Gruß
Chris

Eclipse Uhr auf Basis der Liqiud-Clock

Neben den Wortuhren wollte ich auch mal eine Uhr bauen, die auf Basis von Christians Liquid-Clock basiert. Die Neopixel habe ich als 5m Rolle in der Bucht gekauft. Als Steuerplatine benutze ich das BBRTCAD von Christian.

Das BBRTCAD ist schnell aufgebaut. Wirklich etwas fisselig ist der Anschluss des Elkos und der Anschlusskabel an den LED-Stripe. Das ist aber etwas abhängig von der Größe der Anschluss-Pads des LED-Stripes die bei mir ziemlich winzig waren. Ich habe dann noch, anders wie in der Anleitung, nur einen Elko benutzt und den Stripe zu einem geschlossenen Ring zusammen gelötet. Das funktioniert auch tadellos anstelle der Nutzung von zwei Elkos wie in Christian´s Anleitung beschrieben. Der LED-Stripe und die Steuerplatine wurden dann auf einer rund ausgefräßten Leimholzplatte (~15mm Stärke) mit den entsprechenden Ausfräsungen für die Elektronik montiert. Nett ist, das der LED-Stripe mit doppelseitigem Klebeband daher kommt, was das Montieren des Stripes sehr einfach macht.

Die sichtbare Platte ist eine schwarze Acrylplatte von Evonik. Diese ist einigermaßen streuend und schön schwarz wo sie auf der Holplatte aufliegt. Befestigt ist die Acrylplatte mit doppelseitigem Klebeband. Das hält bombenfest und ich hatte echte Schwierigkeiten es nochmal ab zu bekommen weil ich die Platte im ersten Versuch etwas verdreht aufgesetzt hatte. Da ich vor dem Aufkleben leider keine Fotos gemacht hatte, gibt es daher auch keine weiteren Bilder vom Innenleben der Grundplatte.

In der Firmware habe ich alle der 60 Leds die aktuell nicht für die Anzeige von Stunde (blau), Minute (grün) und Sekunde (rot) benötigt werden, auf “Dauer an” (weiß)  gesetzt. Das gibt einen schönen Korona-Effekt. Daher auch “Eclipse Uhr”. Dieser Effekt könnte allerdings noch etwas diffuser sein. Ich habe aktuell nur keinen weißen durchlässigen Schaumstoff zur Hand mit dem man das erreichen könnte. Sobald ich was passenden gefunden habe wird ein Bild nachgereicht.

Die fertige Uhr schaut dann im Dunkeln fotografiert so aus:

eklipse_liquid_clock
Eclipse Uhr

 

Gruß

Chris

GNU Terry Pratchett

Ein Arbeitskollege hat mich auf den XClacks-Overhead“-Header aufmerksam gemacht. Im Jahr 2004 erschien der Scheibenwelt-Roman “Going Postal” von Terry Pratchett. In dem Buch schreibt Pratchett über “the clacks”, eine Reihe von Türmen mit Lichtsignalen welche dem Scheibenwelt-Pendent zu einem Telegraphensystem entsprechen. Quasi der Vorgänger des Internets.

“A man is not dead while his name is still spoken.”
Going Postal, Chapter 4 prologue

Innerhalb dieses Systems gab es eine Tradition, das wenn ein Bediener einer dieser Türme bei seiner Arbeit stirbt, sein Name entlang der Türme auf und ab in einer Endlosschleife gesendet wird.

His name, however, continues to be sent in the so-called Overhead of the clacks. The full message is “GNU John Dearheart”, where the G means, that the message should be passed on, the N means “Not Logged” and the U that it should be turned around at the end of the line. So as the name “John Dearheart” keeps going up and down the line, this tradition applies a kind of immortality as “a man is not dead while his name is still spoken”

640px-10.12.12TerryPratchettByLuigiNovi1
Terry Pratchett by Luigi Novi. Licensed under Wikimedia Commons

Zum Andenken an Sir Terry Pratchett, der leider am 12. März 2015 verstorben ist, haben reddit-Benutzer den X-Clacks-Overhead-Header entwickelt. Dieser Header kann in verschiedene Protokolle eingebettet werden. Eine ausführliche Erklärung und eine Liste zur Integration des Headers in verschiedene Webserver, Mailserver, unterschiedliche Scriptsprachen etc. sind unclackster www.gnuterrypratchett.com zu finden. Ganz nett ist z.B. auch das Firefox-Add-On, welches im Browser signalisiert, ob eine Webseite den Header sendet.

 

 

Dieser Blog sendet ab sofort auch den “X-Clocks-Overhead”-Header mittels des WordPress-Plugins. Der “X-Clacks-Overhead“-Header ist, wie ich finde, eine sehr schöne Möglichkeit einen Teil von Terry Pratchett im Internet weiter leben zu lassen.

gnu_pratchett_header

Gruß Chris

Raspberry PI 24/7 operation – Update

Nach den Anpassungen für den Neustart des Netzwerkinterfaces wie in Artikel “Stabiler 24/7 Betrieb des Raspberry” beschrieben, läuft der Minirechner heute genau seit 100 Tagen. Sehr gut!

After the adjustments to restart the network interface as described in post “Stabiler 24/7 Betrieb des Raspberry“, the Raspberry PI runs just fine for 100 days now. Very good!

Raspberry Pi Uptime

Chris

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…

20er Wortwecker

Heute nochmal was zum Thema Wortuhr. Ich habe schon seit längerer Zeit eine fertig gebaute Platine für einen 20×20 cm Wortwecker hier rum liegen. Dieser musste nun langsam mal mit Rahmen und Frontplatte fertig gestellt werden.

Zum Aufbau der Elektronik will ich gar nicht viel sagen, da es eine fertige Platine war die nur bestückt werden musste. Mehr oder weniger Fleißarbeit…

IMG_7937
Wortweckerplatine

Die Grundplatte mit dem Lichtgitter habe ich in QCAD als 2D-Model gezeichnet. Hier das DXF dazu.

wortuhr_klein
Grundplatte in QCAD

Die Platte hat mir dann Ingo mit dem Wasserschneider aus einer etwa 15mm starken Resopal-Platte geschnitten. Das war ein “Versuch”, da die >3000 Bar des Wasserschneiders sich nicht wirklich mit Holzplatten “vertragen”. Letztlich ist die Platte dann wirklich leicht aufgequollen was ich aber mit einem Schleifer korrigieren konnte. Ein anderer Versuch die Platte zu erstellen war die CNC-Fräse eines Schreiners. Leider sind dort beim Fräsen immer die recht dünnen Seitenwände gebrochen.

IMG_7938

Dann fehlte mir noch die Frontplatte. Dazu habe ich mir drei Acrylglasplatten und Buchstaben-Folien im Format 20×20 cm gekauft. Nach dem Folieren dann die erste “Anprobe”. Irgendwie passten aber die Buchstaben der Folie nicht auf das Raster meiner Grundplatte ??? Nach einigen Nachforschungen im Wortuhrforum stellte ich fest, das es mindestens zwei Version der 20er Wortwecker-Platine gibt. Ich hatte dann wohl die falsche Platine zur falschen Frontplatte. War ja klar…

Nachdem ich dann die richtige Frontplattengröße gefunden hatte (hier als DXF wortuhr_klein_wecker_frontplatte), wollte ich anstelle der Acrylscheibe mit Folierung lieber eine Metallplatte aus Edelstahl. Mit dem Wasserschneider konnte die Platte aufgrund der zu kleinen Buchstaben leider nicht geschnitten werden. Im Wortuhrforum bin ich dann auf geerscutting.com gestoßen. Eine Firma, die Bleche per Laser zuschneiden.

qcad_frontplatte
Frontplatte im QCAD

Dort im Shop habe ich mich für eine 0,8mm Edelstahlplatte entschieden. Die fertigen Platten waren dann schon nach drei!! Tagen im Briefkasten.

IMG_7935

Nachdem die Schutzfolie entfernt war, sah man um die ausgeschnittenen Buchstaben teilweise u.a. leichte Verfärbungen durch die Hitze beim Schneiden mit dem Laser und irgendwelche anderen Rückstände..

IMG_7939

Nach zwei Minuten Bearbeitung der Platte mit Nevr Dull sah das Ganze schon viel besser aus. Ein paar kleine Verfärbungen (beim “A” und “R”) habe ich nicht entfernt bekommen. Diese fallen aber nur bei sehr genauem Hinsehen auf.

Auf der Rückseite ist bei einigen Buchstaben ein Grat entstanden, der teilweise auch in den Buchstaben zu sehen war. Auch hier war noch etwas Nacharbeit nötig. Alles in allem sind die Platten aber sehr gut geworden und waren m.E. mit 46€ inkl. Versand auch recht preiswert.

IMG_7941

Nachdem ich dann die Diffusionsfolie auf die Grundplatte geklebt hatte, stand ich vor dem Problem die Frontplatte am Rahmen zu befestigen. Ich war zu ungeduldig um noch Vertiefungen für Magnete in die Grundplatte zu Bohren und Eisenplättchen auf die Edelstahlplatte zu kleben und habe die Edelstahlplatte direkt mit “Pattex 100%” auf das Resopal-Gehäuse geklebt. Das hält!

IMG_7945

Das fertige Ergebnis schaut dann wie folgt aus. Gut, ich hätte die Platte vor dem Foto nochmal polieren können. Nach dem Kleben sind dann doch einige Fingerabdrücke entstanden, die auf dem Foto deutlicher zu sehen sind als in natura.

Die Platte ist übrigens 23×23 cm groß da sie ursprünglich für den kleinen Ribba-Rahmen gedacht war. D.h. die Grundplatte könnte auch größer werden womit das Problem mit den schmalen Stegen an den Rändern gelöst wäre. Vielleicht klappt es dann auch auf der CNC. Werde das für die zweite Uhr die hier noch in Einzelteilen rumliegt mal versuchen.

IMG_7950

Gruß

Chris

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:

sudo modprobe w1-gpio

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

sudo modprobe w1-gpio pullup=1

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:

sudo modprobe w1-therm

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

uname -r

Ist die Kernelversion > 3.18.3 muss in der Datei

/boot/config.txt

folgende Zeile eingefügt werden

# activating 1-wire with pullup
dtoverlay=w1-gpio-pullup

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

cd /sys/bus/w1/devices

auftauchen.

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

cat 28-000005db9cea/w1_slave

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

[cc lang=”php”]

[/cc]

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