So hab mal ausgedruckt, soweit passt alles wie ich mir das vorstelle
Brauche aber noch den Magneten und den Fototransistor
So hab mal ausgedruckt, soweit passt alles wie ich mir das vorstelle
Brauche aber noch den Magneten und den Fototransistor
Hi.
Ich wollte mal prüfen ob mein Zähler einfach ausgelesen werden kann, ohne dass man Daten senden muss.
Ich habe ja bereits einen Raspberry PI mit Volkszähler am laufen und an diesem hängt ein IR-Schreib/Lesekopf mit USB-Anschluss.
Ich habe die Sendediode mal abgeklebt und die Daten werden immer noch geloggt, funktioniert also ohne Daten über Diode zu senden.
Ich musste damals nur über eine Taschenlampe und ne PIN den Zähler freischalten.
Es sollte also alles so funktionieren wie ich es vorhabe mit der Fotodiode und dem Wemos D1 Mini.
Jetzt zur Konfiguration des Scripts.
Ich habe mal geschaut wie mein vzlogger konfiguriert ist.
Kann damit jemand was anfangen?
Mit der folgenden Konfiguration zeigt der meinen aktuellen Stromverbrauch an.
},
"meters" : [
{
"protocol" : "sml",
"enabled" : true,
"allowskip": true,
"device" : "/dev/ttyUSB2",
"parity" : "8N1",
"baudrate" : 9600,
"aggtime" : -1,
"aggfixedinterval" : true,
"channels": [{
"uuid" : "3f2019d0-a0cf-11e9-9a4d-0d77298f96ce",
"middleware" : "http://localhost/middleware.php",
"identifier" : "1-0:1.8.0",
"aggmode" : "MAX"
}]
},
Alles anzeigen
Alles anzeigenHi.
Ich wollte mal prüfen ob mein Zähler einfach ausgelesen werden kann, ohne dass man Daten senden muss.
Ich habe ja bereits einen Raspberry PI mit Volkszähler am laufen und an diesem hängt ein IR-Schreib/Lesekopf mit USB-Anschluss.
Ich habe die Sendediode mal abgeklebt und die Daten werden immer noch geloggt, funktioniert also ohne Daten über Diode zu senden.
Ich musste damals nur über eine Taschenlampe und ne PIN den Zähler freischalten.
Es sollte also alles so funktionieren wie ich es vorhabe mit der Fotodiode und dem Wemos D1 Mini.
Jetzt zur Konfiguration des Scripts.
Ich habe mal geschaut wie mein vzlogger konfiguriert ist.
Kann damit jemand was anfangen?Mit der folgenden Konfiguration zeigt der meinen aktuellen Stromverbrauch an.
Code Alles anzeigen}, "meters" : [ { "protocol" : "sml", "enabled" : true, "allowskip": true, "device" : "/dev/ttyUSB2", "parity" : "8N1", "baudrate" : 9600, "aggtime" : -1, "aggfixedinterval" : true, "channels": [{ "uuid" : "3f2019d0-a0cf-11e9-9a4d-0d77298f96ce", "middleware" : "http://localhost/middleware.php", "identifier" : "1-0:1.8.0", "aggmode" : "MAX" }] },
Ich bin ein wenig verwirrt, das hatten wir doch alles schon auf der vorherigen Seite geklärt gehabt.
Maus dem vz Code gewinnst du keine neuen Erkenntnisse.
Zumindest nicht aus dem Stück. Du brauchst die Zeilen die so in etwa aussehen wie in den Beispielen.
https://wiki.volkszaehler.org/software/sml
Vergleiche zb. Die Zeilen dort mit denen des gleichen Zähler Beispiels aus dem Tasmota Wiki. (Hab ich auf der vorherigen Seite irgendwo gepostet.)
Ziehe daraus deine Schlussfolgerung, wie du deine strings anpassen musst für den esp, solltest du sie im vz Code finden. ist nicht schwer!
Wie gesagt: Zähler Beispiel von VZ mit gleichem Zähler von dem Tasmota Wiki vergleichen und seine Schlüsse ziehen.
Hi, habe jetzt mal alles angeschlossen aber auf der Konsole kommt leider nix an
Habe den Fototransistor an RX und GND und zwischen RX und 3,3V ein 1k Widerstand.
Muss ich in Tasmota unter "Einstellungen->Gerät konfigurieren" eigentlich noch irgendwas einstellen an den GPIO-Ports?
Habe da nämlich nix eingestellt.
PS: Ich glaube ich muss bei GPI3 Serial IN doch SML auswählen? Die Einstellung habe ich aber garnicht, obwohl ich die Firmware kompiliert und geflasht habe. Dann stimmt wahrscheinlich was mit meiner selbst kompilierten FW nicht?
So, habe es endlich hinbekommen. Habe es auf GPIO13 bzw. D7 geändert dann ging es.
Außerdem hatte ich Probleme mit den Steckverbindungen auf dem Prüfboard, also habe ich alles verlötet.
Und jetzt funktioniert es
Das einzige was mich jetzt noch interessieren würde, ob man den aktuellen Verbrauch noch auf die einzelnen 3 Phasen aufschlüsseln kann.
So, habe es endlich hinbekommen. Habe es auf GPIO13 bzw. D7 geändert dann ging es.
Außerdem hatte ich Probleme mit den Steckverbindungen auf dem Prüfboard, also habe ich alles verlötet.
Und jetzt funktioniert es
Das einzige was mich jetzt noch interessieren würde, ob man den aktuellen Verbrauch noch auf die einzelnen 3 Phasen aufschlüsseln kann.
Frohes Neues!
Bzgl. RX könntest du deine Schaltung mal variieren. Also andere Widerstände verwenden. Statt 1K mal 4,7k,10k,47k,100k oder auch kleiner unter 1K probieren oder ganz ohne!
In den Geräte Einstellungen müssen alle GPIO s auf none stehen. Außer du hast da natürlich irgendeinen anderen Sensor angeschlossen. Aber für den sml Treiber brauchst du dort überhaupt nichts einstellen.
Wie bereits erwähnt kannst du die empfangenen Daten auslesen indem du: Sensor53 d1
In der webconsole eintippst.
anhand dieser Daten kannst du mal schauen was dein Zähler überhaupt liefert.
diese Daten musst du dann mal vergleichen mit den Daten die vielleicht im vz Forum findest. Oder allgemein unter sml Daten deines Zählers im Internet zu finden sind. Ansonsten durch probieren selbst rausfinden, was für Zahlen das wohl sind die du dort empfängst.
Damit in der webgui wieder was zu sehen ist, Bzw Daten aktualisiert werden, musst du erst in der webconsole den dumplog mit: Sensor53 d0
Deaktivieren.
Evtl steht im Handbuch deines Zählers welche Daten er liefern kann. Vielleicht sogar die sml strings.
Viel Erfolg.
So, habe es endlich hinbekommen. Habe es auf GPIO13 bzw. D7 geändert dann ging es.
Glückwunsch, biste schon weiter als ich. Habe heute die Anleitung und PIN für meinen Zähler erhalten.
Was hast du in GPIO13 eingetragen ? ( (Serial RX 149)
Mein Zähler:
Stromzähler typ DZG_DVS74
unidirektionale optische Schnittstelle SML; DIN EN 62056-21
Pos 3.
OBIS Code
OBIS Code des angezeigten Zählerstandes
Der OBIS Code des aktiven Tarifregisters ist unterstrichen.
Bei der FW steht bei mir auch OBIS und nicht SML. Kann mir das einer erklären ?
Bin da etwas verwirrt.
Hoffe noch das der Fototransistor endlich kommt.
In den Geräte Einstellungen müssen alle GPIO s auf none stehen. Außer du hast da natürlich irgendeinen anderen Sensor angeschlossen. Aber für den sml Treiber brauchst du dort überhaupt nichts einstellen.
.
Wo schliesse ich dann den Fototransistor an ?
Einen Eingang wird doch benötigt.
Wo schliesse ich dann den Fototransistor an ?
Einen Eingang wird doch benötigt.
Den definierst du im Script.
sonst musst du nichts einstellen.
Offtopic:
Wie ich schon 20 mal erwähnte. Bitte lest euch die letzten Seiten durch. Da sind super viele Links und Tipps.
Es ergibt keinen Sinn und macht keinem Spaß immer wieder aufs Neue die Grundlagen zu erklären. Es gibt von meierchen006 und auch von mir Erklärungen zum Treiber/Script und auch zum Kompilieren mit Visual Studio. Des Weiteren ist die neue und vor allem auch alte Github Wiki Seite von Tasmota eine gute Anlaufstellen.
Es geht nicht darum, dass hier niemand gewillt ist zu helfen, aber eine gewisse Eigeninitiative sollte schon vorhanden sein. Und das betrifft gerade diese immer wiederkehrende Fragen gestellt werden die oft 2 Beiträge früher schon erläutert wurden.
Sollte ich wieder etwas mehr Zeit haben, werde ich eine Zusammenstellung mit links zu den betreffenden Beiträgen und Erklärungen etc. Posten, auf den man dann verweisen kann.
Aktuell kann ich nur empfehlen die letzten 10-15 Seiten zu lesen und dort das wichtigste für sich rauszuziehen.
Stellt gerne eure Fragen, aber bitte erst nachdem ihr die SuFu benutzt habt oder im Wiki nachgesehen habt.
Das Beiträge von den ersten Seiten dieses Threads nicht mehr aktuell sind, sollte jedem klar sein.
Dennoch gibt es auf den ersten Seiten evtl. Zählerdaten die gepostet wurden, die einem nach einer Anpassung für die aktuelle Version evtl. auch jetzt noch hilfreich sein können.
Viel Erfolg!
@sunburst: Die Anleitungen sind alle gut gemeint, aber als Laie ist es wirklich nicht einfach das alles hinzubekommen. Man muss sich an sehr vielen verschiedenen Stellen die Infos zusammensuchen. Wenn ich Zeit hätte würde ich es mal zusammenfassen damit alles etwas einfacher ist.
Ich fasse für Neulinge nur mal das wichtigste kurz Zusammen, damit man einen Gesamtüberblick hat was gemacht werden muss, der fehlte mir irgendwie nämlich. Irgendwie hat mir der rote Faden gefehlt der von A bis Z durchführt.
Bei Gelegenheit aktualisiere ich die Übersicht hier auch mal und fasse besser zusammen, im Moment nur mal eine grobe Übersicht damit Neulinge es leichter haben.
1. Hardwarteil
benötigte Hardware
- 1x Wemos D1 Mini
- 1x Phototransistor (z.B. BPW78A)
- 1x 1 kOhm Widerstand (oder anderer Widerstand bis zu 4,7 kOhm)
- etwas Draht
- etwas Isolierband
- optional 3D-Druck Gehäuse (https://www.thingiverse.com/thing:4071773)
Das Ganze wie auf dem Bild zusammen Löten.
Statt dem RxD-Pin empfehle ich auf dem Wemos Board GPIO13 bzw. D7, jedenfalls hat es dort bei mir funktioniert und beim RxD nicht.
2. Softwareteil
Ablauf
- aktuellen Quellcode von Tasmota anpassen damit die SML-Treiber integriert sind (https://github.com/arendst/Tasmota) -> Guide für Anpassungen in Post #697
- Firmware kompilieren (Seite 36-46) -> als Compiler empfehle ich GitPod -> für Chrome die Erweiterung Gitpod Online IDE installieren, dann bekommt man auf Github einen zusätzlichen Button und man kann den Quellcode direkt mit dem Addon öffnen und online bearbeiten und compilieren (keine Softwareinstallation notwendig)
- am Ende kompilieren mit platformio run -e wemosd1-DE (oder platformio run -e tasmota)
- Firmware auf den Wemos D1-Mini flashen (z.B. mit ESPFlash)
- über das Tasmota Webinterface unter dem Punkt "Konsole" schauen ob überhaupt Daten gelesen werden -> "sensor53 D1" eingeben
- wenn Daten geliefert werden und alles funktioniert -> "sensor53 D0" eingeben, damit die Daten vorne im Webinterface angezeigt werden können
- unter Einstellungen->Script konfigurieren das passende Script für den jeweiligen Zählertyp einfügen
- danach sollten die Daten vorne im Webinterface angezeigt werden
Beispiel:
Alles anzeigenGlückwunsch, biste schon weiter als ich. Habe heute die Anleitung und PIN für meinen Zähler erhalten.
Was hast du in GPIO13 eingetragen ? ( (Serial RX 149)
Mein Zähler:
Stromzähler typ DZG_DVS74
unidirektionale optische Schnittstelle SML; DIN EN 62056-21
Pos 3.
OBIS Code
OBIS Code des angezeigten Zählerstandes
Der OBIS Code des aktiven Tarifregisters ist unterstrichen.
Bei der FW steht bei mir auch OBIS und nicht SML. Kann mir das einer erklären ?
Bin da etwas verwirrt.
Hoffe noch das der Fototransistor endlich kommt.
Die einzelnen GPIOs müssen im Webinterface von Tasmota nicht konfiguriert werden.
Man muss bei GPIO nichts eintragen.
Welcher GPIO-PIN für den Fototransistor benutzt wird, wird über das Script definiert (siehe roter Kreis)
Die Änderungen der Anzeige von OBIS auf SML kommt erst, wenn du das Script eingetragen hast.
Hallo, ich habe mich gerade registriert, weil ich mich frisch in die Materie smart meter einlese und in einer Sackgasse stecke:
Das Problem: Zwei Stromzähler, der erste funktioniert, der zweite sendet keine Daten.
Die Gegebenheiten:
Tasmota 8.1.0, konfiguriert entsprechend der Vorgaben.
Der erste Zähler hängt optisch an RX, der zweite an D6 (GPIO12)
Nachdem der erste Zähler funktionierte, habe ich das Skript in Tasmota wie folgt erweitert:
>M 2
+1,3,s,0,9600,SML
+2,12,s,0,9600,SML
...
Wenn ich sensor53 D1 eingebe, kommen die Daten des ersten Zählers, wenn ich sensor53 D2 eingebe, kommt gar nichts, wenn ich sensor53 D3 eingebe, kommen die Daten des ersten Zählers (?).
Folgende Fragen habe ich:
Ich wäre über jede Anregung, - auch um weiter zu prüfen -, dankbar. Mein Gedanke bisher ist, dass SoftwareSerial nicht funktioniert, weil ich es möglicherweise nicht "aktiviert" habe? Ich habe aber keine Idee, wie ich das dahingehend prüfen kann, noch eine Ahnung, wie ich SoftwareSerial in den Tasmota Sourcen aktivieren muss.
Weiterhin Hochachtung an all jene, die in diesem Thread aktiv sind. Neben mir gibt es bestimmt Hunderte weitere "passive" Leser, in deren Sinne ich mich bedanken möchte.
ich sehe gerade, dass ich das etwas unscharf formuliert habe: Der zweite Zähler sendet natürlich, nur der wemos d1 empfängt nicht. Habe den sensor (bpw40) an den anderen Zähler gehängt, klappt prima.
Also: der Sensor, der an RX hängt, funktioniert, der andere nicht. Habe auch den Sensor selbst getauscht, daran liegt es nicht. Es muß also ein SW Problem sein.
LG
Bulli
ich sehe gerade, dass ich das etwas unscharf formuliert habe: Der zweite Zähler sendet natürlich, nur der wemos d1 empfängt nicht. Habe den sensor (bpw40) an den anderen Zähler gehängt, klappt prima.
Also: der Sensor, der an RX hängt, funktioniert, der andere nicht. Habe auch den Sensor selbst getauscht, daran liegt es nicht. Es muß also ein SW Problem sein.
LG
Bulli
Hast du an dem zweiten Zähler bzw. Fototransistor einen Pullupwiderstand?
Nein. Ich habe geglaubt, dass das genauso wie mit dem ersten Sensor geht.
Fuktionierender Sensor zw. GND und Rx.
Nicht funtkionierender Sensor zw. GND und D6.
Ich werd denn pullup nächstes WE mal dazwischen schalten. Vorher komm ich leider nicht dazu.
Danke für den Tipp, ich meld mich mit Feedback.
Wird wohl daran liegen.
Zwischen GND und RX ist glaube ich schon ein Pullup drin, deswegen funktioniert es da wahrscheinlich ohne.
....
Allerdings habe ich doch starke Abweichungen beim Verbrauch. Mein via IR Transistor ausgelesener Q3B hat über 24h fast 1kW mehr Verbrauch auf der Uhr als es der SBC hat.
Im Allgemeinen würde ich sagen, dass die Janiza oder auch SDM Geräte genauer auflösen.
Wie sind deine Erfahrungen damit?
Hi Sunburstc,
Kann nun was zu den Abweichungen sagen: in beiden Fällen liegt die bei etwas über 1%, in beiden Fällen zählen die Ferrariszähler des Versorgers etwas mehr. Die SAIA's sind mit Genauigkeitsklasse B oder 1 (je nach Norm) angegeben, nach dem was ich so gefunden habe sind das +/-1%. Die Ferraris sind Klasse 2, habe auf die Schnelle keine Infos gefunden was das bedeutet.
Die Abweichungen scheinen demnach also im Limit zu liegen (über mittlerweile 490 und 270 kWh gemessen).
Und mal ganz allgemein (z.B. mafrei Ihr könnt Euch die originalen Quellen vom Tasmota runterladen, ist im Moment 8.1. Der SML Treiber ist da drin. Ihr müsst natürlich die userconfig anpassen.
Das Git von GEMU ist eine Entwicklerversion, für den Einsteiger vielleicht etwas schwieriger zu handhaben. Der Treiber scheint ja mittlerweile fix zu sein.
: Ihr könnt Euch die originalen Quellen vom Tasmota runterladen, ist im Moment 8.1. Der SML Treiber ist da drin. Ihr müsst natürlich die userconfig anpassen.
Das Git von GEMU ist eine Entwicklerversion, für den Einsteiger vielleicht etwas schwieriger zu handhaben. Der Treiber scheint ja mittlerweile fix zu sein.
Das habe ich gemacht dank Atifan bin ich ein großes Stück weiter. SML sehe ich nun aber noch ohne Daten.
Bei der Eingabe von sensor53 erhalte ich noch eine Fehlermeldung. Muss da erst nochmal suchen.
Habe mal mit dem versprochenen Dokument begonnen.
Es ist noch nicht fertig, jedoch möglicherweise für den ein oder anderen eine Hilfe.