Ich präsentiere
Die vermutlich kleinste/kürzeste , aber dafür immer noch recht umfassende Smart-Metering Lösung der Welt. Nur 140 Zeilen „Code“.
cat create-rrd.sh fetchdata.pl makegraphs.sh doall.sh crontab.example |wc -l
140
Download HIER
Details, was man damit machen kann bzw. wie das Ergebnis aussieht: HIER bzw. HIER oder direkt hier ein Screenshot damit der Artikel etwas bunter ist:
Es sei noch zu erwähnen, daß die hier vorgestellte Lösung nicht unbedingt von einem CurrentCost abhängt. Es handelt sich vielmehr im Wesentlichen um eine Langzeit Datenlogger-Lösung, die über ein paar Scripts Messdaten entgegennimmt, in eine RRD Datenbank stopft und daraaus Graphen geniert. Wert wurde dabei auf Einfachheit und Portabilität gelegt. Natürlich kann man insbes. fetchdata.pl leicht umändern und seine eigene Hardware damit „anzapfen“. Eine „ReadyToRun“ Lösung stellt es nur zusammen mit einem CurrentCost dar.
Installationsvorraussetzung
Hardware: 1x CurrentCost Envi + 1x USB Kabel + 1x Linux kompatibles System
Software: Linux, Bash, Perl, RRDTool
Beschreibung
create-rrd.sh – erzeugt die RRD Round-Robin Datenbank
fetchdata.pl – Liest die Daten vom CurrentCost und packt sie in die RRD DB
makegraphs.sh – generiert Graphen aus der RRD
doall.sh – kleines Hilfsscript um das Generieren aller Graphen zu triggern
crontab.example – Beispiel für Crontab
Achtung, für die Installation müssen diverse Pfade angepasst werden. Wird noch verbessert bzw. mittels Variablen/Setup-Doku ergänzt. Auch der Deutsch/Englisch Mix wird noch vereinheitlicht. Daß die Lösung noch nicht einheitlich in einer Programmiersprache geschrieben ist gefällt mir auch noch nicht so ganz, evtl. wäre Perl für alle Scripts die 1. Wahl und evtl. lässt sich fetchdata.pl und makegraphs.sh dann in einem Script vereinen, so daß es innerhalb eines Prozesskontextes läuft, was RAM spart. Immerhin soll die Lösung ja auch in einem Embedded Device gut laufen.
Warum die auf den ersten Blick eigenartige Verfahrensweise über diese „xy.do“ Dateien über die Crontab? Die Graphengenerierung soll streng serialisiert stattfinden, weil ein Embedded-Device u.U. nicht genügend Ressourcen hat, parallel mehr als einen Graphen gleichzeitig zu erzeugen. Den Omnima-Router mit seinen 16MB hat`s jedenfalls regelmässig zerlegt, wenn „zufällig“ gerad mal 3 Graphen parallel generiert wurden….
Der Start von fetchdata.pl oder makegraph.sh kann für den Betrieb als Hintergrund-Dienst mittels „nohup ….. >/dev/null 2>&1 &“ erfolgen.
Alles OpenSource, GPL – und damit für lau!
Fragen ?
Viel Spass !
Um Feedback, Anregungen, Kritik, Verbesserungsvorschläge wird ausdrücklich gebeten. Email siehe Readme
24. September 2010 at 16:13
[…] https://umweltsuende.wordpress.com/2010/09/16/klein-aber-fein/ /var/www/vz/wiki/data/pages/links.txt · Zuletzt geändert: 2010/09/24 16:13 von Steffen Vogel Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2 […]
30. September 2010 at 14:05
Wo klemmt man denn diese Messeinheiten an? Auf der Website von Current Cost ist das nicht wirklich beschrieben oder ich habe es noch nicht gefunden.
30. September 2010 at 20:50
hallo,
in einem deutschen Haushalt ist man normalerweise 3-phasig angeschlossen, d.h. aus derm Stromzähler kommen i.d.R. 3 Phasen oder „Strom-Kanäle“ raus. Wenn man Kabel nicht direkt nach dem Zähler mit den Stromklemmen abgreifen kann, dann evtl. innerhalb des Sicherungskasten. Bin leider kein Elektriker und weiss daher nicht, auf welche typischen Probleme man da innerhalb D. strossen kann. Siehe auch http://www.currentcost.co.uk/installation.html
Evtl. muss man im Sicherungskasten die Abdeckung abnehmen, aber vorsicht ! Vorher Haupsicherung raus oder Gummihandschuhe an – bzw. genügend Resitzenz gegen Stromschläge mitbringen ! 😉
29. Oktober 2011 at 19:56
Hallo,
ich habe mit großem Interesse deine Artikel zu dem CurrentCost Messgerät gelesen. Ich bastel an sich selbst sehr gerne rum – das äußerst sich dann darin, dass bei mir ebenfalls ein TP-Link mit DD-WRT läuft und mein VDR u.a. Temperaturkurven meines Büros über ein Netzwerkthermometer per Munin zeichnet.
Nun wäre natürlich das CurrentCost eine geniale Ergänzung. Welche Geräte brauche ich da denn insgesamt? Würde das Starterset EnviR ausreichen?
Das Ganze dann wenn ich es richtig verstanden habe per USB an eine Linux-Büchse und per XML die Daten auslesen. Brauche ich dafür besondere USB-Treiber unter Linux?
Ich finde das Projekt großartig und bin für jede Info dankbar! 🙂
Viele Grüße
Florian
30. Oktober 2011 at 22:35
Nabend ! Ich habe das Energiethema leider eine Weile nicht sonderlich verfolgt – was ein „EnviR Starterset“ ist weiss ich leider nicht einmal. Der EnviR ist ein neueres Modell, soweit ich weiss. Ich selbst habe nur den normalen Envi oder den Envi „Classic“. Man braucht halt einen Envi != Trec (weil der keine serielle Schnittstelle hat) und halt die Sendeeinheit sowie 1-3 Stromklemmen und das Usb-Kabel. Unter Linux greift ein Standard USB->Seriell Treiber, d.h. in dem Kabel ist ein Wandler IC, was auch in anderen Geräten Verwendung findet. (PL2303 oder so ähnlich). Zu Envi und Bedienen der XML Schnittstelle sind im Netz jede Menge Infos vorhanden, einfach mal googlen.