Stromverbrauch messen & darstellen

  • Hallo zusammen,


    ich würde gerne eine Idee umsetzen, bräuchte aber vielleicht eure Tipps ob und mit welchen Erweiterungen eines Raspberry Pi man den Stromverbrauch eines anderen Gerätes messen kann.


    Ein kleines Messgerät als Zwischenstecker habe ich zwar, aber der zeigt nur den Momentanen Verbrauch in Watt an. Ich würde das aber gerne in der lokalen Webseite über einen gestimmten Zeitraum (Wochen/Monate) graphisch darstellen wollen. Etwas HTML, php, Java und Python Kenntnisse sind vorhanden


    Vielleicht kennt jemand eine Raspberry Pi Erweiterung (falls vorhanden), die man dafür nutzen kann.

  • Um was für Geräte handelt es sich denn die du erfassen willst? Also um welche Messbereiche geht es?



    Zur Visualisierung schlage ich das vor: FAQ => Nützliche Links / Linksammlung => highcharts .. davon dann die Python Variante.


    Grafana/Influx ist aber auch nett.

  • Hat das Messgerät denn einen Ausgang an dem du den Messwert abnehmen kannst? Wenn ja, in welcher Form? Um welches Messgerät handelt es sich denn?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!


  • Um welches Messgerät handelt es sich denn?


    Oh, ja richtig. Hätte ich dazu schreiben sollen. Es ist das hier: Brennenstuhl Energiemessgerät Primera-Line PM 231 E. Einen Ausgang wird das Gerät nicht haben.
    Grundsätzlich soll der Verbrauch des Heimservers gemessen werden, also im 230V Bereich. Ich hab zwar keine 2 linke Hände, würde mich aber darüber freuen, wenn jemand einen fertigen Bausatz o.ä. kennt :D

  • Also, das Ding aufzumachen und irgendwo innendrin zu versuchen, irgendwas abzugreifen, das du auswerten kannst, halte ich für ziemlich unratsam.
    Hier gibts was professionelles - aber recht teuer.
    Etwas billiger gehts wohl so. Den Softwareaufwand kann ich allerdings nicht ganz nachvollziehen. Die Signale müsste man doch schlicht am GPIO per Interrupt ablesen und gleich auf handhabbare Zeiträume (Minuten?) aufsummieren können.
    Oder das gleiche mit noch günstigerem Zähler - oder sogar hier.


    Siehe auch diesen Thread im Forum.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Edited once, last by Gnom ().

  • Morgen,


    ich hätte zum letzten Link noch (sicherheitshalber) eine Frage, also dem "LCD Wechselstromzähler". Der zu messende Verbraucher arbeitet mit 230V und verbraucht ca. 100 Watt. Laut Formel P=U*I ergibt das (großzügig gerechnet) 200W/230V= ~0,86A. Damit sollte der Zähler ausreichen, da dort 5A angegeben sind. Nur weiß ich nicht, wofür die Werte in der Klammer sind. Vermutlich max. Belastung?

  • Wenn man eine Fritzbax hat, kann man eine FritzDect200 zur Messung des Stromverbrauchs benutzen.
    Über Wlan funktioniert es mit einer Edimax SP-2101W. Der Rest ist nur noch Software.


    MfG Turbotoni


  • Nur weiß ich nicht, wofür die Werte in der Klammer sind. Vermutlich max. Belastung?


    Der erste Wert ist der, bei dem das Gerät kalibriert wird (Nennstrom ist da etwas irreführend, aber trifft es in etwa), d.h. die angegebenen Toleranzwerte sind an diesem Punkt gültig.


    Der Klammerwert ist der max. mögliche (Dauer) Strom, bis zu dem der Zähler zugelassen ist. Es gibt manchmal noch einen dritten Wert (oft nur im Datenblatt zu finden), welcher einen noch höheren Wert für eine bestimmte Zeit erlaubt (um ggf. bei höheren Motoranlaufströmen den Zähler nicht kaputt zu machen - Motoranlaufströme können durchaus das 5-7fache das normalen Motornennstroms erreichen).

  • Da sind viele gute Sachen dabei. Die fertige "Hardware" von AVM gefällt mir auch sehr gut, vor allem, weil ich eine FritzBox habe und sich perfekt integrieren würde. Ich denke ich fange mit dem hier an: http://www.ebay.de/itm/220V-LC…-Hutschiene-/112152678024. Immer möglichst viel selber machen ^^


    Ich werd dieses Thema dann aktualisieren, sobald das Paket da ist und alles funktioniert, markiere ihn aber schon mal als erledigt ;)
    Danke nochmal für den schnellen schubs in die richtige Richtung :thumbs1:

  • Naja, angeblich entspricht er der gültigen Norm für Wechselstromzähler...


    Wiki sagt mir: "In Europa beträgt die Netzspannung 230 V ±23 V." - bleibt die Hoffnung, dass die Zähler damit klar kommen... :denker:

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Der Stromzähler ist gestern angekommen und wurde direkt "eingebaut".. Vorerst noch ohne hübsches Gehäuse, aber das kommt definitiv noch ;)


    Ich bin im Moment dran, mir einen Überblick über das Software-Angebot zu verschaffen. Bis jetzt hab ich folgendes gefunden:


    So wie ich das verstanden habe, wäre openHAB und FHEM etwas übertrieben. Im Grunde möcht ich sowas wie den Eigenbau von "blog.webernetz.net", wobei es mich aber trotzdem interessiert, ob ihr noch weitere Möglichkeiten/Software kennt.


    Danke im voraus ;)

  • Kurze Nachfrage zum Auswerten der Impulse..


    Ich konnte soweit alles einrichten und es wird nun über eine NFS-Freigabe eine Datei erstellt. (NFS wegen den vielen Schreibzugriffen)
    In dieser Datei wird die Zahl (beginnt mit 0 oder 1) bei jedem Impuls um eins erhöht. Jetzt müsste ich über ein Programm/Skript (?) die Zeit zwischen den Impulsen messen und auf ein Diagramm übertragen, aber genau da hapert es bei mir.


    Welche Möglichkeiten gibt es denn dafür eigentlich alles und was wäre "am einfachsten"?
    Im Grunde wäre eine PHP Datei gut, die ich dann anderswo über z.B. php include im Netzwerk einbinden könnte.

  • Kurzes Update für die, die ein ähnliches Projekt umsetzen möchten.


    Inzwischen ist etwas zeit vergangen und ich habe mich inzwischen vom S0-Zähler abgewendet. Derzeit nutze ich die DECT200 von AVM, die noch vor meiner USV hängt und protokolliert den Energieverbrauch sehr gut mit. Ich habe mich allerdings gefragt, ob man die aufgezeichneten Daten nicht an andere Geräte "weiterreichen" kann und siehe da, sowas funktioniert. Das Skript selbst habe ich von hier und nur etwas angepasst, damit die Werte in eine Textdatei geschrieben werden. Letztendlich werden mir die Werte im 5 Minuten Takt durch meinen SmartMirror (von Glancr) gelesen und dargestellt. Das Skript läuft in einer VM, die noch andere lokale Aufgaben erfüllt, startet dort als Cronjob alle 5 Minuten und schreibt die Werte in eine Textdatei, die auf einer NFS-Freigabe liegt. Der Spiegel holt sich dann die Werte von der NFS-Freigabe, kopiert es in das Webverzeichnis und aktualisiert sich selbstständig über Javascript.


    Es kann sehr gut möglich sein, dass das nicht der beste Weg ist sowas umzusetzen, aber es funktioniert. Gerade mit Javascript habe ich so gut wie keine Erfahrung und denke, dass man das vielleicht auch mit einer Schleife o.ä. hätte umsetzen können. Auch das kopieren per Cronjob in das Stamm(web)verzeichnis vom SmartMirror keine schöne Lösung, aber so wie ich es verstanden hab, kann man mit Javascript keine Dateien außerhalb des Webservers lesen/öffnen. :s


    Letztendlich möchte ich aber damit dem Forum auch etwas zurückgeben ;)


    1. Daten auslesen


    2. Daten kopieren

    Bash
    #!/bin/bash
    cat /media/PFAD-ZUR-FREIGABE/dect_line1.txt > /var/www/html/dect_line1.txt
    cat /media/PFAD-ZUR-FREIGABE/dect_line2.txt > /var/www/html/dect_line2.txt
    cat /media/PFAD-ZUR-FREIGABE/dect_line3.txt > /var/www/html/dect_line3.txt
    cat /media/PFAD-ZUR-FREIGABE/temp_glancr.txt > /var/www/html/dect_line4.txt
    sed -i 's/$/ °C/g' /var/www/html/dect_line4.txt
    cat /media/PFAD-ZUR-FREIGABE/temp_omv.txt > /var/www/html/dect_line5.txt
    sed -i 's/$/ °C/g' /var/www/html/dect_line5.txt
    exit


    3. Daten darstellen
    [code=php]<link rel="stylesheet" href="../modules/dect200/frontend/styles.css"/>
    <h2 class="module__title">Serverraum</h2>


    <script type="text/javascript" src="./jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    setInterval( function(){
    $('#line1').load('../dect_line1.txt');
    }, 5000);
    });
    </script>
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>Aktuell: </td>
    <td><script type="text/javascript">$(document).ready(function() { setInterval( function(){ $('#line1').load('../dect_line1.txt'); }, 5000); });</script><span id="line1"> </span></td>
    </tr>
    <tr>
    <td>Gesamt: </td>
    <td><script type="text/javascript">$(document).ready(function() { setInterval( function(){ $('#line2').load('../dect_line2.txt'); }, 5000); });</script><span id="line2"> </span></td>
    </tr>
    <tr>
    <td>Raumtemperatur: </td>
    <td><script type="text/javascript">$(document).ready(function() { setInterval( function(){ $('#line3').load('../dect_line3.txt'); }, 5000); });</script><span id="line3"> </span></td>
    </tr>
    <tr>
    <td>SmartMirror: </td>
    <td><script type="text/javascript">$(document).ready(function() { setInterval( function(){ $('#line4').load('../dect_line4.txt'); }, 5000); });</script><span id="line4"> </span></td>
    </tr>
    <tr>
    <td>Server-Temperatur: </td>
    <td><script type="text/javascript">$(document).ready(function() { setInterval( function(){ $('#line5').load('../dect_line5.txt'); }, 5000); });</script><span id="line5"> </span></td>
    </tr>
    </table>
    </div>
    [/php]


    P.S.: Unter den Punkten 2 und 3 werden noch die CPU Temperaturen vom Raspberry Pi und meinem Homeserver eingefügt/angezeigt.


    Wenn ich mich nun in Javascript besser auskennen würde, könnte man z.B. ein fertiges Modul entwerfen und die notwendigen Daten dann über das WebGUI von mirros eintragen. Mir bleibt leider nix anderes übrig, als mich mit dieser Lösung "abzufinden" :D

  • Wieso benutzt du nicht mehr den S0-Zähler? Ist damit irgendwas nicht in Ordnung? Würde mich mal interessieren.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Achso, ja das hätte ich noch erwähnen sollen.. Grundsätzlich funktioniert der Zähler und macht seine Arbeit - zumindest wurden die Impulse korrekt in eine Textdatei geschrieben. Ich hab dann verschiedene Tutorials probiert und auch mit verschiedenen Lösungen experimentiert, um das ganze grafisch darzustellen, aber so richtig funktioniert hat es irgendwie nie. :s


    Da ich zusätzlich kurz vor einem Hardwarewechsel stand, wollte gerne den vorher/nachher Effekt sehen. ;)