Wir wechseln das Forum am 14.11.24 auf die Forensoftware Discourse. Zwischen Montag Abend und Dienstag Nachmittag wird das Forum deaktiviert. Danach sind wir hoffentlich mit neuem Forum inkl. der vorhandenen Beiträge wieder am Start! Hier zum Forenbeitrag!
Hallo,
ich will mal meine Erfahrung hierzu abgeben.
Ich habe ziemlich lange daran gehangen und einiges gelernt. Ich habe zwei Soyosources laufen und meine Idee ist, die Last zu verteilen.
Mit dem Soyosource-Controller habe ich ziemlich viel herumprobiert. Meine Erfahrung ist die, dass er (bis auf ein mal) nicht zwei Limiter dieser Firmware gleichzeitig handlen kann.
Merkwürdigerweise ging immer nur einer auf einmal. Meine Lösungsschritte waren folgende:
Habe mir bei Reichelt einen anderen Festspannungsregler mit max. 1Ah Leistung bestellt und mir den selbst zusammengebrutzelt, inklusive einer ordenlichen Kondensatorkonfiguration
Und hier ist das wichtigste, was ich gelernt habe: Die Webmos D1-Boards sind extrem spannungssensibel. Die Qualität der 3,3v-Versorgung ist absolut essentiell.
Nun läuft das System seit mehreren Wochen ohne jeden Neustart absolut stabil. Die von mir gekauften Breakboard-Spannungswandler sind tendenziell zu schwach.
@lame02: unten rechts im Bild ist ein grauer Kasten erkennbar. Ist das das ext. Display vom Soyo? Wie schließt man das zusätzlich an? Mir war nicht klar was oben angeschlossen wird bei IN. Wahrscheinlich eine Betriebsspannung? Was wird da genau angezeigt? Das ist eine Permanentanzeige?
Nun wurde das System instabil. Der Breakboard-Festspannungsregler war nur auf max. 800mAh Leistung ausgelegt, aber ein Webmos benötigt wohl in der Spitze bis zu ~500mAh.
Habe mir bei Reichelt einen anderen Festspannungsregler mit max. 1Ah Leistung bestellt und mir den selbst zusammengebrutzelt, inklusive einer ordenlichen Kondensatorkonfiguration
Hast du schon verbaut?
Ein Kondensator 200microF 6v am Ausgang des 800ma Festspannungsregler hätten sicher gereicht.
..,-
Ein externes Display habe ich nicht angeschlossen, ich wusst ehrlich gesagt gar nicht, dass es eines gibt.
Hier ein etwas größeres Foto
Der Graue Kasten unten rechts ist das Gehäuse für die Soyosource-Controller.
Ich habe es mal aufgemacht
Man sieht die beiden Wemos, Links und rechts die RS485 Interfaces und unten
Rechts den 3,3v Festspannungswandler. Der Kühlkörper darauf ist etwas überdimensioniert,
den hatte ich liegen.
Die Frage mit dem IN verstehe ich nicht, was meinst Du?
Nun wurde das System instabil. Der Breakboard-Festspannungsregler war nur auf max. 800mAh Leistung ausgelegt, aber ein Webmos benötigt wohl in der Spitze bis zu ~500mAh.
Habe mir bei Reichelt einen anderen Festspannungsregler mit max. 1Ah Leistung bestellt und mir den selbst zusammengebrutzelt, inklusive einer ordenlichen KondensatorkonfigurationHast du schon verbaut?
Ein Kondensator 200microF 6v am Ausgang des 800ma Festspannungsregler hätten sicher gereicht.
ja bestimmt. Aber nachdem ich mich mit der Instabilität rumgeärgert habe, wollte ich keine Risiken mehr eingehen. Und
da ich sowieso in der blauen Apotheke bestellt habe, war der Festspannungsregler im Preis überschaubar
Wie regeln die WR jetzt, je zur hälfte?
Wie greifst du den Verbrauch ab, per 3EM und die ESPs holen sich die Werte direkt vom 3EM ab? Aber mit zwei ESP's speisen die nicht kurzzeitig doppelt ein??? Die bekommen ja dann beide den Verbrauch oder rechnest den noch um auf die Hälfte?
Das gesamte Schema funktioniert wie folgt:
--> Die Messung per Tastkopf ist zwar etwas träger, aber für meinen Bedarf ausreichend präzise.
Ich messe den derzeitigen Hausverbrauch nicht mit einem Shelly, sondern mit einem Infrarot-Abtastkopf https://hessburg.de/stromzaehler-smart-machen/ (keine Schleichwerbung, zur Verdeutlichung) am Stromzähler
Der Tastkopf übersendet seine Daten alle 10 Sekunden per mqtt auf einen iobroker (der sowieso läuft)
im iobroker läuft ein Skript, dass den Verbrauch annimmt, den Wert halbiert und jeweils den halben Wert an die WR sendet.
--> Die Messung per Tastkopf ist zwar etwas träger, aber für meinen Bedarf ausreichend präzise.
Ok, den Verbrauch im ioBroker... hab ich verstanden. Wie schickst du diesen nun genau an soyo? Über "Static L1L2L3"? Wie sieht dann das Script dafür aus? Würde es auch gehen wenn du direkt den Wert von MQTT nehmen würdest mit der "Auto Subcribe L1L2L3" Funktion? Zur Halbierung dann eben "2" wählen für den Teiler?
Warum aktualisierst du nur alle 10s den Stromzählerwert? Mag nachts zwar reichen, aber gibt es ein Problem z.B. jede 1s zu aktualisieren? Läuft bei mir alle 2s (über einen Pi1 als slave und den smartmeter-Adapter).
Zu meiner oberen Frage:
Ich dachte das wäre bei dir dieser Kasten hier, ist ein AC Power Meter. Frage hat sich aber erledigt. Ist beim soyosource Verkäufer gut beschrieben auf der Seite.
Der Tastkopf übersendet seine Daten alle 10 Sekunden per mqtt auf einen iobroker (der sowieso läuft)
Wie hast Du den Zähler angebunden? Wenn Tasmota (meine Annahme wegen den 10 Sekunden) dann kann man das auch im Sekundentakt haben:
>D
>B
->sensor53 r
>M 1
+1,3,s,0,9600,SML
1,77070100010800ff@1000,Verbrauch,KWh,Total_in,4
1,77070100020800ff@1000,Einspeisung,KWh,Total_out,4
1,77070100100700ff@1,Leistung gesamt,W,Power_curr,0
1,77070100240700ff@1,Leistung L1,W,Power_p1,0
1,77070100380700ff@1,Leistung L2,W,Power_p2,0
1,770701004c0700ff@1,Leistung L3,W,Power_p3,0
1,77070100200700ff@1,Spannung L1,V,Volt_p1,1
1,77070100340700ff@1,Spannung L2,V,Volt_p2,1
1,77070100480700ff@1,Spannung L3,V,Volt_p3,1
#
>S
=>Publish tele/%topic%/SENSOR {"Script":{"Leistung":%sml[3]%}}
Vermindert die hergeschenkte Leistung schon nochmal. WaitSekunden beim Soyosource Controller hab ich dabei auf 5 eingestellt.
Wie schickst du diesen nun genau an soyo? Über "Static L1L2L3"? Wie sieht dann das Script dafür aus?
So sieht sowas aus:
Ich lese die Werte vom Soyosource-Conroller auch über http aus weil die MQTT Umsetzung scheiße ist bzw. sich nicht gut mit ioBroker verträgt:
Würde es auch gehen wenn du direkt den Wert von MQTT nehmen würdest mit der "Auto Subcribe L1L2L3" Funktion?
Das ja.
Bei mir ist das wie folgt umgesetzt:
Ok, den Verbrauch im ioBroker... hab ich verstanden. Wie schickst du diesen nun genau an soyo? Über "Static L1L2L3"? Wie sieht dann das Script dafür aus? Würde es auch gehen wenn du direkt den Wert von MQTT nehmen würdest mit der "Auto Subcribe L1L2L3" Funktion? Zur Halbierung dann eben "2" wählen für den Teiler?
Warum aktualisierst du nur alle 10s den Stromzählerwert? Mag nachts zwar reichen, aber gibt es ein Problem z.B. jede 1s zu aktualisieren? Läuft bei mir alle 2s (über einen Pi1 als slave und den smartmeter-Adapter).
Im IOBroker läuft ein kleines Blockly-Skript. Hier die logische Beschreibung
Hier meine Skripte
Das Hauptskript1
Das nicht gezeigt Unterskript hat ein paar Korrekturfeatures, Abschaltung bei UNterspannung etc.
So sieht das ganze in Grafana aus
Blaue Linie = Gesamtverbrauch
Grüne Fläche = Erzeugung
Gelbe Linie = Bezug
Man sieht, dass die Korrektur der Erzeugung leicht hinter dem Verbrauch hinterherläuft.
Die ~20 Watt die ich dennoch immer beziehe liegt an einer Korrektur im Skript. Ich ziehe immer 20 Watt von der zu erzeugenden Leistung ab, da ich so signifikant weniger
einspeise. Hier bin ich noch am Optimieren und für Lösungen offen.
Und hier noch ein Screenshot aus einem Soyosource Controller. Sie wissen ja nichts voneinander, daher ist hier auch jeweils 1 Soyo eingetragen
10 Sekunden scheint mir die minimale MQQT-Sendefrequenz zu sein (TelePeriod).
Das stimmt, schneller kriegt man es über die Telemetriedaten nicht. Für Sekundentakt muss man im Script publishen, landet dann halt in einem zusätzlichem item im ioBroker. Letzten zwei Zeilen in dem von mir geposteten Tasmota script:
>S
=>Publish tele/%topic%/SENSOR {"Script":{"Leistung":%sml[3]%}}
Die aktuelle Gesamtleistung (dritte Zeile im SML Block bei mir, deshalb Index [3]) wird auf das item "Script_Leistung" gepublished. Die Scripte in Tasmota sind schon echt wüst und allzu viel Doku findet sich nicht. Hab auch ganz schön gebraucht bis es funktioniert hat.
Das ist ja genial. Danke! Hab's umgesetzt, ehrlich gesagt wäre ich auf die Idee nicht gekommen
10 Sekunden scheint mir die minimale MQQT-Sendefrequenz zu sein (TelePeriod).
Das stimmt, schneller kriegt man es über die Telemetriedaten nicht. Für Sekundentakt muss man im Script publishen, landet dann halt in einem zusätzlichem item im ioBroker. Letzten zwei Zeilen in dem von mir geposteten Tasmota script:
>S
=>Publish tele/%topic%/SENSOR {"Script":{"Leistung":%sml[3]%}}
Die aktuelle Gesamtleistung (dritte Zeile im SML Block bei mir, deshalb Index [3]) wird auf das item "Script_Leistung" gepublished. Die Scripte in Tasmota sind schon echt wüst und allzu viel Doku findet sich nicht. Hab auch ganz schön gebraucht bis es funktioniert hat.