NEWS
Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler
-
Hallo zusammen,
habe mir nun einen Schreib- / Lesekopf zusammengebaut, scheitere aber leider am weiteren Vorgehen.
Vielleicht kann mir ja jemand hier weiterhelfen.
Speziell geht es um den Lesekopf in Verbindung mit NodeMCU.Leider habe ich auch nach langem suchen nicht herausgefunden:
- Wie genau verkabelt wird
- Wie die Tasmota-Firmware für die NodeMCU angepasst werden muss, damit ich über OBIS auslesen kann
- Flashen der NodeMCU hat leider auch noch nicht funktioniert (sollte doch direkt über USB gehen ohne z.B. Arduino Board?!)
Und zu guter letzt: Am Stromzähler sehe ich mit meiner Handykamera leider kein Blinken der LED. Muss ich die Funktion erst irgendwie am Zähler selbst freischalten lassen? Oder "aktiviert" der Lesekopf erst die Ausgabe am Stromzähler?
Evtl hat ja jemand die Zeit und Geduld mir im Chat etwas unter die Arme zu greifen :)
Danke im Voraus! -
Hallo zusammen,
habe mir nun einen Schreib- / Lesekopf zusammengebaut, scheitere aber leider am weiteren Vorgehen.
Vielleicht kann mir ja jemand hier weiterhelfen.
Speziell geht es um den Lesekopf in Verbindung mit NodeMCU.Leider habe ich auch nach langem suchen nicht herausgefunden:
- Wie genau verkabelt wird
- Wie die Tasmota-Firmware für die NodeMCU angepasst werden muss, damit ich über OBIS auslesen kann
- Flashen der NodeMCU hat leider auch noch nicht funktioniert (sollte doch direkt über USB gehen ohne z.B. Arduino Board?!)
Und zu guter letzt: Am Stromzähler sehe ich mit meiner Handykamera leider kein Blinken der LED. Muss ich die Funktion erst irgendwie am Zähler selbst freischalten lassen? Oder "aktiviert" der Lesekopf erst die Ausgabe am Stromzähler?
Evtl hat ja jemand die Zeit und Geduld mir im Chat etwas unter die Arme zu greifen :)
Danke im Voraus!@baeri Servus.
Also der Anschluss an den ESP ist easy. VCC an +3,3V und GND an GND. TX und RX an zwei freie GPIO die müssen dann später im Skript definiert werden.
Wie die Firmware angepasst und geflashed wird habe ich hier beschrieben: https://forum.iobroker.net/topic/27999/stromzähler-per-sonoff-esp8266-auslesen
Vermutlich musst du deinem Zähler eine Eröffnungssequenz schicken damit er die Daten ausgibt. Nicht alle Zähler spucken die Daten freiwillig aus. Dazu wär es gut zu wissen was du für einen Zähler verbaut hast.
Gruß Jaschkopf
-
Ich habe einen "Apator 12EC3g". Der spuckt anscheinend OBIS aus, die Anleitung ist für SML. Bin mir nicht sicher, ob da was anderes eingestellt werden muss.
@baeri der Zähler spuckt die Daten definitiv nicht freiwillig aus. Dazu musst du eine startsequenz im Skript definieren die dann alle X Sekunden mit 300baud gesendet wird. Darauf sollte der Zähler eigentlich antworten und Daten ausspucken. Allerdings gibt er dann auch nur die aktuellen Zählerstände aus.
Ob SML oder OBIS muss in der Firmware nicht eingestellt werden. Das wird dann später auf der Weboberfläche im Skript gemacht. Da wird auch die Baudrate, Startsequenz, Rx/Tx Pins definiert.
Gruß Jaschkopf
-
Hey,
hat jemand den Logarex LK13BD im Einsatz und kann zu dem Zähler etwas sagen? Ich habe noch einen nodeMCU und einen TCRT5000. Kann ich den für mein Vorhaben verwenden?
Danke im Voraus :)@fanavity sagte in Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler:
TCRT5000
Der geht zumindest im Empfangspfad, das habe ich schon getestet. Bei den fertigen boards eine ähnliche Modifikation wie ich sie ein paar Posts ober bei den einfachen Empfängern geschrieben habe.
Habe auch mal an einen solchen Board den Sensorpfad mit einem BC327 PNP Transistor und 2 Widerständen so modifiziert, daß er wie ein Volkszähler Schreib-Lese-Kopf funktionieren sollte.
Testen konnte ich das in Ermangelung eines D0-fähigen Zählers allerdings leider nicht. -
@klassisch said in Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler:
@fanavity sagte in Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler:
TCRT5000
Der geht zumindest im Empfangspfad, das habe ich schon getestet. Bei den fertigen boards eine ähnliche Modifikation wie ich sie ein paar Posts ober bei den einfachen Empfängern geschrieben habe.
Habe auch mal an einen solchen Board den Sensorpfad mit einem BC327 PNP Transistor und 2 Widerständen so modifiziert, daß er wie ein Volkszähler Schreib-Lese-Kopf funktionieren sollte.
Testen konnte ich das in Ermangelung eines D0-fähigen Zählers allerdings leider nicht.Ich habe die beiden Dioden vom TCRT5000 ausgelötet und direkt am NodeMCU angeschlossen. Die vom "Sender" habe ich die Anode an 330Ohm und dann an 3,3V und die Kathode an GPIO14 angeschlossen. Damit blinkt diese alle paar Sekunden kurz auf. Den "Empfänger" habe ich Emitter an GNG und Collector an 4,7k -> 3V und Collector an RX.
Das Gehäuse der beiden LEDs hatte genau den richtigen Abstand, daher habe ich das weiterverwendet. Einen passenden Ringmagnet hatte ich noch liegen. Also habe ich mir kurz ein Gehäuse erstellt und gedruckt. Das passt soweit ganz gut. Also wenn ich es ans laufen bekomme wäre der TCRT5000 eine echt gute und günstige Variante einen Einheit zu bauen. Alternativ hätte ich hier noch einige BPW78A liegen.Mein Script sieht wie folgt aus:
>D >B =>sensor53 r >M 1 +1,3,o,0,300,STROM,14,30,2F3F210D0A,063035310D0A 1,1-0:1.8.1*255(@1,TotalIN,KWh,Total_in,4 #Das bringt mir folgendes Ergebnis:
07:03:09 MQ/LOG4LK13BD202015 07:03:10 : 07:03:22 : /LOG4LK13BD202015 07:03:22 : 07:03:33 WI/LOG4LK13BD202015 07:03:33 : 07:03:45 : /LOG4LK13BD202015 07:03:45 : 07:04:02 WI/LOG4LK13BD202015 07:04:02 : 07:04:14 WI/LOG4LK13BD202015 07:04:14 : 07:04:25 : /LOG4LK13BD202015 07:04:25 : 07:04:37 WI/LOG4LK13BD202015 07:04:37 : 07:04:54 WI/LOG4LK13BD202015 07:04:54 : 07:05:06 : /LOG4LK13BD202015 07:05:07 WI 07:05:17 : /LOG4LK13BD202015 07:05:17 : 07:05:30 WI/LOG4LK13BD202015 07:05:30 : 07:05:47 WIF: Prüfe V202015 07:05:47 : 07:05:59 : /LOG4LK13BD202015 07:05:59 : 07:06:10 WI/LOG4LK13BD202015 07:06:10 :Ich habe es schon mit und ohne ACK probiert, ebenso habe ich diverse Baudraten durchprobiert. Wenn ich eine Baudrate > 300 wähle erscheint gar nichts mehr auf der Konsole. Ich habe das ganze auch in einem anderen Thread hier beschrieben.
Ich habe heute auch schon mit Avacon telefoniert, die sagten mir das mein Zähler KEINEN Pin hätte. -
@klassisch said in Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler:
@fanavity sagte in Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler:
TCRT5000
Der geht zumindest im Empfangspfad, das habe ich schon getestet. Bei den fertigen boards eine ähnliche Modifikation wie ich sie ein paar Posts ober bei den einfachen Empfängern geschrieben habe.
Habe auch mal an einen solchen Board den Sensorpfad mit einem BC327 PNP Transistor und 2 Widerständen so modifiziert, daß er wie ein Volkszähler Schreib-Lese-Kopf funktionieren sollte.
Testen konnte ich das in Ermangelung eines D0-fähigen Zählers allerdings leider nicht.Ich habe die beiden Dioden vom TCRT5000 ausgelötet und direkt am NodeMCU angeschlossen. Die vom "Sender" habe ich die Anode an 330Ohm und dann an 3,3V und die Kathode an GPIO14 angeschlossen. Damit blinkt diese alle paar Sekunden kurz auf. Den "Empfänger" habe ich Emitter an GNG und Collector an 4,7k -> 3V und Collector an RX.
Das Gehäuse der beiden LEDs hatte genau den richtigen Abstand, daher habe ich das weiterverwendet. Einen passenden Ringmagnet hatte ich noch liegen. Also habe ich mir kurz ein Gehäuse erstellt und gedruckt. Das passt soweit ganz gut. Also wenn ich es ans laufen bekomme wäre der TCRT5000 eine echt gute und günstige Variante einen Einheit zu bauen. Alternativ hätte ich hier noch einige BPW78A liegen.Mein Script sieht wie folgt aus:
>D >B =>sensor53 r >M 1 +1,3,o,0,300,STROM,14,30,2F3F210D0A,063035310D0A 1,1-0:1.8.1*255(@1,TotalIN,KWh,Total_in,4 #Das bringt mir folgendes Ergebnis:
07:03:09 MQ/LOG4LK13BD202015 07:03:10 : 07:03:22 : /LOG4LK13BD202015 07:03:22 : 07:03:33 WI/LOG4LK13BD202015 07:03:33 : 07:03:45 : /LOG4LK13BD202015 07:03:45 : 07:04:02 WI/LOG4LK13BD202015 07:04:02 : 07:04:14 WI/LOG4LK13BD202015 07:04:14 : 07:04:25 : /LOG4LK13BD202015 07:04:25 : 07:04:37 WI/LOG4LK13BD202015 07:04:37 : 07:04:54 WI/LOG4LK13BD202015 07:04:54 : 07:05:06 : /LOG4LK13BD202015 07:05:07 WI 07:05:17 : /LOG4LK13BD202015 07:05:17 : 07:05:30 WI/LOG4LK13BD202015 07:05:30 : 07:05:47 WIF: Prüfe V202015 07:05:47 : 07:05:59 : /LOG4LK13BD202015 07:05:59 : 07:06:10 WI/LOG4LK13BD202015 07:06:10 :Ich habe es schon mit und ohne ACK probiert, ebenso habe ich diverse Baudraten durchprobiert. Wenn ich eine Baudrate > 300 wähle erscheint gar nichts mehr auf der Konsole. Ich habe das ganze auch in einem anderen Thread hier beschrieben.
Ich habe heute auch schon mit Avacon telefoniert, die sagten mir das mein Zähler KEINEN Pin hätte.@fanavity Hast Du es zumindest probehalber schon mal mit einem TTL-USB Konverter und dem Smartmeter Adapter versucht? Wenn ich das richtig verstanden habe, verhandeln die meisten D0 Geräte erst mal auf 300Bd und schalten bei erfolreicher Verhandlung auf höhere Baudraten.
-
Uff, nein das habe ich nicht. Wüsste jetzt auch nicht wie ich das machen kann? Ich nutze aktuell den einen NodeMCU mit Tasmota.
@fanavity Da wir uns hier im ioBroker Forum befinden, dachte ich Du würdest (auch) ioBroker nutzen.
Zum vor Ort-Testen habe ich ioBroker auf einen Win 10 Laptop aufgespielt und dort den smartmeter-Adapter aufgespielt.
Dann habe ich die modifizierte Lesekopf-Platine an einen TTL- (manche sagen fälschlicherweise RS232) -> USB Adapter angeschlossen, wie man sie früher zum HW- Tasmotiseren der Sonoffs verwendet hat. Da wird ein COM-Port belegt, den man in der Adapterkonfiguration des Smartmeter-Adapters auswählt. Zusammen mit einigen anderen Konfigdaten. Adapter starten und los gehts. Zumindest war das bei dem Read Only SML-Zähler, mit dem ich getestet habe, so, -
Servus. Grundsätzlich kann ich die Platinen in Einzelfällen auch bestücken aber wenn ich alle 100 löten muss wird das heftig. Lieber wär mir wenn ich die Platinen unbestückt als Komplettset verschicken kann.
Eine USB Version hatte ich aktuell nicht geplant, da dazu wieder eine andere Platine und zusätzliche Bauteile benötigt werden. Die TTL Version funktioniert mit einer NodeMCU einwandfrei und ist wirklich günstig.
Ich habe mal die Gesamtkosten aufgelistet und bin bei einer Stückzahl von 100 Leseköpfen auf einen Materialpreis von 3,92€ gekommen, sprich für die Platine mit allen Bauteilen, dem Ringmagnet und 1m Kabel (ohne Stecker).
Bei Interesse kann ich auch passende Gehäuse im 3D Drucker herstellen. Den Preis dafür muss ich noch ausrechnen.
On Top würden dann noch Versandkosten kommen. Je nachdem welche Versandart gewünscht wird sollte aber der Preis selbst mit Gehäuse noch unter 10€ bleiben (ohne Löten!)
Wenn Interesse besteht das ganze mit einer NodeMCU per WLAN im Schaltschrank zu verbauen kann ich mich nochmal erkundigen was eine NodeMCU kostet wenn wir 100 Stück abnehmen. Hat den Vorteil das nur ein DC Netzteil im Schaltschrank verbaut werden muss und dann drahtlos an den ioBroker angebunden werden kann.
Gruß Jaschkopf
@Jaschkopf
Moin,
ich hätte Interesse an den Teilen für einen Lesekopf, um den an einen Esp8266 anzuschließen.
Hast du noch Teile da?
Gruß Doug -
Hi Jaschkopf.
Ich bin durch Zufall auf den „alten“ Artikel gestoßen.
Kannst du immernoch liefern? -
Hi Jaschkopf.
Ich bin durch Zufall auf den „alten“ Artikel gestoßen.
Kannst du immernoch liefern?@grizzlyco said in Volkszähler TTL Schreib- Lesekopf für Digitale Stromzähler:
Hi Jaschkopf.
Ich bin durch Zufall auf den „alten“ Artikel gestoßen.
Kannst du immernoch liefern?Alternativer IR-Lesekopf auch hier verfügbar: https://shop.weidmann-elektronik.de/index.php?page=product&info=24 (kann auch direkt über Amazon bestellt werden)
-
@florianshj Sorry aber der verlinkte Lesekopf ist nicht für die Verwendung mit meiner Anleitung geeignet. Man benötigt einen Lesekopf mit TTL Schnittstelle. USB am ESP8266 geht nicht.
Gruß Jaschkopf
-
Also zum Auslesen nur mit Phototransistor und eine Widerstand kann ich sagen, dass es bei mir 100% ohne Probleme funktioniert.
Das ganze angeschlossen an einen CP2102. Ich logge damit über serielle Schnittstelle und habe 0 Fehler. Gesamtkosten für Material ca. 1 Euro.
Ich logge damit über IoBroker und den Smartmeter Adapter. Funktioniert wunderbar ohne irgendwelche Probleme.Wenn das Logging-Gerät direkt am Stromzähler sitzt braucht man sonst nix mehr.
Das es bei mir woanders sitzt habe ich den USB mit einem aktiven USB-Kabel um 15m verlängert.
Statt dem CP2102 könnte man aber auch ein ESP8266 wie z.B. Wemos D1 Mini nehmen und über WLAN loggen.
Ich fand die Variante über serielle Schnittstelle etwas besser, da man da jede Sekunde Impulse bekommt. Über ESP8266 gibt es nur alle 10 Sekunden Daten.Hier das Schema. Bei mir kommt ein Phototransistor BPW78A zum Einsatz. Im CreationX Forum wird auch beschrieben wie man das Ganze bauen kann.

Hier die Smartmeter-Adapter Konfiguration im IoBroker

ich bekommen das mit einem TRCT5000 Line Tracker an der MSB-Schnittstelle (D0) meines intelligenten Zähler eBZ DD3 2R06 ETA ODZ0 mit folgender Konfiguration leider nicht zum Laufen:
TRCT5000 Line Tracker an einem ESP8266:

ESPEasy-Controller:

ESPEasy-Devices:

ioBroker-Smartmeter-Adapter:

Status des Smartmeter-Adapter:

Nach kurzer Zeit bekomme ich im log:
"No or too long answer from Socket after last request."Kann mir bitte jemand auf die Sprünge helfen, wo mein Fehler liegt?
Vielen Dank! -
ich bekommen das mit einem TRCT5000 Line Tracker an der MSB-Schnittstelle (D0) meines intelligenten Zähler eBZ DD3 2R06 ETA ODZ0 mit folgender Konfiguration leider nicht zum Laufen:
TRCT5000 Line Tracker an einem ESP8266:

ESPEasy-Controller:

ESPEasy-Devices:

ioBroker-Smartmeter-Adapter:

Status des Smartmeter-Adapter:

Nach kurzer Zeit bekomme ich im log:
"No or too long answer from Socket after last request."Kann mir bitte jemand auf die Sprünge helfen, wo mein Fehler liegt?
Vielen Dank! -
@hans-k In deiner ESP Easy-Controller Settings hast Due eine IP mit Endung .50 eingetragen, im Adapter mit Endung .150 ?
Das kann so nicht gehen, denke ich
GrußFolgendes habe ich mir dabei gedacht:
Der ESP8266 hat die IP-Adresse: 192.168.170.150
Der ioBroker auf dem Raspberry hat die IP-Adresse: 192.168.170.50und deshalb habe ich folgendes eingestellt:
ESPEasy-Controller: 192.168.170.50 =IP-Adresse ioBroker
Smartmeter-Adapter: 192.168.170.150 =IP-Adresse ESP8266Ist das nicht so? Wie müsste es richtig sein?