Benachrichtigungen
Alles löschen

ESP-Soyosource-Controller

267 Beiträge
75 Benutzer
3 Reactions
45.3 K Ansichten
(@lame02)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 32
 

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.

  • Beide Geräte sind recht neu und haben die Firmware-Version STC8-2022-218

  • EInes habe ich mit Limiter gekauft und eines ohne, da ich beim 2. die Limiter-Kiste nicht herumliegen haben wollte. Aber beide haben die Limiter-Funktion

  • Ein Gerät zeigt bei erfolgreicher RS485-Verbindung unten rechts RS-485 an, das andere nicht. Warum das so ist, kann ich mir nicht erklären
  • 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:

  • Die Erste Version meines Controllers bestand aus einem Wemos D1, einem 3,3v Festspannungsregler als Breakboard und einem RS485-Interface

  • Diese Konfiguration lief mit beiden Wechselrichter parallel genau einmal. Beim nächsten Neustart ging abwechselnd immer nur ein Wechselrichter oder der andere. Sporadisch

  • Ich habe dann einen zweiten Wemos dazugenommen. Meine derzeitige Version besteht aus zwei Webmos mit zwei RS485-Interfaces

  • 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
  • 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.


       
    AntwortZitat
    lobomau
    (@lobomau)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 79
     

    @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?


       
    AntwortZitat
    (@und-mehr)
    Heroischer Stromgenerator
    Beigetreten: Vor 2 Jahren
    Beiträge: 1140
     

  • 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.

    ..,-


       
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

    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?


       
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

  • 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.

    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


       
    AntwortZitat
    (@linuxdep)
    Heroischer Stromgenerator
    Beigetreten: Vor 3 Jahren
    Beiträge: 2927
     

    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?

    Victron MPPT Rechner
    Leitungsrechner by polz
    SolarRechner HTW-Berlin
    Akkutester A40L zu verleihen
    Anleitung Deye 12k Einrichtung mit Bildern


       
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

    Das gesamte Schema funktioniert wie folgt:

  • Ich habe einen digitalen (nicht smarten) Stromzähler, nennt sich "Moderne Messeinrichtung"

  • 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.


       
    AntwortZitat
    lobomau
    (@lobomau)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 79
     

  • 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.


       
    AntwortZitat
    (@andreash)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 166
     

  • 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.


       
    AntwortZitat
    (@andreash)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 166
     

    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.


       
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

    Bei mir ist das wie folgt umgesetzt:

  • Der Tastkopf sendet per Mqtt (Tasmota) an den IoBroker. 10 Sekunden scheint mir die minimale MQQT-Sendefrequenz zu sein (TelePeriod). Bin allerdings absoluter Tasmota-Noob

  • Bein Blockly-Skript sieht Deinem, AndreasH sehr ähnlich

  •    
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

    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).

  • Der Taskopf sendet per mqtt an den iobroker, 10 Sekunden sind das kleinste Interval, das ich im Tasmota einstellen kann. (TelePeriod)

  • Ich habe zum Tastkopf noch einen Shelly auf der AC-Seite der Wechselrichter laufen, der die derzeitige Erzeugung der WR misst
  • Im IOBroker läuft ein kleines Blockly-Skript. Hier die logische Beschreibung

  • Bei jeder Änderung am aktuellen Stromverbrauch des Hauses, tue folgendes:

  • Ermittle aktuellen Stromverbrauch am Stromzähler

  • Ermittle aktuellen Stromerzeugung am Shelly

  • Neuer zu erzeugender Gesamtwert = Hausverbrauch + Aktuelle Stromerzeugung

  • Wert pro Soyosource = Neuer zu erzeugender Gesamtwert / 2

  • Sende per REST-Call je den halbierten Wert an die Soyosources
  • 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.


       
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

    Und hier noch ein Screenshot aus einem Soyosource Controller. Sie wissen ja nichts voneinander, daher ist hier auch jeweils 1 Soyo eingetragen


       
    AntwortZitat
    (@andreash)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 166
     

    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.


       
    AntwortZitat
    (@lame02)
    Vorsichtiger Stromfühler
    Beigetreten: Vor 2 Jahren
    Beiträge: 32
     

    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.


       
    AntwortZitat
    Seite 7 / 18
    Teilen: