Hallo @cerise,
hier ein paar Antworten zu Deinen Fragen:
Hallo zusammen,
(ist mein erster Beitrag hier im Forum und ich hoffe das ist die richtige Stelle für meine Frage)
mir schwebt ein System ähnlich den unter Builds&Examples ( Link entfernt ) beschriebenen vor.
Speziell würde ich gerne ein System aufbauen, das — für seine grundlegende Funktion — nicht auf ein funktionierendes WLAN angewiesen ist.
Anbindung ins Heimnetz per (W)LAN zur Visualisierung und Heimautomatisierung wäre ein (Komfort-)Feature, bzw. weiterer Schritt. (Bekommt man den OpenDTU-OnBattery ggf. irgendwie per LAN-Kabel angeschlossen?)
Prinzipiell ist das kein Problem, ich hatte OpenDTU on Battery zuerst auf einem Olimex ESP32 POE (der hat Ethernet mit PoE) installiert, weil ich auch gerne OHNE Wifi auskommen wollte. Das Problem dabei ist: Durch das Ethernet werden GPIOs belegt, die dann nicht mehr für andere Features genutzt werden können. Wenn man wirklich einen "Vollausbau" will, d.h. mit VE-Direct, Pylontech, Huawei Netzteil etc., dann gehen einem einfach die GPIOs aus. Einige der Interfaces hängen z.B: am SPI, der zwar prinzipiell ein Sharing unterstützt, aber das im Moment von OpenDTU nicht unterstützt wird.
Trotzdem habe ich mich nicht ganz von dem Thema verabschiedet. Man kann die Funktionalität ja auch auf 2 ESPs verteilen, die dann beide am Ethernet hängen. Ich habe z.B. aktuell einen 2. ESP im Einsatz, der auf ESP Home läuft und folgendes macht:
- Pylontech Akku Console (Auslesen des Zustandes der einzelnen Zellen, um Balancierung beurteilen zu können)
- Stromzähler über IR-Lesekoopf auslesen. Kann von OpenDTU dann über REST API ausgelesen werden
- bin gerade dabei, die komplette Ladelogik für den Akku über das Huawei auf diesem ESP zu implementieren, dann könnte man das CAN Interface für Huwei & Relais für Slot-Detect auf diesen ESP umziehen (@pv-maix hat schon ein CAN-Modul für ESPHome dazu enwickelt, siehe: https://www.akkudoktor.net/forum/stell-dein-batterie-powerwall-projekt-vor/ac-dc-speicherloesung-mit-victron-mppt-pylontech-hoymiles-huawei-und-opendtu-onbattery/paged/18/#post-152663 ). Damit verteilt man dann die anzuschließenden Interfaces auf 2 ESPs und umgeht das Problem so.
Was in meinen Überlegungen hierbei stört, ist die WLAN-Verbindung zum Powermeter (Shelly 3EM, bzw. Tasmota-basiert).
Im OpenDTU-OnBattery-Wiki lese ich 'Needs an HTTP JSON based power meter (e.g. Tasmota), an MQTT based power meter like Shelly 3EM or an SDM power meter.'
Was hat es mit 'an SDM power meter' auf sich? Ist hiermit z. B. ein SDM630 mit RS485-Schnittstelle gemeint?
Wie ist das Auslesen eines solchen von den Erfindern des OpenDTU-OnBattery gedacht? Mit zusätzlichem ESP32 und Tasmota, also doch wieder via WLAN?
Oder könnte das SDM auch direkt über eine RS485-Kabelverbindung an den OpenDTU-ESP angeschlossen werden?
Ist das vorgesehen, bzw. hat das schon jemand mal beschrieben? (Habe bei meinen Suchen hierzu leider nichts in Verbindung mit OpenDTU-OnBattery finden können…)
Da findet man schon Lösungen. Ich habe wie gesagt einen ESP32 (einen Olimex POE, auf dem ich eigentlich OpenDTU installieren wollte 😉 ) mit ESPHome geflasht. Dafür gibt es ein SML-Modul, über das man die überall erhältlichen IR-Leseköpfe für SmartMeter auslesen kann. Diese Werte kann man dann über eine HTTP-API auslesen, wenn man in OpenDTU die Open "HTTP JSON based" auswählt.
Ich habe diesem ESP eine statische IP verpasst. Wenn man jetzt auch OpenDTU auf einen Ethernet fähigen ESP legt und dem eine statische IP verpasst, dann können die beiden ESP miteinander "reden", sofern auch der Switch läuft, an dem beide hängen.
Daneben wäre aber auch folgende Option interessant:
OpenDTU hat auch die PowerMeter Option "SML OBIS 17.7" - das ist genau der angesprochene IR-Lesekopf. Den kann man anscheinend direkt in OpenDTU einbinden. Doku dazu habe ich aber kaum gefunden. Im Source kann man aber sehen:
Das Auslesen des Powermeters ( https://github.com/helgeerbe/OpenDTU-OnBattery/blob/development/src/PowerMeter.cpp ) verwendet einen "SML_RX_PIN"(der in PowerMeter.h auf PIN 35 definiert ist) und hat eine Methode "smlReadLoop", in der das Device gelesen wird. Mann müsste also einen SML Lesekopf on GPIO35 anschließen können (mit RX, TX wird nicht benötigt), um einem IR-Sensor direkt aus OpenDTU ansprechen zu können. Das habe ich selbst nicht ausprobiert, weil ich diese Daten nicht nur in OpenDTU haben wollte und mit der Einbindung über ESPHome flexibler bin. Insbes. kann ich in ESPHome eine EventSource API verwenden, sodass ich wirklich JEDE Änderung sofort mitbekomme...
Könnte hierzu jemand etwas sagen, bzw. erklären, weshalb mein Anliegen ggf. Quatsch ist?
Also zumindest ich hatte ganz ähnliche Gedanken, von daher ist das zumindest m.E. kein Quatsch 😉
Hoffe, Dir hilft das etwas weiter..
Super, vielen Dank @manos66 und @cacu15 für Eure Antworten!
Ich habe bisher so viel verstanden, dass eine LAN-Anbindung des OpenDTU-OnBattery-ESP machbar ist, wenn ein entsprechendes ESP-Board mit Ethernet (wie der genannte Olimex) verwendet wird. Mit festen IPs und einem Switch kann über einen weiteren ESP mit Ethernet-Anschluss ein SmartMeter mit S0-/Blink-Ausgang auch ohne WLAN, bzw. Verbindung zum Heimnetz ausgelesen werden.
Je nach 'Ausbaugrad' des Systems können hierbei die verfügbaren Pins des ESPs knapp werden. Es gibt aber ggf. die Möglichkeit, zwei ESPs, die miteinander reden, zu verwenden, so dass ausreichend Pins zur Kommunikation mit Laderegler, Akku, Netzteil verfügbar sind.
Da ich kein solches S0-/Blink-SmartMeter im Haus habe, wollte ich zunächst ein auslesbares Powermeter hinter dem Zähler des Versorgers installieren und diesen möglichst per Draht an den OpenDTU-ESP bringen.
Mit Modbus und RS485 bin ich noch nicht 'per Du' (eher vielleicht 'perdu' 😉 ).
Da das Stöbern in den Sources, wenn man’s versteht, anscheinend helfen kann, hab’ ich das auch mal versucht.
In 'OpenDTU-OnBattery Link entfernt ' finde ich
#if defined ( USE_HARDWARESERIAL ) #if defined ( ESP32 ) #define SDM_RX_PIN 13 #define SDM_TX_PIN 32 #endif #else
Kann man daraus schließen, dass ein SDM630 (Modbus RTU) per Zweidrahtleitung an die o. g. TX/RX-Pins des OpenDTU-ESPs angeschlossen und dann von letzterem ausgelesen werden kann?
Oder benötige ich trotzdem noch zusätzliche Hardware zwischen SDM und ESP?
Eine weitere Frage wäre, ob die Web-Oberfläche des OpenDTU die vom Powermeter gelesenen Messwerte schon anzeigen könnte, auch wenn sonst noch keine weiteren Komponenten (PV, Laderegler, Akku, Wechselrichter) im System vorhanden sind? (um im Vorfeld schon mal den Energieverbrauch studieren zu können)
ähnliche Gedanken, von daher ist das zumindest m.E. kein Quatsch 😉
puuh, dann bin ich erst mal beruhigt…
Weil ich habe damals meins von Conrad Elektronik auf Ebay bestellt und habe das 16MHz Teil bekommen.
Und das beste daran ist, ich habe im nachhinein festgestellt, dass im verlinkten Datenblatt von Conrad sogar 8MHz dran stand.
@energy-geek du hattest Recht
meine sind heute angekommen und.... 16MHz 🤮
Mindestens wird der Fehler (hoffentlich bald) korrigiert, laut Conrad Service.
Jetzt warte ich auf die 8MHz Oszis und werde ich probieren sie zu tauschen.
(vielleicht sollte ich doch mal gucken, wie ich das Kabel bei den "normalen" Platinen anbringen kann.... 😛 Gibt es vielleicht ein YouTube Video?)
Hallo @maltes
Ich muss noch eine Frage stellen... dein Relais
Hast du eins mit zwei LEDs bereits drauf gekauft, oder hast du sie selber gelotet?
Wenn ich deine Platine richtig interpretiert habe, der "Signal Trigger" ("IN" auf der Platine) ist angeschlossen am PIN 33 (mit Levelshifter dazwischen), standard PIN bei OpenDTU-onBattery. Korrekt?
Auf der anderen Seit gehen die "COM" und "ON" zu dem kleinen Jumper PIN (roter Pfeil)
Und danach werden sie zum Slot Detection Anschluss (roter Pfeil).
Ohne auf DC Plus/Minus achten zu muessen. Korrekt?
@manos66 zum Slot detect Funktionsprinzip: sobald der Slot detect auf Masse=Ground=minuspol gelegt wird, startet das Netzteil. Das Relais unterbricht diese Verbindung oder stellt sie her.
Gpio33 wird auf in=Signal Trigger gelegt. Ich habe ein Relais Board auf 3,3V Basis gefunden und nutze das ( https://de.aliexpress.com/item/4001179631365.html , gibt's aber auch bei eBay oder Amazon, dann auch aus Deutschland). Dann brauchts keinen Level shifter.
Auf der Relais Seite gibt es com (da geht zB das Kabel vom minuspol rein, oder das vom Slot detect, ist aber irrelevant , hier gibt es keine "verpolung" o.ä.) und dann normalerweise nc und no. Das bedeutet "normally closed" und "normally open". Ich glaube, ich hab's zweite Kabel an "normally closed" gehängt, man muss einfach schauen, dass Mode=0 "aus" und Mode=1 "an" ist.
Hoffe, das hilft.
PV: 4 BKW mit Hoymiles hm-600, 2x430w bifazial, 6x410w Glas/Folie (über openDTU angebunden)
Klimaanlage als Heizung:
- Daikin Perfera 2,5 kW (vorhanden)
- Multisplit Daikin 3MXM52 mit 2x Perfera 2.0 und 1xStylish 3.5 (vorhanden)
Brauchwasser-Wärmepumpe Ariston Nuos Primo 240 hc (vorhanden)
Hausautomation/Messung: io-broker auf thinclient (angebunden: Hoymiles, Smart-WB, Daikin-Cloud, Volkszähler, Shellys, Huawei Batterieladegerät, JK-BMS)
Speicher: Nulleinspeisung AC gebunden mit 6,5 kWh LFP 16S (CALB, Huawei, JK-BMS, Hoymiles) (vorhanden)
Danke @indie
meine Infos bis jetzt waren, das ich SlotDetect1, SlotDetect2, Masse und Pre-charge anschließen muss (keine Ahnung was Pre-charge macht).
schliesst du beide SlotDetects zur Masse, oder nur eins?
EDIT Sorry, Dumm von mir, ich musste nur den Artikel von Beyond Logik wieder lesen....
To enable the power supply, connect both the slot detect 1 and slot detect 2 pins to OUTPUT- (negative).
While not mandatory to enable the output, you should also connect Pre-Charge to OUTPUT-. For those using the DP4SC0504-001, the Pre-Charge is wired internally to the OUTPUT-.
Und ich habe ein paar Infos zu Pre-Charge gefunden:
The precharge is used so that it can be hot plugged into a '48V' bus.
There are likely to be output capacitors and without precharge the input current surge will damage the contacts.
The fact that the precharge is on the neg.rail is another clue that it's a telecom charger - most telecom circuits are positive earth to minimise corrosion damage.
Alles richtig. Pre-charge verwende ich nicht. Das Netzteil hängt ja immer an DC
Wenn noch Fragen offen sind nochmal melden
Tut mir Leid @indie & @MalteS ich bin zu Doof mit Schaltpläne 🙁
#1 Was schliesse ich an COM (Common) des Relais?
#2 wo gehen die Zwei Kabel des Jumpers zum Huawei hin?
Denn, wenn ich die Platine sehe, der Jumper an der obersten Ecke (roter Pfeil) hat GND auf einen Seite (scharzes Kabel, direkt vom LevelShifter) und
die andere Seite hat 5V vom NC (Normally Closed) des Relais, weil der COM des Relais an 5V HV des LevelShifters angeschlossen ist (rotes Kabel).
Auch, wenn ich das Huawei Handbuch lese, von der Seite des Netzteils, habe ich kein GND, sondern OUTPUT- also -48V
Mein Kopf haette gedacht, ich lasse -48V vom Huawei an mein COM Relais ankommen und an NC haette ich SlotDetect1 & SlotDetect2 angeschlossen.
Beim Einschalten des Relais haette ich dann die -48V+SlotDetect1+SlotDetect2 Kondition erreicht.
Eindeutig passiert aber dies nicht....
Mein Kopf haette gedacht, ich lasse -48V vom Huawei an mein COM Relais ankommen und an NC haette ich SlotDetect1 & SlotDetect2 angeschlossen.
Beim Einschalten des Relais haette ich dann die -48V+SlotDetect1+SlotDetect2 Kondition erreicht.
Eindeutig passiert aber dies nicht....
Das ist im Prinzip genau richtig. Wichtig ist aber, ob Du die beiden SlotDetect Leitungen nun an NC oder NO anschließt. Das entscheidet (wie von Indie erklärt), wann das Relais eine Verbindung herstellt:
1) Wenn Du die an NC (normally closed) anschließt, dann besteht eine Verbindung zwischen COM (-48V) und den beiden SlotDetects, wenn am Signal-PIN KEINE Spannung anliegt. Wenn dann der ESP eine Spannung an den SignalPIN anlegt, dann schaltet das Relais und dann ist COM (-48V) nicht mehr mit den SlotDetects verbunden.
2) Wenn Du die SlotDetect an NO (normally open) anschließt, dann ist es genau anders herum: Wenn hier dann keine Spannung am SignalPIN anliegt, dann besteht keine Verbindung zwischen COM (-48V) und den SlotDetects. Erst, wenn der ESP eine am SignalPIN eine Spannung anlegt, dann schaltet das Relais und stellt eine Verbindung her.
Dieses Verhalten wird bei vielen Relais noch durch einen Jumper gesteuert - in Deinem Bild oben ist das beim unteren Relais der Fall. Der Jumper "High//Low Level Trigger Selection" steuert, wann das Relais schließt. "High" meint, dass das Relais dann schliesst (also eine Verbindung von COM nach NC herstellt), wenn eine Spannungsdifferenz zwischen Signal und GND/Minus besteht.
Da Du aktuell nach 1) angeschlossen hast, ist das bei Dir vermutlich aktuell genau falsch herum: Bei Dir ist SlotDetect nun mit -48V verbunden, wenn der ESP KEIN Signal am SignalPIN anlegt, und es wird dann getrennt, wenn der ESP schaltet. Dann müsstest Du einfach die beiden SlotDetect Leitungen an den anderen ANschluss des Relais anschließen (also an NO).
Am besten probierst Du einfach mal mit einem Durchgangsprüfer eines Messgerätes (oder einer kleinen Glühlampe + Batterie) aus, wann das Relais durchschaltet.
Danke für die Etläuterung des NO/NC Unterschieds @cacu15
Meine Verwirrung ist (z.Zeit) die Interpretation der Platine. Ich sehe, dass das Relais +5V schaltet.
Danke für die Etläuterung des NO/NC Unterschieds @cacu15
Meine Verwirrung ist (z.Zeit) die Interpretation der Platine. Ich sehe, dass das Relais +5V schaltet.
Nein, das Relais schaltet NICHT die +5V. Das Relais schaltet eine elektrische Verbindung zwischen dem COM PIN und den NO bzw. NC PINs.
Die Versorgungsspanung von 5V (oder 3,3V) braucht das Relais für den Betrieb der Spule, über die der Kontakt im Innern des Relais geschaltet wird, der dann die Verbindung zwischen COM und NO/NC herstellt. Für das Anziehen der Spule benötigt das Relais etwas Strom (meist einige mA). Darum braucht das Relais die Verbindung zu einer 5V Spannungsversorgung(+ und -).
Nein, das Relais schaltet NICHT die +5V. Das Relais schaltet eine elektrische Verbindung zwischen dem COM PIN und den NO bzw. NC PINs.Die Versorgungsspanung von 5V (oder 3,3V) braucht das Relais für den Betrieb der Spule, über die der Kontakt im Innern des Relais geschaltet wird, der dann die Verbindung zwischen COM und NO/NC herstellt. Für das Anziehen der Spule benötigt das Relais etwas Strom (meist einige mA). Darum braucht das Relais die Verbindung zu einer 5V Spannungsversorgung(+ und -).
#1 Vielleicht @cacu15 koenntest du mir zeigen wie du den Anschluss geschaltet hast.
#2 Bitte guck das Bild unten und erklaere mir bitte was du da siehst.
Ich sehe COM mit 5V vom Levelshifter.
Daraufhin, verbindet das Relais COM (mit 5V) und das, was auf der Seite NO/NC steht, zusammen.
Letzteres wurde bedeuten, dass NO/NC bereits SlotDetect1, SlotDetect2 und Output- (minus) hat.
Oder siehst du auf dieser Platine etwas anderes?
Ich habe gar kein Slot-Detect Relais im Einsatz, weil ich das Netzteil AC seitig schalte. Bei mir sind beide Slot-Detect PIN fest mit dem 48V- Ausgang des Huawei verbunden, wie auch auf dem Bild von Beyond Logic. Darum kann ich Dir meine Schaltung nicht zeigen.
Aber versuch' doch nicht aus einem Foto eine Schaltung abzulesen, auf dem man noch nicht mal alles klar erkennt. Die Verbindung zum Huwei kann man da gar nicht sehen.
Dafür gibt es Schaltpläne, z.B. den aus dem onBattery-git:
Die Lötstellen, die man auf dem Foto der PCB Unterseite sieht (wo Du GND und 5V drangeschrieben hast), haben m.E. gar nichts mit dem Relais zu tun, sondern gehören zu einer kleinen Pfostenstecker-Leiste, die man auf auf dem Bild der Oberseite noch gerade so über dem Relais erahnen kann. Für das Relais sind die auch falsch ausgerichtet, da um 90° gedreht. Die Last seitigen Anschlüsse des Relais sind doch alle auf der Klemmleiste herausgeführt, warum sollte man das noch auf das PCB verlöten?
Der Schaltplan zeigt genau das, was ich zu erläutern versuch habe, da kann man das sehr gut erkennen.
Danke fuer deiner Mühe @cacu15 ich bin deiner Meinung, als dieser Platine ist es unklar.
Deine Antworten haben viele zusätzliche Informationen gegeben 👍
Der Schaltplan aus dem onBattery-git hilf wenig (auf meiner Frage bezogen).
Es ist O.K., wir haben eindeutig wenig Klarheit zum Thema, daher werde ich jetzt alle Infos sammeln.
OK, jemand war so net und hat mir ein Beispiel seiner laufende Konfiguration geschickt.
Keine Ueberaschung 👍 genau wie in vorherigen Posts beschrieben.
Ich addiere das Bild und das Kommentar auch hier:
minus (-) von 48V geht auf COM (COMmon)
SD1 und SD2 auf NO (Normally Open)
Jetzt verstehe ich das Problem erst...
Also als ich die Platine da fotografiert habe habe ich mal kurzzeitig mit einem Solid State Relais (nicht auf dem Bildern zu sehen) experimentiert um das Netzteil AC Seitig zu schalten. Das lief über 5V. Die 5V habe ich über das blaue Relais auf den Photos geschaltet. Diese Verkabelung ist da noch zu sehen. Das hat dann aber in der Praxis nicht funktioniert. Das war vermutlich schon zu viel Spannungsabfall
Heute geht COM und NO einfach über einen Pfostenstecker (zur Montage einfacher) an den Slot detect des Netzteils