[vz-dev] Volkszähler in Javascript
Alexander Meyer
alexander.meyer at spot-media.de
Tue Oct 2 16:37:01 CEST 2012
Hallo Liste,
ich messe nun seit einem knappen halben Jahr erfolgreich meinen
Stromverbrauch, und das Volkszähler-Projekt hat mir dabei sehr
geholfen. Die Bauvorschläge im Wiki und die Hilfe auf der Liste (und
speziell von Udo!) waren maßgeblich am Gelingen beteiligt.
Das doofe an dem genauen Messen war nur, dass ich jetzt plötzlich auch
gesehen habe, was der Rechner, auf dem die Software läuft, an Strom
verbraucht.
Meine Mess-Hardware besteht außer den Zählern und dem Sender im
Zählerkasten nur aus einem WLAN-Router, in dem der Empfänger steckt.
Da läuft zwar ein OpenWRT drauf, aber kein kompletter LAMP-Stack. Vor
allem nicht mit einer MySQL-DB, die schlimmstenfalls sekundengenaue
Messwerte mehrerer Jahre enthält, und vor allem auch gelegentlich auf
einmal ausspucken soll.
Eine so hohe Auflösung brauche aber zumindest ich nicht bis in alle
Ewigkeit zurück, und in meiner Arbeitswelt gibt es reichlich
Statistik-Tools, die auf dem Prinzip von Round Robin Databases
beruhen. Das heißt, die Auflösung der Daten wird mit zunehmendem Alter
gröber. Dadurch ist aber der Platz- und Ressourcenbedarf beim Auslesen
sehr gering.
Also habe ich etwas gebastelt, was serverseitig eigentlich nichts
außer rrdtool [1] und einem Webserver braucht, und per Javascript im
Browser die RRD-Datei lädt, auswertet, und anzeigt.
Die Daten kann man, wenn sie z.B. seriell rein kommen, einfach per
Shellscript in die RRD schreiben. Ich habe auch noch ein kleines
Perlscript dazu gelegt, mit dem man Volkszähler-DB-Dumps konvertieren
kann.
Der Code [2] funktioniert, aber ist insgesamt noch etwas unaufgeräumt,
und sehr um meine Hardware-Konfiguration mit drei S0-Zählern herum
geschrieben. Das liegt vor allem daran, dass das mein erstes
Javascript-Projekt ist, und ich mir oft nicht anders zu helfen wusste.
Trotzdem wollte ich das mal hier rein gereicht haben, vielleicht kann
es ja jemand gebrauchen.
Eine kleine Demo gibt es unter [3]; Fragen dazu, zum Code und zur
Hardware beantworte ich gerne!
Gruß,
Alexander
[1]: http://oss.oetiker.ch/rrdtool/
[2]: https://github.com/alibenpeng/smartmeter-frontend
[3]: http://www.arles-electrique.de/sm/
More information about the volkszaehler-dev
mailing list