Falsche Messwerte bei S0 Stromzähler Auswertung mit Pi Zero 2 in Python

  • Hallo,
    ich habe Probleme bei der Auswertung der S0 Impulse meines Stromzählers. Ich bekomme von meinem Stromanbieter Messdaten geliefert, die nicht mit der Erfassung meines Pis übereinstimmen. Die Messungen Anbieter bekomme ich erst am nächsten Tag, damit habe ich keine Livedaten. An GPIO sind Pin 11 (GPIO17) und Pin 9 (GND) angeschlossen. Wie kann ich dafür sorgen, dass mein Zähler mit dem Zähler vom Stromanbieter übereinstimmt. Was muss ich noch beachten, damit ich keine Messabweichungen erhalten? Können Störsignal entstehen, die fälschlicherweise als Impuls mitgezählt werden?


    Hier ist mein Code auf die wichtigsten Funktionen runtergebrochen. Meine Messungen werden pro Minute durchgeführt und am Ende in eine csv-Datei geschrieben.

  • Falsche Messwerte bei S0 Stromzähler Auswertung mit Pi Zero 2 in Python? Schau mal ob du hier fündig wirst!

  • mbunna Also erst mal sollte da kein global im Programm stehen und kein Code auf Modulebene der was anderes macht als Konstanten, Funktionen, und Klassen zu definieren. Das Hauptprogramm steht üblicherweise in einer Funktion die main() heisst. Konstanten werden per Konvention KOMPLETT_GROSS geschrieben, damit man sie leicht als solche erkennt.

    Was hier fehlt ist die Info ob der Zähler im Code auch wieder zurück gesetzt wird. Da hätten wir dann auch gleich ein Problem: der ist nicht dagegen abgesichert das zwischen dem abfragen und setzen des Wertes beim hochzählen auf 0 zurück gesetzt wird. Das heisst es kann passieren, dass abgefragt wird, der Code im Hauptthread den Wert auf 0 setzt, und dann der um eins hochgezählte Wert die 0 wieder überschreibt. Was nach natürlich zusätzliche Impulse zählt, wenn das zurücksetzen auf 0 mal nicht klappt.

    Ungetestet:

    “The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.”
    — Nathaniel Borenstein

  • __blackjack__ In Dem Fall, wenn nach dem Codeblock nichts mehr geschrieben steht, verwirrt der Codeblock in Deiner Signatur. Das sieht dann irgendwie aus, als würde es dazu / zum Beitrag gehören.

    Wollte ich nur mal geschrieben haben, nicht dass es dem TO auch so geht wie mir gerade. :biggrin:

  • Hier ist mein Code auf die wichtigsten Funktionen runtergebrochen.

    Heißt dass, das wenn du den Code, den du hier zeigst, ausführst, die Messungen nicht übereinstimmen? Wie weichen die ab? Immer um einen konstanten Faktor? Wird nicht jeder Impuls gezählt? Für mich ist das noch etwas zu allgemein formuliert.

    Ich denke auch, es wäre besser, den vollständigen Code zu sehen.

    Grüße
    Dennis

    🎧 Hate the jocks, the preps, the hippie fuckin' scumbags.
    Heavy-metalers with their awful, pussy hairbands.
    Counting seconds until we can get away.
    Ditching school almost every single day, oh, yeah 🎧

  • Moin,

    In welche "Richtung" gehen die Abweichungen? Sind deine Messungen höher? Du fragst, ob Störimpulse mitgezählt werden könnten? Ich würde dann einen Kondensator 10 - 50 nf über GPIO 17 und 9 anschließen, um Prellen zu vermindern. Evtl. ist auch eine Abfrage via IRQ sinnvoll, weil du dann auswählen kannst, ob der Impuls bei der ansteigenden oder abfallenden Flanke ausgelöst werden soll.

    Es wäre gut, wenn du mal deinen ganzen Code postest.

    Gruß

  • S0-Impulse?

    Wie viele hat der Zähler pro kWH? Denn wenn das für den PI zu viele sind, die durch deinen verbrauch ankommen, kann es sein,d ass der Pi sich verschluckt.


    Ist es nicht besser, wenn du über einen definierte Schnittstelle (in Deutschland die 'optische Taste", die PIN muss der Messstellenbetreiber rausrücken)), regelmäßig, also all 15 Sekunden oder so, den echten Wert vom Zähler geleifert bekommst? Dann ist es auch egal, wenn du mal zwei, drei 10 Stunden, keine Zahlen bekommst. es fehlt dir zwar der Verlauf in dieser Zeit, doch die Verbrauchssumme hast du sicher.

    BerndSchmitz
    September 1, 2025 at 10:15 PM

    Oder auch andere Seiten im Internet ;)


    Wenn du einen mechanische Zähler hast, kannst du überlegen, ein ESP mit AI-on-the-Edge zu verwenden.

    GitHub - jomjol/AI-on-the-edge-device: Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world
    Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world - jomjol/AI-on-the-edge-device
    github.com

    Hier wird der Zähler per Foto ausgelesen (kann man also auch für Gas- und Wasserzähler nehmen) und das Bild per 'AI' in eine Zahl umgewandelt, die du dann für die verschiedensten Home-Automation-Systeme weiterverwenden kannst.

    Computer ..... grrrrrr

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!