privates Smart Metering zu Hause

  • Hallo zusammen

    seit geraumer Zeit arbeitet ein PI bei mir als Smart-Meter Center

    Programmiert habe ich das in Python.

    Bislang hatte ich drei TCRT5000 im Einsatz

    Der TCRT5000 wird an den PI einfach angeschlossen mit Breadboard Kabeln, die beidseitig weiblich sind.Er sendet ein Licht per LED und empfängt es zugleich auf einer parallel liegenden Foto-LED.Also klassisch eine Reflexlichtschranke im nicht sichtbaren Licht Bereich.

    Die TCRT5000 habe ich in einen alten Deckel von Saftflaschen heiss geklebt.

    Einen für Gas, einen für Wasser und einen für Strom.

    Wasser war einfach, da gibt es einen kleinen Zeiger, der nun abgefragt wird.

    Gas war auch einfach, da die letzte Stelle im Rollenzählwerk in der 6 ein Loch hat.

    (Reedkontakt bei Gas funktionierte leider nicht sooo gut - da hab ich dann drauf verzichtet)

    Der alte Ferraris-Stromzähler ging so halbwegs, weil man die Ferraris-Scheibe gut treffen muss.

    Die Lichtschranke wird so mit der Kreuzschraube einjustiert, dass sie grade eben so nicht den Reflex bekommt.

    Das erkennt man an einem grünen LED am TCRT5000 (das rote LED, zeigt dass er Strom hat).

    Also: Schraube drehen, so lange bis die grüne LED aus ist.

    Wenn der Zeiger an der Wasseruhr oder das Loch in der 6 an der Gasuhr "vorbeischaut" zeigt die LED kurz grün an.

    Beim Stromzähler ist es umgekehrt.

    Da wird der TCRT5000 so eingestellt, dass in montiertem Zustand die grüne LED so grade an ist.

    Die silberne Ferraris-Scheibe reflektiert also, und wenn an ihr der rote Strich vorbeischaut geht die grüne LED kurz aus.

    So viel dazu. Nun war es soweit, dass ein elektronischer Zähler des EVU montiert wurde.

    Der hat eine Datenschnittstelle: auf die hatte ich keinen Bock

    Und er hat ein IR LED, die pro 0,1 Watt aufblitzt.

    Das steht sogar drauf = 10.000 Impulse pro kWh.

    Nun am Ende war es einfach. Ich habe den TCRT5000 gegen einen KY-022 IR Empfänger getauscht. Den habe ich vor die sende LED gebracht und fertig.

    Mechanisch habe ich mit Heisskleber einen kleinen Metallstreifen auf den Zähler geklebt.

    Den KY-022 habe ich in ein Winkelstück Stahl (von Ikea :) ) gesteckt und mit einem Magnete ausjustiert und fixiert.

    Die Ferraris Scheibe drehte sich pro kWh 96 mal: so stand es auf dem Zähler.

    Also musste das Python Script noch geändert werden. Am Ende war das aber alles ein Klacks.

    Falls von Interesse, kann ich die Python Scripte in Auszügen bereitstellen.

    Da Telegram und Thingspeak Teile enthalten sind, ist das Gesamtscript recht lang.

    Daher würde ich nur als Ansatz die Auszüge zeigen wollen.

    Anbei einige Fotos der Sensoren und Zähler.

    Vielleicht hift es dem Einen oder Anderen ja, die auch bald einen neue Stromzähler bekommen.

  • Ich war erstaunt wie einfach du die Wasseruhr auslesen kannst, es existieren dazu andere, weitaus aufwendigere, Lösungen, die den Zählerstand per Kamera auslesen. Ich habe jetzt gesehen, daß dieser Itron Zähler eine Reflektorplatte auf dem kleinen Zeiger hat, diese haben jeodch viele Wasseruhren nicht. Da läuft z.B. ein roter Kunsstoffzeiger über einem weißen Kunsstoffzifferblatt. Damit ist dann deine einfache Lösung sicherlich nicht möglich. Auch Wasseruhren anderer Hersteller haben diese Reflektorplatte, meine hat sie leider nicht. :(

  • Hi, Layer-0;

    nur mal aus eigenem Interesse:

    Vor Jahren hatte Ich meinen Wasserzähler nach dem gleichen Prinzip auslesen wollen (Reflektierende silberne Fläche).

    Das Erfassen des Vorbeiziehens funktionierte auch wunderbar.

    Aaaaber: Ab und zu kam es vor, dass der Zeiger exakt an einer 50/50-Position stehen geblieben ist und so ein "flackerndes" Signal entstand, was also einen Riesen-Verbrauch vorgegaukelt hat :neutral:

    -Hast Du das bei deinem System noch nicht gehabt?

    (Meine Idee war damals, zusätzlich eine zweite Reflex-Einheit anzubringen, leider hat mein Wasserversorger aber dann einen neuen Zähler installiert, bei dem Ich noch kein Auslesesystem hinbekommen habe)

    Good Night;

    rasray

  • Hallo zusammen,

    wundert mich in der Tat, dass ihr eher Probleme mit der Wasseruhr habt, als mit dem Strom.

    Ich für meinen Teil würde auch denken, dass es völlig egal ist, ob ein Zeiger einer Wasseruhr eine reflektierende Markierung hat oder nicht.

    Der Zeiger an sich reflektiert ja schon anders, als sein Hintergrund. Das kann man dich in der Sensitivität einstellen an dem Sensor.

    Der fertige TCRT5000 ist daher m.E. extrem gut geeignet.

    Was mir aufgefallen ist: die LED müssen immer so nah wie möglich am Glas sein (also direkt auf der Abdeckscheibe sozusagen).

    Bzgl. des stehenbleibenden Zeigers: diese extrem "flackernden" Signale kann man mit der Software sicher abfangen.

    Das habe ich nur rudimentär: ich habe eine Schwelle pro Minute definiert, die als Obergrenze gilt.

    Das heißt aber in dem Fall, wie @rasay ihn beschreibt einen konstanten Verbrauch in der Höhe der Schwelle.

    Aber auch das könnte man "abfangen" im Code.

    Wenn man Bock drauf, wäre die finale Lösung sicher ein zusätzlicher Zähler der durch einen Installateur nach der Wasseruhr des EVU montiert wird.

    Grohe bietet da m.W.n. sogar ein (recht teures) System mit App und Notabschaltung usw. an.

  • Zitat

    wundert mich in der Tat, dass ihr eher Probleme mit der Wasseruhr habt, als mit dem Strom.

    Mein Stromzähler hat halt eine schöne Schnittstelle, die dem Pi ein wunderbares Signal liefert, während der neue Wasserzähler so abgekapselt ist, dass man wirklich nur noch die "Zahlenrollen" sehen kann. Die Kamera-Lösung war mir dafür -bis jetzt- zu aufwändig.

    Zitat


    Gas war auch einfach, da die letzte Stelle im Rollenzählwerk in der 6 ein Loch hat.

    Hmm, da habe Ich noch nicht darauf geachtet. Reicht dieser minimale Reflex-Unterschied schon aus, um ein verlässliches Signal zu bekommen?

  • Mein Stromzähler hat halt eine schöne Schnittstelle, die dem Pi ein wunderbares Signal liefert, während der neue Wasserzähler so abgekapselt ist, dass man wirklich nur noch die "Zahlenrollen" sehen kann. Die Kamera-Lösung war mir dafür -bis jetzt- zu aufwändig.

    Hmm, da habe Ich noch nicht darauf geachtet. Reicht dieser minimale Reflex-Unterschied schon aus, um ein verlässliches Signal zu bekommen?

    grundsätzlich sind diese optischen Methode nicht 100% zuverlässig,

    aber sie sind recht gut

    heisst: abgesehen von mal einigen Ausnahmen, geben die Werte zu Verbräuchen und vor allem den Zeiten und Kurven eine sehr sehr gute Indikation

    Die Abweichungen, die ich habe wenn ich die Sensorsignale addiere und den Stand der Wasseruhr oder Gasuhr vergleiche, sind gering, aber halt vorhanden.

    Theoretisch sollte es 100% passen. Ich gehe heute eher von einer Perfomance-Ursache am PI aus oder in dem Python Script.

    Sicher, wartet das Script, wenn es auf Thingspeak schreibt oder Telegram liest/empfängt und bekommt in dieser Millisekunde eventuell die Sensormeldungen nicht mit. Die Frage, die ich mir stelle, ist ob mein PI zero da überlastet ist und ein normaler PI (zB 4) genauer arbeitet. Aber ich vermute, dass die delays zum www hin nicht durch einen PI4 verbessert werden.

    Einmal editiert, zuletzt von Layer-0 (5. September 2022 um 17:16)

  • Hallo Layer-0,

    Ich bin auf der Suche nach einer Möglichen Protokollierung des Stromzählers auf deinen Beitrag gestoßen.Besonders interessieren würden mich die Pythonscripte die du dafür entwickelt hast.Ich selber habe schon verschiedenes in Python bzgl. Verarbeitung von Daten programmiert,allerdings noch nie mit der Verarbeitung von solchen Signalen.Wäre es möglich dein Script zu bekommen?

    Vielen Dank vroab

Jetzt mitmachen!

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