Stromzähler realisieren mit Drehstromzähler B+G etech

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Stromzähler realisieren mit Drehstromzähler B+G etech? Schau mal ob du hier fündig wirst!

  • Servus topsurfer,

    ich sehe gerade dass Du genau das machst, was ich vor habe.

    Um Grafiken zu rendern würde ich Dir rrdtool empfehlen. Das ist zwar etwas "fummelig" bei der ersten Einrichtung, aber es bietet sehr viele Optionen und läuft super auf dem Pi. Ich habe meinen Datenlogger auf einem Pi B laufen und rendere dort im 5min Takt 20 Grafiken - das interessiert den gar nicht (Load bleibt sehr weit unten).

    Eine Frage zu dem Bash-Script, dass Du verwendest - könntest Du mir bzw. das öffentlich zugänglich machen? Ich hätte das sehr großes Interesse dran (s. auch meinen Thread den ich vorhin erstellt habe).

    Würde mich sehr freuen :)

    Ciao
    Dennis

  • Hallo Dennis, klar, das Script kann ich dann zur Verfügung stellen, ist aber nichts besonderes (aber es funktioniert, 60 Zeilen ...).
    So was wie deine Grafiken will ich auch erstellen, wie hast du die erstellt?
    Kannst du dan ein Beispiel zeigen, wie aus "Rohdaten" (Logfile?) so eine Grafik wird? # rddtool -input X - .... -output grafik.jpg ??

  • Ich kann Dir heute Abend gerne mal das Script zeigen, mit dem ich das baue - musst dafür nur vorher ne RRD-Datenbank erstellen und dann per Bash-Script die Daten reinpumpen.

    Ich hatte vor Jahren auch mal nen kleines Tutorialvideo gemacht - mal schauen ob ich das noch finde - da hatte ich alles Schritt-für-Schritt beschrieben. Wenn ich es noch habe, schmeiß ich es nach YouTube und pack den Link hier rein.

    Noch eine Frage zum Deinem Aufbau, verstehe ich das richtig, dass Du das so gebaut hast?

    Zähler ====[S0-Bus]===== Kabel 1: GPIO8 / Kabel 2: mit 4,7k Ohm Widerstand davor und dann auf den Pin 1 (3,3V)? == Pi

    Einmal editiert, zuletzt von klein2 (12. November 2014 um 13:15)

  • Hallo topsurfer,

    hier der Link zu dem versprochenen Video (ist allerdings in Englisch) zum Erstellen von RRD-Datenbanken:

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Und hier einmal das Bash-Script zum Erstellen meiner Temperaturen:

    Das Script wird von einem PHP-Script wiederum gestartet:

    Code
    shell_exec("bash /logger/gen_temps.sh temp_24h 86400 'Temperaturkurve der letzten 24 Stunden' '°C' temp 60 'H:00' 'HOUR:2' 1");

    Einmal editiert, zuletzt von klein2 (12. November 2014 um 18:51)

  • Und hier mein Shell-Script, ohne jede Optimierung bezüglich Performance und sonstigem :(

    Quick & dirty (aber funktioniert!!)

    Da alle Eingangssignale (High an GPIO9 bei mir) mit Timestamp in ein Logfile geschrieben werden (bis zu 5 Zeilen / Sekunde bei mehr Last!) lasse ich die Ausgabedateien nach /var/log schreiben, welches bei mir ein tmpfs ist. Soll die SD-Karte schonen.

    Die erstellte "Webseite" wird durch ein autorefresh im html alle 10s neu geladen, das html-File wird alle 10s neu erstellt (kann aber alles natürlich geändert werden).

    PS: Wer Ideen für Optimierungen hat, bitte per PN. Ansonsten gehts hier zu sehr vom eigentlichen Thema weg ...

    Den optimierten Code kann ich ja dann zu gegebener Zeit wieder posten.


    Zitat

    Noch eine Frage zum Deinem Aufbau, verstehe ich das richtig, dass Du das so gebaut hast?
    Zähler ====[S0-Bus]===== Kabel 1: GPIO8 / Kabel 2: mit 4,7k Ohm Widerstand davor und dann auf den Pin 1 (3,3V)? == Pi


    Genau so habe ich es gemacht
    (bei mir mit GPIO9; da war Plus, Minus und 2 andere GPIO`s in der Nähe und konnten mit 5poligem Pfostenstecker alle abgegeriffen werden (future use))!!

    Einmal editiert, zuletzt von topsurfer (12. November 2014 um 19:32)

  • Kleines update meinerseits:

    Vielen Dank für den Tipp mit dem rrdtool !
    Damit konnte ich (der rrdtool zuvor noch nicht gekannt hatte) innerhalb von 3 Stunden meine "Datenbank" aufbauen und Graphen erstellen lassen, super!!

    Graph(en) müssen noch optisch optimiert werden, aber für den Anfang ...

    BTW: Weiß jemand, ob ich in einem Screen die Kurven von 2 Messwerten rein bekomme (nur unterschiedlicher zeitraum)?
    Also z.B. Energieverbrauch heutiger Tag, und im gleichen "X"-Bereich druntergelegt der Verbrauchsverlauf von gestern? Daten befinden sich natürlich in der gleiche "Datenbank".
    Die Zeitachse also nicht von 24h auf 48 "ausdehnen" sondern in den aktuellen 24h zusätzlich anzeigen!

  • Dann lass eich es erstmal mit 2 Graphen "übereinander" legen, aktuell schauts so aus.
    Zusätzlich ändert sich die Rahmenfarbe für 10s, wenn sich der Verbrauch um 50% nach oben verändert auf "rot"; und auf "Grün", wenn der Verbrach um 50% kleiner wird als der zuletzt ermittelte Wert ;)

    Alles "nur" mit Shell-Script, rrdtool (und einem Apache als Webserver, evtl. steige ich da noch um auf was "kleineres").

  • War fleißig, aus dem reinen Stromzählen wurde "etwas" mehr ...

    Aktuell sind die Wetterdaten der Netatmo-Wetterstation drin und auch die Temperaturwerte der Heizungsanlage sowie ein kleiner "reminder" für die Kinder ...

    Aber es ist noch Platz im Display des neuen 8" CAT Tablets ("for future use ...."), aktuell überlege ich mir die Benzinpreise der 3 Tankstellen in meiner Gegend abzufragen und anzuzeigen ...

  • Hallo
    Finde ich mal toll was ihr hier zusammengebracht habt. War natürlich gleich dabei das script auszuprobieren, funkt auch :) nur leider krieg ich folgende meldung:

    SIGNAL FOUND
    Count=1
    SEC=11
    ActMinute=38; OldMinute=37
    New Minute: Count=1
    MinuteStartExact: 1422661062774039490 ; MinuteLapExact: 142266109192476210
    MinuteDiffExact=29150722618
    ./test.sh: 1: ./test.sh: bc: not found
    KWHMinute =
    ./test.sh: 1: ./test.sh: bc: not found
    Newtime: 1422661091986790481
    (Diff=29156267549 ns)
    KwhLive: kWh
    OldTenSec=4; ActTenSec=1
    New html-file will be generated (OldTenSec=4; ActTenSec=1)
    OldTenSec=4; ActTenSec=1
    *****************
    EDIT:
    Fehler gefunden!
    Hatte das Package bc nicht installiert :(

    Einmal editiert, zuletzt von ghuck (31. Januar 2015 um 18:00)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!