Sunny WebBox XML Auswertung Differenzen zur WebSeite

  • Hallo zusammen,


    ich baue mir gerade eine Windows-Anwendung auf Java-Basis mit der ich die ganzen Daten grafisch angezeigt bekommen kann, die mir die Sunny Web Box alle 5 Minuten schickt.


    Im Prinzip habe ich ein paar Verständnisfragen:


    1) Doppelte Einträge in der XML Datei
    In der XML Datei gibt es zum Beispiel folgenden Abschnitt:



    Es ist bei beiden Knoten der gleiche Key "DcMs.Watt[A]", aber scheinbar einmal von dem Wechselrichter und einmal von der Sunny-Web-Box. Ist das richtig?


    Meine Anwendung nimmt nur die Daten vom Wechselrichter. Ich überprüfe jeden Key, ob da meine Seriennummer des Wechselrichters drin steht. Die anderen Knoten verwerfe ich. In diesem Fall nehme ich nur den unteren Knoten, der obere wird nicht berücksichtigt.


    2) Kann die Werte der Sunny-Webbox-Webseite nicht in der XML finden


    Wenn ich mir einen Tag aussuche (01.03.2015 um 12:30 Uhr), sehe ich in der Webansicht der Sunnybox folgendes (siehe Anhang). Also ein Wert von 4,044 kW.


    Das bedeutet doch, dass ich 4044 Watt in einer Stunde erzeugen würde, bei gleich bleibenden Bedingungen. Da ich doch aber nur einen Mittelwert der letzten 5 Minuten erhalte, müsste ich doch ungefähr ein zwölftel erzeugt haben (in diesen 5 Minuten), also ungefähr 337 Watt.


    Ich kann aber weder einen Wert der um 337 Watt liegt, noch diese 4,044 kW in der XML finden.


    Anmerkung: Wir haben zwei Strings auf dem Dach. Die Webansicht zieht ja sicherlich beide Strings zusammen. Aber auch die Summe von den beiden Strings zusammen, ergeben nicht diese Werte!


    Hier einmal der Auszug der XML. Ich habe alles entfernt, was nicht mit Watt, kW oder ähnliches zu tun hat:



    Wenn ich das richtig verstehe ist der erste Abschnitt Metering.TotWhOut die Gesamterzeugung seit Anfang an bis zu diesem Zeitpunkt. GridMs.TotW scheint die Summe von beiden Strings zu sein die jeweils in DcMs.Watt[A] bzw DcMs.Watt[B] definiert sind.



    Die letzte Idee die ich noch hatte ist die nächste Datei anzusehen, also die Datei am 01.03.2015 um 12:35:00 Uhr und mir da die totalen Werte anzusehen, also Metering.TotWhOut.


    Hier der entsprechende Abschnitt in der XML:


    Code
    1. <CurrentPublic>
    2. <Key>SN: 304620039 (SN: 304620039):304620039:Metering.TotWhOut</Key>
    3. <Mean>10257.755</Mean>
    4. <Unit>kWh</Unit>
    5. <Base>1</Base>
    6. <Period>300</Period>
    7. <Timestamp>2015-03-01T12:35:00</Timestamp>
    8. </CurrentPublic>


    Das bedeutet, dass ich in dem Zeitraum von 12:30 Uhr bis 12:35 Uhr 298 Watt erzeugt habe. Wenn ich das auf eine Stunde umrechne wären das 3576 Watt, also 3,576 kW. Das passt aber auch nicht mit der Grafik von der Sunny-Web-Box überein.



    Vielleicht kann mir da jemand etwas helfen. Ansonsten würde ich mich auf die XML Daten verlassen und was die WebBox genau anzeigt, ignorieren.


    Vielen Dank und viele Grüße
    Hauke

  • Hallo Hauke,


    erst mal herzlich willkommen im PV-Forum.


    Auf Basis deiner Daten gehe ich mal davon aus, dass du einen Wechselrichter mit zwei Strings hast, der über eine WebBox (normal oder Bluetooth?) überwacht wird. Die beiden Strings haben unterschiedliche Leistungen und ggf. auch andere Ausrichtungen. Kannst du ja gerne mal genauer beschreiben wird aber für die Erläuterung nicht so wichtig sein.


    Soweit ist deine Interpretation der Werte richtig, die Differenzen ergeben sich aus folgenden Gründen:


    Der Wechselrichter sendet ca. alle 10 Sekunden aktuelle Daten an die Webbox. Diese speichert die Daten und bildet daraus je nach eingestellter Konfiguration einen 5 Min. Mittelwert. Je nach Kanal werden bis zu 5 Werte gespeichert (Anfang, Ende, Min, Max, und Mittel) die auch mit der XML-Datei ausgegeben werden. Was man aber jetzt leider nicht sehen kann ist, dass der Max-Wert vom Kanal A nicht unbedingt auch von der Uhrzeit identisch mit den Max-Wert von Kanal B sein muss. Der eine könnte um 12:26 und der andere um 12:29 gekommen sein und erscheinen dann im Eintrag von 12:30. Somit kann man die Werte nicht so einfach addieren.
    Ebenfalls sind die Messsensoren der Kanäle im Wechselrichter keine Präzisonsmessgeräte. Laut Herstellerangaben kann es hier zu einer Toleranz von bis zu 3% auf den oberen Leistungswert kommen, die sich dann in gleicher Werthöhe auch auf die untere Leistung auswirkt und somit hier zu noch höheren Toleranzen führen kann. Beispiel max. Leistung 4200 W bei 3% sind +/- 126 Watt. Bei 500W Leistung könnte es somit der Echtwert zwischen 374W und 626W liegen, was einer Toleranz von +/- 25,2% entspricht. Je nach Leistung kann die Toleranz unter Umständen mal negativ oder positiv sein - also nicht alles sehr genau.


    Aus der WebBox werden die Daten nun ins SunnyPortal übertragen. Die Standardansichten die SMA zur Verfügung stellen haben einen Mittelwert von 15 Minuten. Entspricht auch deinem letzten Bild. Hier werden dann wieder ganz andere Werte angezeigt. Abhilfe schafft hier eine andere Auflösung, die man im Sunny Portal selbst einstellen kann, bzw. als kostenpflichtige Zusatzleistung mit dem Pro Package als Lösung fertig bekommt.


    Hier mal 3 Beispiele vom 07.04. um 12 Uhr:


    Messwerte Datenübertragung:
    Leistung String A: 1499,024 W Leistung String B: 1702,341 W Leistung gesamt: 3142,683 W


    Anzeige Sunny Portal Standardansicht (15 Minuten Mittelwert) Leistung 3010 W



    Anzeige Sunny Portal Eigenkonfiguration (5 Minuten Mittelwert) Leistung 3140 W



    Anzeige Sunny Portal Pro Package (kostenpflichtig) Leistung 3143 W



    Anzeige Stringwerte (5 Minuten Mittelwert)



    Wie du siehst je nach Einstellung der Auflösung (Mittelwerte) können die Werte hier abweichen. Die Detailanalyse ist aber nur im Fehlerfall wichtig und da spielen die Abweichungen nicht mehr die große Rolle und einen Leitungsfehler zu finden. Deshalb sollte du die Daten auf jeden Fall im 5 Minuten Intervall abspeichern. Kleiner geht mit der WebBox nicht, da müsstest du dann die Werte direkt aus dem WR auslesen und der Aufwand lohnt sich hier nicht.


    Viele Grüße
    Wolfgang

  • Hallo Hauke,


    noch eine wichtige Ergänzung zu den Differenzen die ich vergessen hatte zu schreiben (war wohl zu früh :wink: ):


    Die Gesamtwerte sind Leistungen auf der AC Seite, die Stringleistungen sind Werte auf der DC Seite. Hier kommen also noch die Verluste des Wechselrichters hinzu.
    Die Werte werden alle im WR erfasst und als einzelne Kanäle an die Webbox weitergegeben, die WebBox berechnet hier nichts mehr. In der grafischen Darstellung in der Webbox Bluetooth und im Sunny Portal werden dann nur die Mittelwertberechnungen auf die vorgegebene Skalierung vorgenommen, wodurch sich die Werte dann verändern, wie du aus meinen vorhergehenden Beispiel sehen kannst.


    Viele Grüße
    Wolfgang

  • Hallo Wolfgang,


    super vielen Dank für deine ausführliche Antwort.


    Zu meiner Anlage: Ich habe 16 Panels, 2 Strings, beide auf der gleichen Dachseite. Und ich habe den Wechselrichter per Bluetooth mit der Sunny Web Box verbunden.


    Das mit den Max-Werten habe ich verstanden und ist ja auch logisch. Ansonsten müsste zu jedem Max und Min Wert ja auch noch das Datum und Uhrzeit in der XML stehen.


    Da ich das "nur" als Hobby-Anwendung erstellen möchte und nicht die 100%ig genauen Werte brauche, wäre mein Ansatz jetzt wie folgt:


    DcMs.Watt[A] + DcMs.Watt[ B] (jeweils den Mean-Wert, also Durchschnitt) von den 5 Minuten. Diesen Wert dann durch 12 Teilen, weil die Summe ja der Watt-Wert für eine Stunde wäre, aber der Durchschnitt ja nur für die 5 Minuten gilt. Wenn man das so ausrechnet, passt es eigentlich auch ganz gut.


    Hier ein Beispiel von mir:


    12:25.xml

    Code
    1. <CurrentPublic>
    2. <Key>SN: 304620039 (SN: 304620039):304620039:Metering.TotWhOut</Key>
    3. <Mean>10257.365</Mean>
    4. <Unit>kWh</Unit>
    5. <Base>1</Base>
    6. <Period>300</Period>
    7. <Timestamp>2015-03-01T12:25:00</Timestamp>
    8. </CurrentPublic>


    12:30.xml


    12:35.xml




    Also um 12:25 Uhr war der Gesamtwert 10257,365 kWh und um 12:30 Uhr waren es 10257,457 kWh. Umgerechnet heißt das, in diesen 5 Minuten wurden 92 Watt produziert. Um 12:35 Uhr waren es 10257,755 kWh, was eine Differenz von 298 Watt bedeutet.


    Wenn ich nun die Durchschnittswerte von 12:30 Uhr nehme (was ja der Durchschnitt von 12:25 bis 12:30 ist), ist das 779 + 690 = 1469 Watt (pro Stunde). Auf 5 Minuten wären das 122 Watt von 12:25 bis 12:30 Uhr. Die Summe hat 92 Watt ergeben, ergibt also eine Differenz von 20 Watt.


    Bei 12:35 Uhr sind die Durchschnittswerte 2389 und 1744 = 4133 Watt (pro Stunde). Auf 5 Minuten sind es dann 344 Watt. Oben waren es 298 Watt.


    Ist das ein legitimer Ansatz für den privaten Gebrauch, oder ist da ein totaler Denkfehler drin?


    Vielen Dank für deine Mühen und viele Grüße aus Bremen,
    Hauke