Stromzähler S0 → ESP8266 mit ESPEasy → MQTT → FHEM

Begonnen von pink99panther, 30 November 2016, 23:33:50

Vorheriges Thema - Nächstes Thema

sash.sc

Wenn das so ist, dann den s0+auf den Zähler Eingang des ESP und den s0- mit Gnd des ESP verbinden.
Dann sollte es klappen.

Gesendet von Handy

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Otto123

Hi,

@B.Stromberg: mir wird beim Lesen mulmig :(

Der SO Ausgang des Zählers ist nur ein (elektronischer) Kontakt der Impulsartig zwischen S0+ und S0- schliesst. Der liefert keine Spannung - der Verkäufer sollte zu anderen Produktarten wechseln. ;D
Typischerweise verbindet man S0+ mit dem Pluspol der Logikspannung und der Zähler gibt am S0- einen positiven Impuls aus. Also man kann z.B. einen Pull Down Widerstand am Logikeingang haben und den S0- auf den Eingang geben, dabei darf die Spannung am S0+ nicht höher als der zulässigen Logikpegel sein.
Oder man macht es so wie sash.sc gesagt hat. Dann braucht man aber einen PullUp zum Logikpegel.
Im Handbuch des Zählers steht das der Kontakt! 5-27 Volt verträgt. Der Eingang vom ESP verträgt nur 3,3 !
https://bg-etech.de/download/manual/SDM72D-M-DE.pdf

ABER ABER ABER

Der Sonoff hat keine Potentialtrennung:
ZitatEin "plumpes" Überbrücken von 3,3 V auf GPIO bringt ja nur einen Kurzschluss denke ich...
Im besten Fall gibt es einen Kurzen und das Licht ist aus oder irgendetwas qualmt. Im schlimmsten Fall geht das Licht beim Operator aus!!!

Also keine solchen Teile wie Sonoff Basic für solche Spielchen nehmen! Keine Experimente wenn man sich mit Strom nicht wirklich auskennt!

Gruß  Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

B.Stromberg

Zitat von: Otto123 am 18 Mai 2020, 23:35:27
Hi,

@B.Stromberg: mir wird beim Lesen mulmig :(

Der SO Ausgang des Zählers ist nur ein (elektronischer) Kontakt der Impulsartig zwischen S0+ und S0- schliesst. Der liefert keine Spannung - der Verkäufer sollte zu anderen Produktarten wechseln. ;D
Typischerweise verbindet man S0+ mit dem Pluspol der Logikspannung und der Zähler gibt am S0- einen positiven Impuls aus. Also man kann z.B. einen Pull Down Widerstand am Logikeingang haben und den S0- auf den Eingang geben, dabei darf die Spannung am S0+ nicht höher als der zulässigen Logikpegel sein.
Oder man macht es so wie sash.sc gesagt hat. Dann braucht man aber einen PullUp zum Logikpegel.
Im Handbuch des Zählers steht das der Kontakt! 5-27 Volt verträgt. Der Eingang vom ESP verträgt nur 3,3 !
https://bg-etech.de/download/manual/SDM72D-M-DE.pdf

ABER ABER ABER

Der Sonoff hat keine Potentialtrennung:Im besten Fall gibt es einen Kurzen und das Licht ist aus oder irgendetwas qualmt. Im schlimmsten Fall geht das Licht beim Operator aus!!!

Also keine solchen Teile wie Sonoff Basic für solche Spielchen nehmen! Keine Experimente wenn man sich mit Strom nicht wirklich auskennt!

Gruß  Otto

Danke Otto, für die sehr ausführliche Antwort.

Was würdest du denn zum "abgreifen" des S0 von diesem Wechselstromzähler empfehlen?
Eigentlich ist doch eine NodeMCU auch nichts anderes als der sOnOff, oder?

Otto123

Moin,

eine NodeMCU versorgst Du aber mit einem Potentialgetrennten und für diese offene Handling gedachte Netzteil.
Du hast schon Recht, der ESP innen ist der Gleiche.

Mir wird auch immer schlecht wenn die Leute einfach einen Temperatur Sensor an die Sonoff & Co anschließen und den mit Kabel nach außen legen. Dabei wird die Schutzisolation des Gerätes grob fahrlässig verletzt! Die Sensorschnur nach draußen führt dann lebensgefährliches Netzpotential ist aber bloß für Kleinspannung gedacht.

Nochmal aber: Dein Zähler SDM72D hat doch auch RS485 Modbus? Die Schnittstelle wäre viel besser geeignet um ihn auszulesen! Da musst Du nicht die Impulse zählen, sondern kannst wirklich "ablesen".

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

B.Stromberg

Zitat von: Otto123 am 19 Mai 2020, 08:45:35

Mir wird auch immer schlecht wenn die Leute einfach einen Temperatur Sensor an die Sonoff & Co anschließen und den mit Kabel nach außen legen. Dabei wird die Schutzisolation des Gerätes grob fahrlässig verletzt! Die Sensorschnur nach draußen führt dann lebensgefährliches Netzpotential ist aber bloß für Kleinspannung gedacht.

Oh... Ich habe tatsächlich hier auch so einen Basic mit einen Temperatursensor und mir ehrlich gesagt da noch nie Gedanken drüber gemacht...
Der Temperatursensor ist doch im Basic aber nur an die 3,3 V sowie GPIO und GND angeschlossen.
Nehme ich nun ein Netzteil, 230 V auf 5V, ist das nicht das Gleiche?
Zwar ist das nicht im gleichen Gehäuse aber macht im Endeffekt doch auch das Gleiche.
Oder meinst du tatsächlich die örtliche Trennung, Netzteil, ESP bzw. NodeMCU?

Zitat von: Otto123 am 19 Mai 2020, 08:45:35

Nochmal aber: Dein Zähler SDM72D hat doch auch RS485 Modbus? Die Schnittstelle wäre viel besser geeignet um ihn auszulesen! Da musst Du nicht die Impulse zählen, sondern kannst wirklich "ablesen".

Gruß Otto
Ja in der Tat, mit dem Thema habe ich mich noch gar nicht beschäftigt.
Gibt es denn mit dem RS485 auch eine Möglichkeit, dass Ganze via Wlan ins Netz zu bekommen?
Am Liebsten mit Tasmota?

Hintergrund des Ganzen ist, dass ich die Werte ins Sunny Portal meines SMA Wechselrichters als Gerät exportieren möchte. Dies würde mit dem Smart Appliance Enabler passieren.
Die Werte werden dort via cm?cmnd=Status%208 ausgelesen und weiterverarbeitet (simpel ausgedrückt)

Hatte jetzt auf die Schnelle nichts gefunden in Bezug auf Tasmota und RS 485
Für weitere Hilfe wäre ich dir sehr dankbar.
Man sieht ja oft den Wald vor lauter Bäumen nicht :)

Otto123

#110
Es sind zwei Dinge:
Schutzisolation:
Wikipedia sagt: "Die Schutzisolierung bewirkt den Schutz gegen Berühren elektrischer, unter Spannung stehender Teile, indem sie um die betriebsmäßig notwendige Basisisolierung noch eine zusätzliche Isolierung legt. "
Ich sage: Diese, vom Konstrukteur verbaute Isolation, wird durch ein Loch und einen quasi nicht gegen 230 Volt extra isolierten Draht durchbrochen. Ich weiß, das Bild ist sogar im FHEMWiki.
Das Netzteil:
Jedes externe Steckernetzteil hat eine Potentialtrennung: Beide Ausgangsleitungen Plus und GND sind gegen den Eingang 230 Volt zuverlässig getrennt.
Bei solchen Geräten wie Sonoff Basic, alles in einem Gehäuse, braucht man diesen Aufwand nicht. Man kann ein Sparnetzteil machen, dabei ist je nach Anschluss der GND entweder mit L (Phase) oder N (Null) verbunden.
Ich kenne das Netzteil im Sonoff Basic nicht, aber ich kenne die Sparindustrie. Die werden dort nichts einbauen was nicht gefordert ist. Die einzige Potentialtrennung die dort sein wird (weil sie muss) findet im Relais statt. Mit dem Innenleben kommt normal nie jemand in Berührung.

Zum Auslesen: Ich habe damit auch mal angefangen udn habe den RS485 / Modbus nicht zum laufen bekommen. Seit schiebe ich die Schaltung und die Bauteile von einer Ecke in die Andere  :-[
Aber gerade gefunden:
https://forum.fhem.de/index.php?topic=80989.0
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

B.Stromberg

Ok, dass mit der Geschichte GND gegen Phase oder Null hört sich ja wirklich abendteuerlich an, wußte ich tatsächlich nicht.

RS485 scheint dagegen eher eine Einbahnstraße zu sein, für das was ich vorhabe...

Also wäre nun das Einfachste eine NodeMCU mit ESP zu nehmen mit einem 5 Volt Netzteil.
Auf die NodeMCU geht meines Wissens nach auch Tasmota.

Muss ich mal in meiner Kiste kramen.
Habe glaube noch so ein Teil rumliegen, hatte seinerzheit mit meinen Jarolift Funkmotoren (Rolläden) so eine Schaltung gebastelt und mir gleich mehrere Node und ESP bestellt.


Otto123

Zitat von: B.Stromberg am 19 Mai 2020, 14:10:23
RS485 scheint dagegen eher eine Einbahnstraße zu sein, für das was ich vorhabe...
Warum?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

B.Stromberg

In Bezug auf das Sunny Portal und die Übermittlung der Daten via..........tja.........via was ?
Müßte irgendwas mit Tasmota sein, via http abfragbar.....

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

B.Stromberg

Ach naja...
Du hast ja eigentlich schon die richtigen Denkanstöße gegeben.
Es wird wohl auf die S0 NodeMCU / ESP Anbindung hinauslaufen.

Zeit ist auch ein Faktor und meine Skills in Bezug auf die Thematik eher begrenzt.
Dann müßte ich mir quasi Wissen und Code an anderer stelle "erbetteln" und das macht ja auch keinen Spaß.

Otto123

#116
Ich denke die Modbus Anbindung ist das Eine, die Übertragung der Daten zu FHEM das Andere. Das muss auch mit Tasmota oder sonst was gehen.
Die S0 Anbindung habe ich schon seit Jahren. Ist irgendwie Pflegeinstensiv und ich verliere die Lust daran. Weil es ja eigentlich ein Vehikel ist.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sash.sc

Ich hatte nen wemos d1 Mini an einem Zähler mit s0 Schnittstelle und espeasy drauf. Danke hat man die Daten bzw Impulse ohne Probleme nach fhem bekommen. Tasmota sollte sich ohne Probleme möglich sein.

Gesendet von Handy

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

B.Stromberg

#118
Zitat von: sash.sc am 20 Mai 2020, 11:20:47
Ich hatte nen wemos d1 Mini an einem Zähler mit s0 Schnittstelle und espeasy drauf. Danke hat man die Daten bzw Impulse ohne Probleme nach fhem bekommen. Tasmota sollte sich ohne Probleme möglich sein.

Gesendet von Handy

So, habe in meiner Grabbelkiste noch einen ESP8266 gefunden und flux mal esp Easy Flashes installiert.
Das Standard 4M bin geflashed.

Soweit läuft das alles.

Nun habe ich, bevor ich das an den S0 vom Zähler anklemme (der immer noch nicht verbaut ist, typisch Handwerker) einfach mal die Kabel von D5 und 3,3V via Taster verbunden.

Von GND nach D5 ist ein Widerstand, Gelb, Lila, Rot, also 4,7 K Ohm.

Drücke ich nun den Taster, sollte da nicht eigentlich gezählt werden?
Bin da etwas überfordert in Bezug auf Debounce Time, Mode Type.

Bei Hardware muss ich bei Pin mode GPIO-14 (D5): Input machen, oder?

Wäre cool wenn mir hier jemand die Einstellungen für den SDM 72 nennen könnte, wobei ist S0 nicht ein Standard?
Sollte das dann nicht bei jedem Zähler gleich sein?

Wie @Otto123 ja schon geschrieben hat, fungiert doch der S0 nur als Schließer.

Ergo müsste das mit dem Taster doch auch funktionieren, oder sehe ich hier etwas falsch?


EDIT:
Ich lese auch recht häufig, dass zum Anheben des Pegels der Widerstand der Signalleitung an VCC, also an 3,3 V gelegt wird.
Hier in dem Beispiel ist es GND???

Ach Gott, warum ist das alles bloß so kompliziert?

EDIT2:
Ich habe nun dieses Video hier auf Youtube gefunden:

https://www.youtube.com/watch?v=GlWSW4emEy4
Bei Minute 3:20 erklärt er, wie er den S0 angeschlossen hat.
Nur an GND und D5. Ohne Widerstand.
Ich habe das nun so ausprobiert und bekomme nun Zählwerte angezeigt.
Ein ähnliches Verhalten hatte ich damals auch mit dem sOnOff festgestellt.

Gibt es verschiedene Versionen von den ESP Boards?
Aber eigentlich sollte doch der Anschluss gleich sein oder?

Otto123

Hi,

die ESPs haben intern Pull Up Widerstände (Wie Arduino und Raspberry) unter Umständen sind diese an/ab schaltbar. Auch schaltbare pull down Widerstände können vorhanden sein.
Der Wert dieser Widerstände ist meist nicht genau spezifiziert, beim ESP wird glaube ich ein Bereich von 30 - 100 kOhm angegeben.

Was Du jetzt  hast: Du nutzt einfach den internen Pull up Widerstand und es funktioniert. ;)

Dein Widerstand nach GND wird wohl mit dem internen einen Spannungsteiler gebildet haben, damit war der Logikpegel nicht mehr klar.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz