Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.216
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    57

Posts erstellt von photron

  1. Die Art des Speichers wird jetzt am Device Type automatisch erkannt. Es ist nicht mehr notwendig das von Hand auszuwählen.

    Zusammenhängende Registerbereiche werden jetzt in einem Stück gelesen. Dadurch werden weniger Leseoperartion benötigt und die Timeouts sollten weniger werden, oder villeicht auch ganz verschwinden.

    Edit: Veraltete Firmware entfernt.

     

  2. On 5/13/2024 at 8:18 PM, till said:

    Ich teste nachher mal wenn die Kinder schlafen, aber ich vermute da ich ja jetzt schon timeouts habe dass das mit 4 Zählern Probleme geben könnte. Wenn die Zähler vom selben Host kommen, teilen die sich dann eine Verbindung?

    Es wird nur eine Verbindung aufgebaut die sich dann alle vier Zähler teilen. Es werden aber dennoch mehr Daten ausgelesen. Ich habe da noch Ideen das zu verbessern. Zum Beispiel, werden aktuell alle Werte einzeln gelesen, auch wenn sie in den Registern hintereinander weg stehen und eigentlich meherer Werte in einem Rutsch gelesen werden könnten.

  3. On 5/13/2024 at 8:18 PM, till said:

    Probier mal Adresse 0, das ist der DeviceType:

    {
    "Name": "Stringinverter",
    "Value": 2.0
    },
    {
    "Name": "Hybridinverter 1-ph",
    "Value": 3.0
    },
    {
    "Name": "Microinverter",
    "Value": 4.0
    },
    {
    "Name": "Hybridinverter 3-ph",
    "Value": 5.0
    },
    {
    "Name": "Hybridinverter 3-ph HV",
    "Value": 6.0
    }

     

    Danke, danach hatte ich gesucht. Die alte Version der Spezifikation kannte die Hochvolt-Varinante noch nicht. Wir haben hier eine neue Version gefunden. Dort steht auch der 10x Faktor für Spannung und Leistung der Hochvolt-Batterie drin:

    https://github.com/evcc-io/evcc/discussions/13460#discussioncomment-9138426

  4. On 5/13/2024 at 6:38 PM, Jojo said:

    In der Übersicht der Stromzähler ist mir beim "Deye Wechselrichter" die dritte Spalte ("Energie­ein­speisung") noch aufgefallen. Was sagt dieser Wert aus (bei mir 0,00 kWh)? 

    Ist die erste Spalte ("Leistung") quasi der Eigenverbrauch des Wechselrichters? Größenordnungsmäßig dürfte der Wert passen.

    16.png

    Einmal zum Verständnis:

    Die Leistungsspalte ist die Leistung die in das jeweilige "Ding" rein (positiv) oder raus (negativ) geht. Nach diesen Zahlen müsste da gerade folgendes passieren:

    Die Wallbox tut nichts.

    In den Wechselrichter gehen gerade 161 W rein. Das ist eher komisch. Dieser Werte sollte das sein was gerade am AC Anschluss deines Wechselrichters passiert. Wenn der Speicher voll ist und der Wechselrichter gerade bei voller Sonne 10 kW produziert und ans Haus/Netz abgibt, dann sollte da -10.000 W stehen. Wenn der Speicher mit 1 kW lädt, bei 10 kW Sonne, dann gehen aus dem Wechselrichter noch 9 kW ans Haus/Netz, dann sollte da -9.000 W stehen. So ist dieser Wert gedacht. Der Energie­ein­speisung-Wert sollte das sein, was dein Wechselrichter gesamt an Energie abgegeben hat. Da lese ich aktuell Register 504 "Total Active Power Generation" für aus. Das hat aber wohl keinen sinnvollen Wert.

    Am Netzanschluss werden gerade 796 W an das Stromnetz abgegeben/verkauft. Es wurden 2.064,8 kWh aus dem Netz bezogen/gekauft und 2.826,7 kWh ans Netz abgegeben/verkauft.

    Der Speicher entlädt mit 15 W. Es wurden 2.070,8 kWh in den Speicher geladen und 2.047,4 kWh aus dem Speicher entladen.

    Die Last/das Haus verbraucht gerade 756 W und hat bisher 6.668,4 kWh verbraucht.

    So richtig passt das alles nicht zusammen. Ich könnte jetzt behaupten es ist in Wirklichkeit folgendes passiert:

    Der Wechselrichter nimmt nicht 161 W auf, sondern gibt 1.610 W ab. Dort müsste also -1.610 W stehen. Davon verbraucht das Haus 756 W und die restlichen 796 W werden ans Netz verkauft.

    On 5/13/2024 at 6:28 PM, Jojo said:

    15.png

    Das würde dann auch besser zu diesen Zahlen passen. Kannst du mir deine Grafik erklären? Ich lese das so:

    PV produziert 1.820 W (14% der möglichen Gesamtleistung von 13 kW)

    Der Speicher ist 99% voll und entlädt mit 7 W.

    Das Haus verbraucht 796 W.

    900 W werden an das Stromnetz verkauft.

    Für die Leistung des Wechselrichters lese ich Register 636 "Output Total Active Power" in W. Welchen Wert nimmt du dafür?

    On 5/13/2024 at 6:28 PM, Jojo said:

    12.png

    Am Netzanschluss passen die Ströme nicht zu den Leistungen. Da muss ich auch noch mal schauen.

  5. Danke für's Testen!

    On 5/11/2024 at 9:39 PM, till said:

    Ansonsten stimmt bei mir die skalierung bei der Batterie noch nicht:

    Die Skaliserung ist nach Registertabelle und scheint bei @Jojo ja auch so zu passen. Ich kann keine andere Dokumention dazu finden. Also folge ich erstmal deiner Vermutung und füge eine zweite Variante des virtuellen Zählers für den Hochspannungs-Speicher hinzu. Ich kann in den Modbus-Registern keins finden, dass mir erlauben würde, automatisch zwischen Niederspannungs- und Hochspannungs-Speicher zu unterscheiden.

    On 5/11/2024 at 9:39 PM, till said:

    Bei der Spannung zwischen den Phasen sieht auch noch was aufregend aus...

    Die Phasenspannungen habe ich erstmal rausgeworfen. Auch hier kann ich aus den Modbus-Registern nicht erkennen, ob das System mit oder ohne Neutralleiter angeschlossen ist und somit die Spannungen zu Neutral oder zwischen den Phasen misst. Ich gehe erstmal davon aus, dass der Neutralleiter angeschlossen ist.

    On 5/12/2024 at 7:07 PM, Jojo said:

    Etwas ist mir noch aufgefallen: Bei "Gleichstromn (Laden minus Entladen)" und "Leistung (Laden minus Entladen)" passt das Vorzeichen nicht bzw die Bezeichnung ist missverständlich. In diesem Moment wurde der Akku mit 74,49 A geladen. Positiv werden Strom und Leistung beim Entladen des Akkus.

    Das betrachten verschiedene Hersteller verscheiden. Wir haben uns darauf festgelegt, dass Export/Einspeisung/Entladen als negativer Wert und Import/Bezug/Laden als positiver Wert dargestellt werden. Ich habe das Vorzeichen für Strom und Leistung des Speichers gedreht. Die Dokumention von Deye schweigt sich darüber leider aus.

    Mir ist noch aufgefallen, dass bei euch beiden Spannung * Strom != Leistung ist. Deye liefert mehere Stromwerte und Leistungswerte für den Netzanschluss und aus der Dokumention ist nicht ganz klar was was ist. Ich denke ich hatte da die falschen Werte genommen. Ich nehme dafür jetzt die externen Werte.

    Könnt ihr beide bitte mit der angehängten Firmware testen. Dort habe ich jetzt die konfigurierbaren Zähler auf fünf erhöht, damit ihr alles gleichzeitg testen könnt.

    Schaut mal bitte, ob am Netzanschluss die Ströme und die Leistung passen. Für unsere Regelung müssen wir wissen wieviel Leitung insgesamt und wie viel Strom pro Phase am Netzanschluss bezogen (positiver Wert) oder eingespeist (negativ) wird.

    Edit: Veraltete Firmware entfernt.

     

    • Thanks 1
  6. Danke für's Testen. Das funktioniert besser als erwartet, dafür das ich das hier nicht getestet habe.

    On 5/3/2024 at 10:00 PM, Jojo said:

    Wenn ich Modbus/TCP -> Registertabelle Deye Wechselrichter wähle, kann ich bei "virtueller Zähler" zwar zwischen Wechselrichter, Netzanschluss, Speicher und Last wählen, aber alles außer Netzanschluss führt zu der Meldung "Speichern der Strom­zähler-Ein­stell­ungen fehl­ge­schlagen."

    Den Bug können wir nachstellen. Wir gehen dem nach.

    On 5/3/2024 at 10:00 PM, Jojo said:

    Bei "Wechselrichter" und "Batterie" stimmen die Temperaturen nicht. Da fehlt glaube ich ein Faktor: (($val-1000)*0.1)

    Stimmt, die -1000 fehlen. Das habe ich verbessert.

    On 5/3/2024 at 10:00 PM, Jojo said:

    Was noch auffällt: Mein Log wird geflutet mit Meldungen. Beim Versuch, da einen Report zu laden kommt die Meldung "Konnte Debug-Report nicht laden The operation was aborted."

    Die große Menge an Meldung kommt daher das ich alles auslese und ausgebe. Das wird in der fertigen Version nicht so sein.

    On 5/3/2024 at 10:00 PM, Jojo said:

    Mittlerweile habe ich auch gelesen, dass ich nur 2 Zähler konfigurieren kann, von denen aber einer ja der interne ist.

    Das werden wir in Zukuft erhöhen.

  7. Hier eine erste WARP3 Firmware mit Deye Hybrid-Wechselrichter Support. Absolut ungetestet, nur basierend auf der Dokumentation. Danke Jojo.

    @Jojo Wenn du das testen möchtest, dann richte bitte vier Modbus/TCP Zähler auf der Zähler-Unterseite der Wallbox ein. Jeweils einen für jeden der möglichen vier virtuellen Zähler. Du solltest dann dort auch schon Daten sehen, wenn es funktioniert. Ich lese im Moment noch mehr Register aus, als ich in der Meters API abbilden kann. Mir ist nicht ganz klar wie die ganzen Spannungen, Ströme und Leistungen zuzuordnen sind. Daher werden im Ereignislog alle ausgelesenen Werte ausgegeben. Am besten wäre, wenn du die Ereignis-Log Unterseite öffnest, sich die Daten kurz (villeicht 30-40 Sekunden) sammeln lässt und dann das Ereignis-Log speicherst und mir schicken könntest.

    Edit: Veraltete Firmware entfernt.

     

    • Like 1
  8. Die Lösung ist wie pip schon selbst schreibt: pip install

    Ich habe gerade alle Varianten durchprobiert die wir dokumentieren, um die Python Bindings zu installieren. Wir liefern das egg-info nicht direkt aus. Das veraltete egg Format wird durch "python setup.py install" erzeugt. Ich vermute du hast die Python Bindings darüber installiert. Laut Dokumentation, die ich dazu finden konnte, ist es deprecated setup.py direkt aufzurufen.

    Man soll stattdessen "pip install ." im Verzeichnis ausführen, in dem die setup.py Datei liegt. Das installiert die Bindings dann im aktuellen dist-info Format.

    Danke für den Hinweis.

  9. On 4/30/2024 at 8:13 PM, till said:

    Laut dem Dokument werden die 100er Modelle unterstüzt. Diese beziehen sich auf den Wechselrichter, aber nicht auf den Netzanschluss oder den Speicher.

    On 5/1/2024 at 12:32 PM, Jojo said:

    ich betreibe ebenfalls einen Deye (SUN-12K-SG04LP3) und lese diesen mit FHEM über Modbus aus. Die Register findet Ihr im angehängten Dokument.

    Danke. Welche Register liest du den aus? Für PV Überschlussladen brauchen wir aktuell die Leistung am Netzanschluss und zukünftig werden wir auch noch die Leistung und den SoC des Speichers mit einbeziehen. Anzeigen tun wir auch noch die importierte und exportierte Energie.

  10. Wir brauchen die Information darüber welche Werte in welchem Modbus-Register zu finden sind. Für Deye konnte ich da auf Anhieb gerade keine Dokumentation finden.

    An diesem Thema arbeiten wir gerade aktiv. Da wird sich intern wahrscheinlich noch was an der Struktur ändern. So sieht das aktuelle für einen Solarmax Max.Storage Wechelrichter aus:

    https://github.com/Tinkerforge/esp32-firmware/blob/3290eb60f6d56d078d148f07096fa17484654661/software/src/modules/meters_modbus_tcp/prepare.py#L629

    Es wir auch in Kürze die Möglichkeit geben, dass du einen benutzerdefinierten Modbus/TCP-Zähler anlegst und dort von Hand angibst in welchen Modbus-Registern welche Werte zu finden sind.

    Sprich, wenn du uns Dokumentation bereitstellen kannst und uns am besten noch beim Testen helfen kannst, dann schauen wir uns an, ob wir das einbauen können.

    Oder du kannst dir das esp32-firmware git clonen, und den Support selbst einbauen und einen Pull Request auf GitHub machen.

    Oder du kannst dir in Kürze einen benutzerdefinierten Zähler einrichten und die Modbus-Register von Hand angeben.

    Oder Deye unterstüzt SunSpec und du verwendest unsere vorhandene SunSpec Unterstützung. Leider ist SunSpec nicht bei allen Herstellern gleich gut umgesetzt. Daher haben wir jetzt für Sungrow nicht SunSpec sondern gehen über den Sungrow eigenen Registersatz.

  11. Das mit den 5 Hz hatte ich korrigiert, aber nicht richtig 🤦‍♂️. Jetzt sollte es aber richtig sein. Teste bitte nochmal mit der angehängten Firmware. Dort haben ich jetzt auch die ganzen Debugausgaben entfernt. Du solltest mit dieser Firmware jetzt PV-Überschussladen testen können.

    Das Abfrageintervall ist im Moment identisch. Das kann man auch Dauer noch ändern, für den Moment würde ich es erstmal so lassen.

    Wir planen dem nächst vier statt zwei Zähler zu erlauben. Das hanen wir im Blick 😉

    Die Sungrow-Unterstützung direkt über Modbus/TCP ohne den Umweg über SunSpec wird dann Teil der nächsten Firmware-Version. Releasezeitpunkt steht aktuell allerdings noch nicht fest.

    Danke für deine Mithilfe.

    Edit: Veraltete Firmware entfernt.

     

  12. Danke für das Log. Das bestätigt mein Verstandnis der Daten.

    Ich habe jetzt das Mapping nochmal überabeitet und aufgespalten, damit wir alle Daten sinnvoll darstellen können.

    Statt "Sungrow Hybrid Wechselrichter" wählt du als Vorlage jetzt "Sungrow Hybrid Wechselrichter Netzanschluss". Dort ist der 13010 Wert als "Wirk­leistung (Bezug minus Ein­speisung)" abgebildet. Das ist aktuell der einzige Wert der für das PV Überschlussladen notwendig ist. Zukünftig wollen wir in der Regelung noch Batteriespeicher berücksichtigen. Dafür ist dann die "Sungrow Hybrid Wechselrichter Speicher" Vorlage dar. Die Regelung wird dann die Leitung und den SoC des Batteriespeichers mit in Betracht nehmen. Die "Sungrow Hybrid Wechselrichter" Vorlage und die "Sungrow Hybrid Wechselrichter Last" Vorlage dienen nur der Ansicht der Daten und werden für keinerlei Regelung benötigt.

    Kannst du bitte mit der angehängten Firmware nochmal deine Daten anschauen? Es müsste jetzt alles passen, nur bei den Energiewerten bin ich noch nicht ganz schlüssig.

    Edit: Veraltete Firmware entfernt.

     

    • Like 1
  13. Schaust du dir die SunSpec Werte an, oder die Modbus/TCP Werte? SunSpec bildet 13003 auf Wirk­energie (Ein­speisung) ab. Ich nehme dafür über Modbus/TCP 13046.

    Die Frequenz wird laut Datenblatt in 0,1 Hz übertragen, die Anlage an der ich hier teste, meldet aber 5001 als Rohwert. Also 0.01 Hz. Das Datenblatt hat wohl also recht.

    Wirk­leistung (Bezug minus Ein­speisung) kommt aus 13010, allerdings negiert, da wir Ein­speisung als negativen Wert abbilden.

    Kannst du mir bitte das Ereignis-Log der Wallbox schicken? Bevor du es speicherst lass das Log einen Moment lang aufsammeln, damit auch einmal ein ganzer Datensatz drin steht.

  14. Das Skript sucht nach einem Master Brick Hardware Version 3, der alleine, oder der unterste in einem Stapel ist, kann aber keinen finden. An diesem Master Brick muss das zu flashende Bricklet an Port D angeschlossen sein.

    Brick Viewer kann alle Bricklets ann jeglichen Bricks flashen, kann aber nur die Firmware und nicht den Bootloader flashen.

    Wie ist dein Hardware-Aufbau? An was für einem Brick hast du das Bricklet angeschlossen?

  15. Das ist der Auszug der Sungrow Daten der anderen Kundenanlage, heute Nachmittag mit etwas Sonne:

    Total Output Energy [0.1 kWh] (5004): 40723 (40723 0)
    Inside Temperature [0.1 °C] (5008): 296
    Total DC Power [W] (5017): 567 (567 0)
    A-B / A-N Voltage [0.1 V] (5019): 2346
    B-C / B-N Voltage [0.1 V] (5020): 2323
    C-A / C-N Voltage [0.1 V] (5021): 2337
    Reactive Power [var] (5033): -4 (65532 65535)
    Power Factor [0.001] (5035): 1000
    Grid frequency [0.01 Hz] (5036): 4996
    Total PV Generation [0.1 kWh] (13003): 38096 (38096 0)
    Total PV Energy Export [0.1 kWh] (13006): 24716 (24716 0)
    Load Power [W] (13008): -1143 (64393 65535)
    Export Power [W] (13010): 1522 (1522 0)
    Total PV Energy Battery Charge [0.1 kWh] (13013): 7074 (7074 0)
    Total Direct Battery Consumption [0.1 kWh] (13018): 6306 (6306 0)
    Battery Voltage [0.1 V] (13020): 4006
    Battery Current [0.1 A] (13021): 0
    Battery Power [W] (13022): 0
    Battery Level [0.1 %] (13023): 1000
    Battery SoH [0.1 %] (13024): 1000
    Battery Temperature [0.1 °C] (13025): 160
    Total Battery Energy Discharge [0.1 kWh] (13027): 10292 (10292 0)
    Grid State (13030): 0
    Phase A Current [0.1 A] (13031): 6
    Phase B Current [0.1 A] (13032): 6
    Phase C Current [0.1 A] (13033): 7
    Total Active Power [W] (13034): 429 (429 0)
    Total Import Energy [0.1 kWh] (13037): 37381 (37381 0)
    Battery Capacity [0.1 kWh | Ah] (13039): 1920
    Total Charge Energy [0.1 kWh] (13041): 11234 (11234 0)
    Total Export Energy [0.1 kWh] (13046): 42965 (42965 0)

    Und hier im Dunkeln:

    Total Output Energy [0.1 kWh] (5004): 40725 (40725 0)
    Inside Temperature [0.1 °C] (5008): 289
    Total DC Power [W] (5017): 0 (0 0)
    A-B / A-N Voltage [0.1 V] (5019): 2338
    B-C / B-N Voltage [0.1 V] (5020): 2328
    C-A / C-N Voltage [0.1 V] (5021): 2330
    Reactive Power [var] (5033): -5 (65531 65535)
    Power Factor [0.001] (5035): 1000
    Grid frequency [0.01 Hz] (5036): 4999
    Total PV Generation [0.1 kWh] (13003): 38097 (38097 0)
    Total PV Energy Export [0.1 kWh] (13006): 24717 (24717 0)
    Load Power [W] (13008): 335 (335 0)
    Export Power [W] (13010): -16 (65520 65535)
    Total PV Energy Battery Charge [0.1 kWh] (13013): 7074 (7074 0)
    Total Direct Battery Consumption [0.1 kWh] (13018): 6306 (6306 0)
    Battery Voltage [0.1 V] (13020): 3980
    Battery Current [0.1 A] (13021): 9
    Battery Power [W] (13022): 319
    Battery Level [0.1 %] (13023): 978
    Battery SoH [0.1 %] (13024): 1000
    Battery Temperature [0.1 °C] (13025): 160
    Total Battery Energy Discharge [0.1 kWh] (13027): 10293 (10293 0)
    Grid State (13030): 0
    Phase A Current [0.1 A] (13031): 6
    Phase B Current [0.1 A] (13032): 6
    Phase C Current [0.1 A] (13033): 6
    Total Active Power [W] (13034): 319 (319 0)
    Total Import Energy [0.1 kWh] (13037): 37381 (37381 0)
    Battery Capacity [0.1 kWh | Ah] (13039): 1920
    Total Charge Energy [0.1 kWh] (13041): 11234 (11234 0)
    Total Export Energy [0.1 kWh] (13046): 42965 (42965 0)

    Sorry für das etwas kryptische Format. Der Wert nach dem Doppelpunkt ist der eigentliche Messwert:

    <Name> [<Einheit>] (<Adresse>): <Wert> (<Rohdaten>)

    Mir ist noch nicht ganz klar wie Load Power, Export Power, Battery Power und Total Active Power im Zusammenhang stehen.

    Der untere Fall scheint mir klarer. PV liefert 0W (Total DC Power). Die Batterie wird mit 319W (Battery Power) entladen. Das Haus hat eine Bedarf von 335W (Load Power). Die Differenz von 16W die die Batterie nicht liefert wird aus dem Netz importiert (negative Export Power). Der Wechselrichter liefert dem Haus insgesamt 319W (Total Active Power).

    Der obere Fall ist mir unklarer. PV liefert 567W  (Total DC Power). Die Batterie ist voll und wird nicht entladen (Batterie Level ist 100% und Batterie Power ist 0W). Das Haus hat einen Überschuss (???) von 1143W (negative Load Power, wie kann das sein?). Der Wechselrichter macht aus 567W(DC) dann 429W(AC) (Total Active Power)? Gesammt werden 1522W an das Netz exportiert. Die Summe geht nicht auf, da gehen 50W verloren. Vermutlich liegt dass daran, dass nicht alle Werte zum exakt gleichen Zeitpunkt aufgezeichnet wurden.

    Zu klären wäre jetzt wie genau die Sungrow-Werte auf unsere Zähler-API zugeordnet werden müssen, damit am Ende etwas sinvolles bei herum kommt.

    Nachtrag:

    Die negative Load Power kommt daher, dass dort ncoh weiter Wechselrichter sitzen, die auch einspeisen.

  16. Das Device unter 247 wirst du nur haben wenn du den WiNet-S hast, vermute ich. Wenn du den nicht verbaut hast kommt vermutlich nichts unter 247.

    On 4/24/2024 at 4:30 PM, f-zappa said:

    Ich habe das mehrfach probiert, immer die gleiche Ausgabe. Genau so zuverlässig kommt aber auf dem Gerät 1 immer das Modell 101 (was mir ja nix bringt).

    Darf ich fragen, was du em Ende erreichen möchtest? PV-Überschussladen? Dafür muss die Wallbox wissen wieviel Leistung über ist.

    Mal von SunSpec weg. Hier eine Firmware die einen ersten Schuss für eine generelle Modbus/TCP Unterstützung hat mit Sungrow SH... Vorlage. Das Mapping und die Auswahl der Sungrow-Werte auf unsere Zähler-API ist absolute experimentel und muss definitiv überarbeitet werden. Ich habe da mal ein erste Auswahl getroffen. Es werden aber alle gelesenen Werte auch im Ereignis-Log ausgegeben.

    Also, anstatt einen SunSpec-Zähler, kannst du einen Modbus/TCP Zähler hinzufügen und als Vorlage Sungrow SH... auswählen. Dann werden die 5000er und 13000er Register von Sungrow gelesen.

    Edit: Veraltete Firmware entfernt.

     

  17. Wir haben gerade noch einen anderen Kunden auch mit Problemen bei Sungrow. Es scheint mir so, dass man die Modbus/TCP Schnittstelle recht schnell überlasen kann.

    Wenn ich die richtig verstehe fagst du die Daten ach noch mit anderen Programmen ab. Könntest du versuchen die anderen Abfragen zu pausieren, so dass am besten nur wir alleine mit Modbus/TCP reden können? Dann den Suchbereich auf 247-247 einschränken. Das funktioniert gerade beim anderen Kunden, wenn auch mit Aussetzern.

×
×
  • Neu erstellen...