Neues Projekt "Wir bleiben Zuhause" Stromzähler DTZ-541 auslesen. Ich habe mit ein paar Bauteilen einen Datenlogger gebaut. Das ist noch eine Prototyp-Version 0.1 Mit diesen Logger lese ich die Daten aus meinem neuen Stromzähler aus. Genutzt wird die Optoelektronische Schnittstelle. Bauelemente: 1 Fototransistor (den habe ich aus einer IR-Lichtschranke ausgebaut, weil ich keinen separaten Fototransistor hatte. Ich werde mir noch welche zum Testen bestellen.) ein paar Widerstände, Kondensatoren, Kleinteile und einen ESP8266. Funktion: - der ESP empfängt die SML codierten Daten des Zählers und decodiert diese - im ESP werden die Daten decodiert und intern gespeichert - mit WEB-Browser kann man die Daten auslesen - und werden alle 15 min an meinen Raspberry PI gesendet - dieser speichert die Daten in einer DBase - und per PHP kann ich die Daten auslesen Das Projekt soll als eine Anregung fungieren. Es lässt sich auch auf andere Zählertypen erweitern. Ich kann aber nur mit diesen Typen testen. Wer Interesse hat, hier der erste Ansatz dazu (Prototype V 0.1)
:
Bearbeitet durch User
Beitrag #6490328 wurde vom Autor gelöscht.
Hallo Guys, ich habe noch ein paar kleine Änderungen vorgenommen. - Schaltplan korrigiert - momentane Leistung ergänzt - Programm von alten Kommentaren bereinigt (haben sich durch copy and paste eingeschlichen) - die auseinandergebaute Lichtschranke war TCST2000 Bugs habe ich noch nicht gefunden, aufgrund stabiler Funktion seit mehreren Tagen. Übrigens, zur Einrichtung des WLANs habe ich die Routinen von tzapu genutzt. Bei der ersten Einrichtung kann man damit die WLAN-Daten eingeben. Diese brauchen nicht im Programm hinterlegt werden. Im Programm muss derzeit noch die Zieladresse eingegeben werden. Bei mir ist das 192.168.10.32 Also alpha Version 0.2
:
Bearbeitet durch User
Schönes Projekt. Peter R. schrieb: > - mit WEB-Browser kann man die Daten auslesen Bin kein HTML-Profi aber ich denke dein Code erzeugt in einem Browser eine Ausgabe gemäß Bild1.png Mich würde das Programm interessieren, welches die WEB_show.png ausgabe erzeugt.
Beitrag #6490379 wurde vom Autor gelöscht.
Nullblicker schrieb: > Mich würde das Programm interessieren, welches die WEB_show.png ausgabe > erzeugt. Die Ausgabe des Diagramms ist nicht ganz trivial. Voraussetzung ist ein funktionierender WEB-Server mit eingerichteter und funktionirender dbase und PHP. Bei mir ist es ein raspberry pi. Anbei die PHP script's.
Sorry, ich habe noch das Layout und Bilder vergessen anzuhängen.
Danke! Peter R. schrieb: > Die Ausgabe des Diagramms ist nicht ganz trivial. Habe ich mir schon gedacht ;-)
Beitrag #6507206 wurde vom Autor gelöscht.
Hallo Guys, ich habe einige Ergänzungen hinzugefügt. Wie oben geschrieben, neuen Fototransistor getestet. - als Fototransistor kann jetzt der SFH 309FA genutzt werden (Schaltplan angepasst) - CRC16-CCITT zur Daten-Verifizierung einprogrammiert (hat lange gedauert, bis der richtige Wert kalkuliert wurde) CRC16 wird bereits im Datenstrom gebildet und ist somit am Protokollende fertig berechnet - Anzeige der Manufractur und Zähler-ID ergänzt - Programm-Code etwas umorganisiert - Programm-Kommentare ergänzt / korrigiert - Protokoll-Zähler und Fehlerzähler ergänzt (ich war selber über das Ergebnis überrascht) Prototype auf Version 0.9 gesetzt
Super Projekt :-) Ich habe einen SFH 309 FA-4 Phototransistor direkt am Port in Gebrauch und wenn der Richtig ausgerichtet ist kommen keine Error mehr. Leider mag mich der NTPClient nicht und macht beim Kompilieren Fehler Welche Version wird benötigt bzw welche Bibliothek? Danke
Fehler gefunden: Diese Zeile macht Ärger: timestamp = timeClient.getTimestamp() + (MESZ * 3600); // 3600 means add 1 hour for summer-time die Zeile ersetzen mit: timestamp = timeClient.getEpochTime(); Es funktioniert die ganz normale NTPclient Library von Fabrice Weinberg. Habe Version 3.2.0 ausprobiert
Ohh, sorry. Stimmt, ich hatte vergessen zu erwähnen, dass ich in dem NTPclient die Funktion ergänzt hatte... sorry. Weiterhin habe ich das ganze Projekt weitergemacht und hier hinterlegt: www.meinzaehler.info https://infozaehler.de Nur der Programcode steht da nicht mehr. Gruß Peter
Hallo zusammen, hier die aktuelle Softwareversion 3.3 zum Datenlogger für Stromzähler. Update: - LittleFS eingebaut, um individuelle Einstellungsdaten zu speichern - bis zu 3 Stunden Protokollzwischenspeicherung, wenn die Verbindung zum Server unterbrochen ist (Sendeinterval = 15 Minuten) - Unterstützung mehrerer Zählertypen mit automatischer Erkennung(also Umsetzung des Standards) - getestet mit Holley, ISKRA MT941 und Logarex LK13BE - Fehler mit der Zeitsynchronisation behoben. - WEB-Oberfläche überarbeitet - inFluxDb (Grafana) und PHP-script (mySQL) Datenbankunterstützung - und einige Verbesserungen / Ergänzungen Um das Dateisystem zu nutzen, ist es erforderlich in den Tools das littleFS einzubinden. Für die Übergabe in ein PHP script habe ich eine einfache Variante hier mit angefügt. Die sonst notwendigen PHP's sind hier weiter oben hinterlegt. Allerdings ist hier keine Datenverschlüsselung eingebaut. Die Daten gehen per POST (nicht GET) übers Netz zum Server. Steht der Server im eigenen Netz hinterm Router, ist das nicht weiter tragisch. Detaillierte Informationen könnt ihr euch hier erlesen: https://infozaehler.de oder meinzaehler.info Viel Glück beim Update.
:
Bearbeitet durch User
Hallo, Wichtiger Hinweis: Das hier im Beitrag vorgestellte Programm funktioniert mit dem DTZ541 nur bis Baujahr 2019, bzw. Version 1.2 Bei neueren DTZ541 mit der Version 2.0 wird an der Schnittstelle keine Spannungen, Ströme und Frequenz mehr ausgegeben. Auch hat sich das Protokoll geändert. Der Zähler muss auf "Info on" gestellt, damit mit den Ergänzungen hier, wenigstens Zählerstände Auszulesen. Aber Achtung-> die Angaben gelten nur für DTZ541 Version 2.0 ! In der Funktion ändern: //****************** drop values until target value ******************* int dropValues(int actPointer, int drops){ int d=0; if(drops > 0){ for(int i=0; i<drops;i++){ d=dataDTZ[actPointer]; // get value type and length if (d == 0x72) actPointer++; // neu für DTZ541 else { d=d&0x0f; // extract length actPointer += d; // add length to drop value } } } return actPointer; } und die Zeilen ändern (function readValuesOBIS()): DecodeOneValue(SearchOBIS(OBISoutGrid,7),6); FromGrid1 = singleValue; //7 bytes check and drop 7 values until target DecodeOneValue(SearchOBIS(OBISintoGrid,7),6); IntoGrid1 = singleValue; Tja... immer wieder Überraschungen...
Hallo zusammen, ich habe das Programm an diverse Zählertypen angepasst. Getestet mit: Holley BJ 2019 Holley BJ 2020 + EMH ED300L ISKRA MT691 APATOR Norax Logarex LK13 Neu: Anpassung des Scale-Faktors für nicht freigeschaltete Zähler, die nur Werte in kWh liefern (nach Freischaltung Werte in Wh). Ausblendung von Spannungs- und Stromwerten, wenn keine geliefert werden. Zeitsyncronisation nach Spannungsausfall -> jeder Wert vor 1.1.2021 wird aktualisiert. Ergänzung von Zweitarifzähler, allerdings nur bei der Datenübertragung (1.8.0, 1.8.1 und 1.8.2) Für WEMOS oder ähnliche Module muss der Serial.swap() im setup activiert werden. Allerdings wieder alles ohne Datenverschüsselung... sorry mfg infozaehler.de
:
Bearbeitet durch User
Hallo zusammen, hier geht es weiter und es sind die aktuellen Sketche hinterlegt. Beitrag "Digitale Stromzähler auslesen und in DB speichern" Gruß infozaehler.de
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.