Array ( [0] => facebook [1] => twitter [2] => google_plus )

How To: Temperatur von Smarthome Geräten über Fritzbox auslesen/darstellen (Teil 2)

Posted on:8. Februar 2015

Author:Markus Köhler

Category:Programmierung

Share: / /

Zu Teil 1 des Tutorials (Auslesen der Temperatur von der Fritzbox in C#.net)

Im ersten Teil dieses Tutorials haben wir gesehen, wie wir die Raum-Temperatur z.B. eines DECT-Repeaters auslesen können, welche dann in eine Datenbank geschrieben wird.

Nun wollen wir uns einen einfachen Ansatz ansehen, wie man die Daten auslesen und grafisch darstellen kann, und zwar in PHP.

Grafische Darstellung mit PHP

Grafische Darstellung mit PHP

Der SQL-Query zum Auslesen der Temperaturen für den Graphen könnte wie folgt lauten:

SELECT temperature, time_captured FROM fritzbox WHERE time_captured BETWEEN NOW() – INTERVAL 1 WEEK AND NOW() ORDER BY time_captured

Dies liefert uns die Temperaturen der letzten Woche zurück, mitsamt Zeitstempel. Den Offset lese ich hier nicht aus, da er bei mir unverändert  beträgt, also müsste man ihn noch zur Temperatur dazurechnen.

Zur Erstellung des Graphen bediene ich mich der pChart Library in Version 2.1.4. Ich habe mich einfach eines „Line Chart“-Beispiels, welches mit der Library geliefert wird, bedient und nur meine Daten statt der Beispieldaten eingefügt:

Modifizierter Code des pCharts Line Chart Beispiels

Modifizierter Code des pChart Line Chart Beispiels

Der ganze Zauber passiert quasi fast ganz oben in den Aufrufen der addPoints() Methode. $temperatures ist einfach ein eindimensionales Array mit den Temperatur-Werten aus der Datenbank. Genauso $times eben mit den korrespondierenden Zeitstempeln. Der Rest ist nur Design und Benennung. In meinem Ergebnis-Screenshot oben erkennt man die Zeiten auf der X-Achse nicht mehr, weil ich zu viele Werte für die Breite des graphen auslese, weshalb sich die Labels der X-Achse mehrfach überlappen.

Aber das Ergebnis ist eindeutig: Wir erkennen, wann z.B. gelüftet wird oder wann das Wohnzimmer hochgeheizt wird. Diese Daten könnte man unter Umständen auch dazu verwenden, die Energieeffizienz eines Gebäudes zu ermitteln, gerade wenn man mehrere Temperatursensoren hat und die Werte parallel in einen Graphen einzeichnet. Und dazu braucht man gar nicht viel Aufwand zu betreiben, ich würde sogar fast sagen, das ist für jeden Laien zu machen.

GD Star Rating
loading...

Kommentar verfassen

%d Bloggern gefällt das: