welche TCP-Register für "aktuell erzeugte Leistung" und "Überschuss-Leistung" ?

  • Hallo Zusammen,


    ich hab einen Fronius Symo 15kW samt 63A-3 Smart Meter.

    Nun versuche ich ich die Modbus TCP-Werte auszulesen.

    Leider scheitert es schon an der korrekten Zuordnung der Register... :rolleyes:


    Ob "float" oder "int + SF" Ausgabe für mich mehr Sinn macht, hab ich noch nicht verstanden.

    Bzw. ist mir der Unterschied noch nichtmal klar.

    Aber das wäre erst meine 2. Frage...


    Was ich fürs erste eigentlich suche, ist:

    - wie viel Leistung (W) erzeugt der WR aktuell?!

    Ich nehme an, das wäre "AC Power" auf Register 40092 (float) bzw. 40084 (int16)

    Richtig?!


    - und über welches Register finde ich dann die Überschuss-Leistung?!

    ist das vielleicht "Total Real Power" auf Register 40098 (float) bzw. 40088 (int16)


    Wenn der Wert negativ ist, ist Überschuss vorhanden, wenn positiv, dann wird übers Netz bezogen?!

    Oder umgekehrt?


    Oder ist ein ganz anderes Register auszuwerten?!


    Danke euch schonmal!! <3:*:)

  • Mhh... Danke, aber das sagt mir jetzt auch nix :/

    Ich lese per TA CMI aus, das is eher Modbus-TCP für Anfänger, wo ich quasi nur die Register eingeben muss.


    Aber ich versuch mich mal durch deinen Link zu lesen... vielleicht sind da die 2 gesuchten Register drin?!

  • Das sind alles SunSpec-Register die sich eben über das SunSpec-Modell auch selbst erklären. Die Registernumnern sind da je nach Betriebsmodus auch variabel.

    Kannst ja mal eine gescheite SunSpec-Implementierung wie mbmd oder EVCC drauf ansetzen.


    Bzgl. des Netzzählers muss man erstmal gucken ob und wie und mit welchem Modell der über den WR oder direkt abgefragt werden kann. Manchmal braucht man dazu eine andere Adresse oder einen anderen Port oder eine andere Modbus-ID.


    Float ist häufig die bessere und unkompliziertere Einstellung.


    Beim Symo ist das in der Regel

    WR Port 502, Modbus-ID 200, SunSpec Model 213 (Float), Wirkleistung (W)

  • Vom Grundsatz wohl richtig. Schau dir den Code im Github an, es ist immer der Wert und ein Skalierungfaktor zu beachten.




    boolean requestInverter() {
    short regs[2];
    int res = modbusRequest(1, 40083, 2, regs);
    if (modbusError(res))
    return false;
    inverterAC = regs[0] * pow(10, regs[1]); // ac power * scale
    return true;
    }
    boolean requestMeter() {
    short regs[16];
    int res = modbusRequest(METER_UID, 40076, 16, regs);
    if (modbusError(res))
    return false;
    voltage = regs[3] * pow(10, regs[8]); // ac voltage F3 * scale
    float sf = pow(10, regs[15]);
    meterPower = -regs[11] * sf; // ac power * scale
    meterPowerPhaseA = regs[12] * sf;
    meterPowerPhaseB = regs[13] * sf;
    meterPowerPhaseC = regs[14] * sf;
    return true;



    Wert * 10 hoch Skalierungsfaktor.


    Der Skalierungsfaktor verschiebt sich.

    Schau dir die Werte mal an, wie sie gelesen werden. Dann erkennt man das Muster.


    Informatiker hier werden es genau erklären können.


    Beim Real Power auch negativ und positiv.


    Ich lese SolarEdge aus, Fronius hat andere Register dafür .

    9,975 kWp - 35 * 285W LG - Solaredge - SE9K - 26 Module SW und 9 Module NO

    e-Golf 300 - go-e Charger 22 kW an CEE16 Rot - PV - -Ladung - MODBUS - NodeRed Eigenentwicklung

    Jahressollwerte:
    TS CSMAF 0,56 1,17 2,44 3,60 4,06 4,00 3,96 3,43 2,51 1,59 0,76 0,48

    MS CSMAF 17,38 36,14 75,59 111,58 125,91 123,91 122,61 106,27 77,79 49,15 23,49 14,82

  • Hallo,

    nein, ich werd meine Haussteuerung nicht ändern.

    Das TA CMI kann Modbus TCP auslesen, und ich verwende das für den Rest der Haussteuerung. Ich bau mir jetzt nicht wieder irgendwelche Zusatz-Auslese-Geräte ins System rein, nur um zwei Werte auszulesen, die eh am lesbaren Bus liegen.

    Das muss auch so gehen.

    Modbus TCP ist da. Warum soll man das nicht nutzen können?


    Sunspec sagt mir noch nicht viel.

    Aber so wie ichs verstanden haben, ist das aber einfach nur ein Standard auf den sich einige Hersteller geeinigt haben, oder?

    Ich stell mir dass so vor, wie z.B. die SAE J1939 CAN-Bus Norm. Die verwenden z.B. alle Industrie-Getriebe und Motoren.

    Da sind einfach fixe CAN-Bus Adressen definiert, an die sich alle halten müssen.


    Die Registernumnern sind da je nach Betriebsmodus auch variabel.

    Soll das heißen, die Fronius Excel Register-Listen sind unbrauchbar?

    Das kann ich mir ja garnicht vorstellen. Wozu gibt es die denn dann überhaupt?

    Entsprechend die Fronius-Excel-Tabellen nicht den Sunspec Adressen?!

  • Vom Grundsatz wohl richtig. Schau dir den Code im Github an, es ist immer der Wert und ein Skalierungfaktor zu beachten.

    OK, danke,

    das wären hier also Register 40083 und 40076.

    Die schau ich mir mal an. Und schau ob ich hier gleiche Werte, wie auf den Geräten Display rausbekomme...


    Ich probier mal etwas herum

  • Es wird mit Offsets gearbeitet die sich aus der Anzahl der Datenfelder und Gerätekombinationen ergeben. Daher sind fixe Tabellen zwar im Einzelfall möglich aber eben bei SunSpec nicht allgemeingültig.

    Wenn man es richtig machen will muss man das Modell implimentieren und nicht den einzelnen Wert. Damit kann man nämlich auf die Nase fallen - muss man aber nicht.

    Daher mag das für eigene Basteleien funktionieren für universell einsatzbare Systeme wie mbmd oder EVCC aber im Zweifelsfall nicht.

  • Ja, bin noch nicht zu tief in den PV-Datenbus Thema drin.

    Ist aber schon Schade, dass die PV-Firmen hier ihr eigenes Süppchen kochen. Scheint ja fast so, als wäre dieses Sunspec erfunden worden, damit nicht mit Standard-Geräten gearbeitet werden kann, und Zusatz-Geräte verkauft werden können ;)


    Wieso nicht einfach Modbus ganz normal nutzen, wie alle anderen Geräte auch?!

    Ärgerlich...

    Naja, ich werds schon hinbekommen. Kann ja nicht sein, dass man 2 Werte nicht aus dem Bus auslesen kann.

    in den nächsten paar Stunden sollte alles soweit sein, dann kann ich mal am Bus schnüffeln

  • Es ist ganz normales Modbus! SunSpec kann aber eben nicht nur den kleinen einzelnen Privathaus-WR in einem Datenmodell abbilden sondern auch Großinstallationen und erlaubt auch nachträgliche, standardisierte Erweiterungen.

    SunSpec ist ein Segen! Sonst müsste man bei jedem Gerät immer diese Registertabellen individuell studieren und mit jeder zweiten Firmware wäre das Mapping wieder ganz anderes.