Beschreibung des Solarlog Datenformats
Auf diesen Seiten finden Sie eine Beschreibung der SolarLog Datenstruktur. Ich habe sie aus einem Dokument von Solare Datensysteme GmbH aus dem Jahr 2008 übernommen.
An der grundlegenden Struktur der Daten, die der heutige SolarLog™ liefert, hat sich nichts geändert. Es sind aber einige Erweiterungen hinzugekommen, von denen mir nicht alle bekannt sind, auf die ich aber in der folgenden Beschreibung hinweise.
Ich übernehme keine Garantie für die 100%ige Richtigkeit der Angaben. Sollte ein Leser Fehler entdecken, oder Kenntnis über hier nicht bekannte Daten haben, bitte ich um eine Email. Ich werde diese Änderungen umgehend in dieses Dokument einarbeiten und allen Interessenten zur Verfügung stellen.
Photonensammler 2024-04-11 15:42
Bei allen hier beschriebenen Dateien handelt es sich um reine Textdateien, die mit einem Texteditor geöffnet und bearbeitet werden können. Achten Sie beim Bearbeiten der Dateien darauf, dass der verwendete Editor keine Sonderformatierungen o.ä. in der Datei speichert. Textverarbeitungsprogramme, wie z.B. MS Word, sind zur Bearbeitung der Dateien nicht geeignet. Benutzen Sie zur Bearbeitung den in Windows integrierten Editor oder laden Sie sich einen geeigneten Texteditor aus dem Internet. Ich empfehle Ihnen die Verwendung von Notepad++.
Konfigurationsdatei base_vars.js
Die Konfigurationsdatei base_vars.js enthält alle Konfigurationsparameter und Informationen zu den angeschlossenen Wechselrichtern. Nur durch Interpretation der base_vars.js ist es möglich, die gespeicherten Messwerte in den anderen Dateien auszuwerten.
Hier werden nur die wichtigsten Einträge in dieser Datei beschrieben.
Beispiel einer einfachen base_vars.js meiner PV-Anlage, erzeugt von einem SolarLog™ 100e (5.775 kWP, 1 SMA-WR mit je 2 Strings, keine Sensoren):
var Boot=99 var AnlagenKWP=5775 var time_start = new Array(7,7,6,6,5,4,4,5,6,7,7,8) var time_end = new Array(17,18,20,21,21,22,22,21,20,19,17,16) var sollMonth = new Array(2,4,9,13,14,14,13,12,10,6,2,1) var SollYearKWP=958 var AnzahlWR = 1 var MaxWRP=new Array(AnzahlWR) MaxWRP[0]=new Array(5200,40000,950000,6100000) var WRInfo = new Array(AnzahlWR) WRInfo[0]=new Array("WR51MS02","1100139015",5775,0,"SunnyBoy",2,null,null,4600,null) WRInfo[0][6]=new Array("String A","String B") WRInfo[0][7]=new Array(1,1) WRInfo[0][9]=new Array(2975,2800) var HPTitel="PhotonenSammlers PV-Anlage" var HPBetreiber="PhotonenSammler" var HPEmail="xxxxxx@yyyy.de" var HPStandort="15738 Zeuthen" var HPModul="33 x CSI CS6A-175P, 2 Strings zu 16 und 17 Modulen" var HPWR="SMA SunnyBoy 5000 TL HC MS" var HPLeistung="5,775 kWp" var HPInbetrieb="27.07.2007" var HPAusricht="Süd" var BannerZeile1="PhotonenSammler" var BannerZeile2="5,775 kWp in 15738 Zeuthen" var BannerZeile3="am Netz seit 27.7.2007" var BannerLink="photonensammler.homedns.org" var StatusCodes = new Array(1) var FehlerCodes = new Array(1) StatusCodes[0] = "Offset,Stop,Netzueb.,Warten,Der. T. WR,Der. T. DC,Riso,Mpp,Stoer.,Fehler,U-Konst,Derating,R12,I-Konst,Mpp Peak,Der. Idc," FehlerCodes[0] = "-------,NUW-UAC,NUW-FAC,NUW-ZAC,NUW-dI,Ipv-Offs. A,EEPROM dBh,ROM,RAM,DC-A def.,DC-B def.,Ipv-Offs. B,DCBFS Version,OFFSET,Uac-Bfr,Fac-Bfr,dFac-Bfr,Zac-Bfr,dZac-Bfr,EeRestore,CAN,Varistor,Kom DC-BFS,Riso,EEPROM,UzwkMax,dI-Bfr,dI-Mess,Watchdog,Imax DC,MWE Defekt DC,DCBFS-Startup,Rechner,Uac-Srr,Fac-Srr,Zac-Srr,dZac-Srr,Imax,UpvMax,dI-Srr,Relais1,Relais2,Relais3,Relais4,SRR13,L-Netz,N-WR,N-Netz,L<->N,NUW-Timeout,HW-Signal,SRR20,SRR21,SRR22,SRR23,Shutdown,UDiff,IGBTs,SRR27,Uzkposneg<10,dI-Test,SRR30,Watchdog Srr,SRR32," var Verguetung=4921 var Serialnr = 14140308 var Firmware = "1.3.3 Build 29" var FirmwareDate = "30.01.2008" var WRTyp = "SMA" var SLTyp = "100" var SLVer = 2 var Intervall = 300 var SLDatum = "07.05.12" var SLUhrzeit = "05:45:00" var isTemp=false var isOnline=true var eventsHP=1 var Lang="DE"
Variablen und Parameter
Variablenname | Variablenwert | Bemerkung |
---|---|---|
var Boot = | 99 | Funktion unbekannt, ist immer 99, wird nach meinem Kenntnisstand nicht abgefragt |
var AnlagenKWP = | 5775 | Peakleistung aller Solarmodule der Anlage in W (Watt) |
var time_start = | new Array(7,7,6,6,5,4,4,5,6,7,7,8) | Anfangszeiten zur Skalierung der X-Achse der Diagramme für die Tagesansicht auf der Solarlog™ Homepage für die 12 Monate des Jahres. Im Beispiel Januar 7 Uhr … Dezember 8 Uhr. Siehe auch Solarlog™ Homepage in der Tagesübersicht. |
var time_end = | new Array(17,18,20,21,21,22,22,21,20,19,17,16) | Endzeiten der Skalierung der X-Achse der Diagramme. Siehe „var time_start =“ |
var sollMonth = | new Array(2,4,9,13,14,14,13,12,10,6,2,1) | Monats Ertrags-Soll für Januar-Dezember in % vom Jahres-Soll-Ertrag. Die Summe der Werte muss 100 ergeben! Die Werte werden zum Anzeigen der Ist- und Sollwerte in der Monats-, Tages- und Jahresansicht auf der Solarlog™ Homepage benötigt. Siehe auch Solarlog™ Homepage in der Monats-, Tages- und Jahresübersicht. |
var SollYearKWP = | 958 | Jahres Soll-Ertrag der Anlage in kWh/kWP. Der Wert wird zur Berechnung und Anzeige der Sollwerte und die Ist-Prognose in der Jahresübersicht benötigt. Siehe auch „var sollMonth =“ |
var AnzahlWR = | 1 | Anzahl der Wechselrichter der Anlage |
var MaxWRP = | new Array(AnzahlWR) | Variablendefinition, diese Zeile muss einmal vorhanden sein ! |
MaxWRP[0] = | new Array(5200,40000,950000,6100000) | Y-Skalierung der Diagramme auf der Solarlog™ Homepage für die Diagramme. In der Tagesübersicht in W (5200W) In der Monatsübersicht in Wh (40000Wh = 40.0kWh) In der Jahresübersicht in Wh (950000Wh = 950kWh) In der Gesamtübersicht in Wh (6100000Wh = 6100kWh) Dieser Eintrag muss für jeden Wechselrichter einmal in der base_vars.js vorhanden sein: Für den ersten Wechselrichter MaxWRO[0] =, für den zweiten Wechselrichter MaxWRP[1] = usw. |
var WRInfo = | new Array(AnzahlWR) | Variablendefinition, diese Zeile muss einmal vorhanden sein ! |
WRInfo[0] = | new Array(„WR51MS02“,„1100139015“,…,…,…,1,1000) | Diese komplizierte und wichtigste Definition in der Datei wird in einem eigenen Abschnitt ausführlich beschrieben. |
WRInfo[0][6] = | new Array(„String A“,„String B“) | |
WRInfo[0][7] = | new Array(1,1) | |
WRInfo[0][9] = | new Array(2975,2800) | |
var HPTitel = | „PhotonenSammlers PV-Anlage“ | Titel der Solarlog™ Homepage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPBetreiber = | „PhotonenSammler“ | Name des Betreibers der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPEmail = | „photonensammler@freenet.de“ | Email Adresse des Betreibers der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPStandort = | „15738 Zeuthen“ | Standort der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPModul = | „33 x CSI CS6A-175P, 2 Strings zu 16 und 17 Modulen“ | Solarmodultyp der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPWR = | „SMA SunnyBoy 5000 TL HC MS“ | Wechselrichtertyp der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPLeistung = | „5,775 kWp“ | Installierte Modulleistung der Anlage (siehe auch „var AnlagenKWP =“ ). Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPInbetrieb = | „27.07.2007“ | Datum der Inbetriebnahme der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var HPAusricht = | „Süd“ | Ausrichtung der Anlage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Wird auf der Solarlog™ Homepage auf der Seite Anlageninfo angezeigt |
var BannerZeile1 = | „PhotonenSammler“ | Text für die erste, zweite und dritte Zeile des Banners der Anlage. Das Banner wird von Anlagen, die auf Solar-Log™ WEB angemeldet sind in der Anlagensuche benutzt. Bei Anlagen, die auf SolarLog-Home.de angemeldet sind, findet man das Banner in der Filterfunktion der Landkarte. Bei einigen selbst erstellten Homepages befindet es sich auch direkt auf der Homepage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var BannerZeile2 = | „5,775 kWp in 15738 Zeuthen“ | |
var BannerZeile3 = | „am Netz seit 27.7.2007“ | |
var BannerLink = | „www.jborch.de/solarlog“ | URL zur SolarLog™ Homepage. Dieser Link wird beim Mausklick auf das Banner aufgerufen. Das Banner wird von Anlagen, die auf Solar-Log™ WEB angemeldet sind in der Anlagensuche benutzt. Bei Anlagen, die auf SolarLog-Home.de angemeldet sind, findet man das Banner in der Filterfunktion der Landkarte. Bei einigen selbst erstellten Homepages befindet es sich auch direkt auf der Homepage. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var StatusCodes = | new Array(1) | Variablendefinition, diese Zeile muss einmal vorhanden sein ! Der Parameter new Array(1) beinhaltet die Anzahl der Wechselrichter, bei zwei Wechselrichtern muss hier stehen new Array(2). Wird die Datei per Hand erzeugt, kann hier auch der Einfachheit halber var StatusCodes = new Array(AnzahlWR) verwendet werden. |
var FehlerCodes = | new Array(1) | Variablendefinition, diese Zeile muss einmal vorhanden sein ! Der Parameter new Array(1) beinhaltet die Anzahl der Wechselrichter, bei zwei Wechselrichtern muss hier stehen new Array(2). Wird die Datei per Hand erzeugt, kann hier auch der Einfachheit halber var FehlerCodes = new Array(AnzahlWR) verwendet werden. |
StatusCodes[0] = | „Offset,Stop,Netzueb.,Warten,…,…,…,R12,I-Konst,Mpp Peak,Der. Idc,“ | Statuscodes des Wechselrichters, die für die Erkennung der Betriebszustände des WR genutzt werden. Diese Codes sind Wechselrichterspezifisch und unterscheiden sich je nach angeschlossenem Wechselrichter in Anzahl und Codierung. Diese Zeile muss für jeden Wechselrichter einmal vorhanden sein ! Bei zwei Wechselrichtern muss es auch eine Zeile „StatusCodes[1] =“ geben. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Für die SensorBox gibt es hier nur einen Eintrag: StatusCodes[x] = „DATA“ |
FehlerCodes[0] = | „-------,NUW-UAC,NUW-FAC,…,…,…,SRR30,Watchdog Srr,SRR32,“ | Fehlercodes des Wechselrichters, die für die Erkennung der Betriebszustände des WR genutzt werden. Diese Codes sind Wechselrichterspezifisch und unterscheiden sich je nach angeschlossenem Wechselrichter in Anzahl und Codierung. Diese Zeile muss für jeden Wechselrichter einmal vorhanden sein ! Bei zwei Wechselrichtern muss es auch eine Zeile „FehlerCodes[1] =“ geben. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. Für die SensorBox gibt es hier nur einen Eintrag: FehlerCodes[x] = „----“ |
var Verguetung = | 4921 | Vergütung in €Cent*100, die der Betreiber pro eingespeister kWh erhält. Dieser Wert wird zur Anzeige auf den verschiedenen Übersichtsseiten der SolarLog™ Homepage verwendet. Im Beispiel ist Die Vergütung 0.4921€/kWh (bzw. 49.21€Cent/kWh). |
var Serialnr = | 14140308 | Seriennummer des SolarLog™. Dieser Wert wird vom angeschlossenen SolarLog™ geschrieben und ist nicht änderbar. |
var Firmware = | „1.3.3 Build 29“ | Firmwareversion des SolarLog™. Dieser Wert wird vom angeschlossenen SolarLog™ geschrieben, er ändert sich nach Durchführung eines Firmwareupdates. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var FirmwareDate = | „30.01.2008“ | Datum der Erstellung der Firmware. Dieser Wert wird vom angeschlossenen SolarLog™ geschrieben, er ändert sich nach Durchführung eines Firmwareupdates. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var WRTyp = | „SMA“ | Hersteller des angeschlossenen Wechselrichters. Da neuere SolarLog™ den Mischbetrieb verschiedener Wechselrichter von unterschiedlichen Herstellern unterstützen, kann sich an dieser Stelle auch der Eintrag var WRTyp = „MULTIPROTOCOL“ befinden. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var SLTyp = | „100“ | Typ des SolarLog™. 100=SolarLog™ 100, 500=SolarLog™ 500 usw. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var SLVer = | 2 | Hardwareversion des angeschlossenen SolarLog™. Nach meiner Kenntnis ist dieser Wert immer mit 2 belegt. Ich habe festgestellt, dass selbst erstellte Homepages, für die das HomepageKit von www.solar-log.com benutzt wird, nicht funktionieren, wenn diese Variabkle mit einem anderen Wert als 2 belegt ist. |
var Intervall = | 300 | Hier ist das Intervall in Sekunden einzutragen, mit dem der SolarLog™ seine Daten in den Datendateien ablegt. |
var SLDatum = | „07.05.12“ | Dieser Wert beinhaltet das Datum, zu dem der SolarLog™ erst/letztmalig am Tag Messwerte in die Datendateien geschrieben hat. Der Wert ändert sich täglich. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var SLUhrzeit = | „05:45:00“ | Dieser Wert beinhaltet die Uhrzeit, zu der der SolarLog™ erst/letztmalig am Tag Messwerte in die Datendateien geschrieben hat. Der Wert ändert sich täglich. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
var isTemp = | false | Dieser Eintrag zeigt an, ob in den Messwerten des Wechselrichters ein Wert für die Wechselrichtertemperatur vorhanden ist. false=keine WR-Temperatur, true=WR-Temperatur vorhanden. Siehe hierzu auch WRInfo[12] |
var isOnline = | true | Der Eintrag zeigt an, ob der WR Online oder Offline ist. true=WR ist Online, false=WR ist Offline. |
var eventsHP = | 1 | Der Eintrag konfiguriert die Anzeige des Links zum Ereignisprotokoll des Wechselrichters auf der SolarLog™ Homepage. Im Ereignisprotokoll wird das Status- und Fehlerprotokoll des Wechselrichters zu verschiedenen Tageszeiten angezeigt. Mit var eventsHP = 0 wird dieser Link auf der Homepage nicht angezeigt. Das Einschalten des Links setzt voraus, dass diese Wechselrichter-Meldungen vom Wechselrichter unterstützt werden und duch den SolarLog™ aufgezeichnet werden. |
var Lang = | „DE“ | Mit diesem Eintrag wird die Sprache der SolarLog™ Homepage konfiguriert. Um eine fremdsprachige Homepage nutzen zu können, muss sich die entsprechende Sprachdatei auf dem Server befinden. Sie finden die Sprachdateien im SolarLog™ Ordner beispielsweise unter folgenden Namen: Deutsch⇒lang_DE.js, Dänemark⇒lang_DK.js usw. Bei diesen Dateien handelt es sich um reine Textdateien. Um die Homepage zu übersetzen, ist lediglich der Dateiinhalt in die gewünschte Sprache zu übersetzen und die Datei unter dem Namen lang_XY.js zu speichern. Anschließend ist der Eintrag var Lang = „XY“ zu setzen. Die Zeichenkette muss in Anführungszeichen eingeschlossen sein. |
weitere Variablen | weitere Einträge | Bei neueren SolarLog™ Versionen gibt es weitere Einträge, auf die hier aber nicht näher eingegangen wird. |
Eintrag WRInfo[x]
Verwendeter Beispieleintrag:
WRInfo[0] = new Array(„Danfoss TLX“,„0123456789“,7000,0,„Danfoss“,2,null,null,6000,null,12,0,1,1000,null)
Die Werte dieses Arrays werden über ihren Index im Array angesprochen.
Die Einträge ab dem Index 10 sind erst ab dem SolarLog™ 800e vorhanden. Sie können unter Umständen bei der Erstellung einer eignen Homepage weggelassen werden.
Dieser Eintrag muss für jeden angeschlossenen Wechselrichter einmal vorhanden sein. Für Wechselrichter 1 WRInfo[0] = …, für Wechselrichter 2 WRInfo[1] = … usw.
Dabei werden eine angeschlossene SensorBox oder ein S0-Stromzähler wie ein Wechselrichter interpretiert, sie erhalten also auch einen Eintrag WRInfo[x] = … (siehe Beschreibung unter Index 11)
Die einzelnen Werte sind durch Komma voneinander zu trennen.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WRInfo[x] = new Array( | „Danfoss TLX“ | „0123456789“ | 7000 | 0 | „Danfoss“ | 2 | null | null | 6000 | null | 12 | 0 | 1 | 1000 | null | ) |
Index | Bedeutung |
---|---|
0 | WR-Typ, in Anführungszeichen eingeschlossen. |
1 | RS485 Endadresse des Slave-WR oder Seriennummer des WR (von WR-Typ und Hersteller abhängig) in Anführungszeichen eingeschlossen. Dieser Wert ist zehnstellig anzugeben. Bei Bedarf wird er links mit Leerzeichen aufgefüllt. Bei SMA-WR (und anderen vermutlich auch) steht hier die eindeutige Seriennummer des WR. |
2 | Am Wechselrichter angeschlossene Modulleistung in W. |
3 | unbenutzt bzw. Funktion unbekannt, kann auf 0 gesetzt werden. |
4 | Wechselrichrter Bezeichnung, durch Anführungszeichen eingeschlossen. |
5 | Anzahl der Strings am Wechselrichter. Es werden bis zu 3 Strings unterstützt. Bei nur einem String steht an dieser Stelle 0 oder 1. |
6 | Für Multistringwechselrichter folgt hier ein Array mit den Stringbezeichnungen - siehe dazu weiter unten bei WRInfo[x][6]. Für Wechselrichter mit einem String steht hier null, WRInfo[x][6] entfällt in diesem Fall. |
7 | Für Multistringwechselrichter folgt hier ein „Array of Modulfeld“ - siehe dazu weiter unten bei WRInfo[x][7]. Für Wechselrichter mit einem String steht hier null, WRInfo[x][7] entfällt in diesem Fall. |
8 | Nennleistung des Wechselrichters in W laut Datenblatt. In der Regel ist dieser Wert kleiner als die angeschlossene Modulleistung unter Index 2 |
9 | Für Multistringwechselrichter folgt hier ein Array mit den Leistungen der Strings - siehe dazu weiter unten bei WRInfo[x][9]. Für Wechselrichter mit einem String steht hier null, WRInfo[x][9] entfällt in diesem Fall. |
10 | Die folgenden Werte sind erst ab dem SolarLog™ 800e vorhanden. Wechselrichter Hersteller/Protokoll. Die folgenden Herstellercodierungen (Übertragungsprotokolle) sind mir bisher bekannt, kennt jemand weitere Codierungen, würde ich mich über eine Mail an photonensammler@photonensammler.de freuen. 1 => SMA 2 => Kaco 3 => Sunways 4 => Solarmax 5 => Fronius 6 => Danfoss 7 => Power-One 8 => Mitsubishi 9 => S0_in (S0 Stromzähler) 10 => Vaillant 11 => Solutronic 12 => Schüko 13 => RefuSol 14 => Oelmaier 15 => Bonfiglioli 16 => Mastervolt 17 => Kostal 18 => Sunville 19 => Diehl AKO 20 => Rudolf Fritz 21 => M&T Sensor 22 => Ingeteam 23 => Riello 24 => SIEL 25 => Conergy 26 => Converteam 27 => AEG PS 28 => Voltwerk 29 => Socomec 30 => Effekta 32 => Steca 33 => ALPHA-SOL 35 => Zeversolar 36 => WINAICO 37 => POWERCOM 38 => SE SunEzy 39 => Sunergy 40 => SALICRU EQX 41 => SALICRU EQXLV 42 => Evoco 43 => Sungrow 44 => Santerno 45 => Delta 46 => Europa-Solar 47 => IDS 48 => Motech 49 => ZSD-Power 50 => Hyundai 52 => GE 53 => AROS 422 54 => APL Trifase 55 => PVPowered 56 => APL Monofase 57 => EKO Energy 58 => Growatt-old 59 => Elkor WattsOn 61 => Q3_InverterQX 63 => Siemens 64 => Gavazzi ISMG 65 => Eaton 66 => Aten 67 => Pairan 68 => Omron 69 => Samil 70 => Eltek Central 71 => XantrexGT30E 72 => Iskra 73 => Helios 74 => Enfinity 75 => Fronius RL 76 => Chint CPS<20k 77 => Chint CPS20k+ 78 => AEG 3ph 79 => Ginlong 80 => Inepro/DMM 81 => Valenia 83 => ABB PVS 84 => Janitza 85 => Solectria >9k 86 => Trannergy 87 => GESOLAR 88 => Lufft 89 => Conext TL 90 => Reverberi 91 => KLNE 92 => Growatt-Mod 93 => SolarEdge 94 => zentralpower 95 => GoodWe 96 => Eltek 97 => GMDE 98 => CyberPower 99 => SMA (eth) 100 => EHE-Mod 101 => Diehl H-Serie 102 => AROS 485 103 => Rosvik 104 => Yaskawa 106 => Huawei 107 => GTec 108 => Chint-Mod 109 => Shindengen 110 => Steca >=17kW 111 => Meter 112 => SolaXPower X1 113 => SmartPlug 114 => SolaXPower X3 115 => Gefran 117 => PrimeVOLT 118 => Suntigua 119 => REP 120 => CMS 121 => Gavazzi HINRG 123 => Solectria V2 124 => Solectrica V3 125 => Benning 126 => Omnik 128 => Kstar 129 => Effekta KS 130 => Vision 131 => Kstar SM 132 => Effekta KS ST 133 => Vision SM 134 => TBEA 135 => PhonoSolar 136 => Platinum 137 => Platinum H 138 => IDM 140 => EGOSmartHeat 141 => VARTA 142 => Kyocera 143 => ABB 144 => Kipp & Zonen 145 => EEI 147 => Astroenergy 149 => Yaskawa<9k 150 => Solectrica V4 151 => Solra-Log Pro 153 => ABB PRO-33TL 154 => Sonnenbatterie 156 => Siliken 157 => Fronius (TCP) |
11 | Wechselrichter-Funktion. Dieser Wert definiert, wie die Messwerte in den Datendateien zu interpretieren sind und ist davon abhängig, ob z.B. Sensoren am SolarLog™ angeschlossen sind. 0 = Es handelt sich um einen Wechselrichter 1 = Es handelt sich um eine SensorBox 2 = Es handelt sich um einen S0-Stromzähler 3 = Utility-Meter 1 4 = Utility-Meter 2 5 = Windsensor 6 = Sub-Verbrauchszähler |
12 | Sind Messwerte der WR-Innentemperatur in den Messwerten vorhanden ? 1 = ja 0 = nein |
13 | Korrekturfaktor - Abweichungen zwischen Einspeisezähler und SolarLog™ können über diesen Faktor für die Anzeige auf der Internetseite korrigiert werden. Der Faktor berechnet sich aus : ErtragEinspeisezähler / ErtragSolarLog™Anzeige * 1000. Der Korrekturfaktor ist für jeden Wechselrichter anzugeben. Da in der Regel alle Wechselrichter an einem Einspeisezähler angeschlossen sind, ist dieser Faktor für alle Wechselrichter gleich einzustellen. Der Faktor wird nur zur Korrektur der Anzeige von Erträgen auf den SolarLog™ Seiten verwendet, er hat keinen Einfluss auf die gespeicherten Messwerte in den Datendateien. Dadurch ist es möglich, diesen Faktor später bei Bedarf nochmals anzupassen. |
14 | Dieser Wert ist abhängig, ob die Messwerte durch den Eintrag im Index 11 als S0-Stromzähler oder als SensorBox zu interpretieren sind. null = Kein S0-Stromzähler/SensorBox angeschlossen (Der Array-Wert kann in diesem Fall auch einfach weggelassen werden, Wert auf Index 11 = 0) SensorBox (Wert auf Index 11 = 1): Array mit den Sensor-Optionen - siehe dazu weiter unten bei WRInfo[x][14] Stromzähler (Wert auf Index 11 = 2): 0⇒ S0-Zähler zählt Wechselrichter 1⇒ S0-Zähler zählt Gesamtanlage 2⇒ SO-Zähler zählt Verbrauch . |
Variable | Wert | Bedeutung | |
---|---|---|---|
WRInfo[x][6] = new Array( | „String1“,„String2“,„…“ | ) | Hier sind die Namen der Strings anzugeben. Es werden bis zu 3 Strings unterstützt. Die Werte sind in Anführungszeichen einzuschließen und durch Komma voneinander zu trennen. Bei Wechselrichtern ohne Strings entfällt der Eintrag. |
WRInfo[x][7] = new Array( | 1,1,… | ) | Hier ist abhängig von der Anzahl der Strings am Wechselrichter ein Array mit der Stringanzahl anzulegen (entwerder (1,1) oder (1,1,1). Es werden bis zu 3 Strings unterstützt. Die Werte sind durch Komma voneinander zu trennen. Bei Wechselrichtern ohne Strings entfällt der Eintrag. |
WRInfo[x][9] = new Array( | 3500,3500,xxxx | ) | Diese 2 oder 3 Werte repräsentieren die Modulleistung der angeschlossenen Strings. Die Summe der Werte muss dem Wert der Variablen var AnlagenKWP = entsprechen. Die Werte sind durch Komma voneinander zu trennen. Bei Wechselrichtern ohne Strings entfällt der Eintrag. Bei zwei angeschlossenen Strings enthält das Array auch nur zwei Werte. |
WRInfo[x][14] = new Array( | 1,2,3,4 | ) | Der Eintrag ist nur bei angeschlossener Sensorbox vorhanden. Die Werte bedeuten: 1 ⇒Einstrahlungssensor 2 ⇒Sensor Modultemperatur 3 ⇒Sensor Aussentemperatur 4 ⇒Sensor Windgeschwindigkeit Die Werte sind durch Komma voneinander zu trennen. |
WRInfo[x][16] = | (Diese Angaben sind unter Vorbehalt) 1 ⇒ Der SolarLog ist an einer RS485-A-Schnittstelle angeschlossen 2 ⇒ Der SolarLog ist an einer RS485/422-B-Schnittstelle angeschlossen. |
Anmerkungen:
Möglicherweise resultieren aus verschiedenen Einträge in WRInfo[x][10] und WRInfo[x][11] weitere, hier nicht genannte, Einträge WRInfo[x][15] … WRInfo[x][nn].
Kennt jemand die genaue Bedeutung? Wie sind diese Werte zu interpretieren? Ich würde mich über eine Mail an photonensammler@photonensammler.de freuen.
Februar 2013 - Vielen Dank an Ralf Bohnen, der mir erweiterte Informationen zum Aufbau der WRInfo[x][10] und WRInfo[x][11] zur Verfügung gestellt hat.
März 2016 - Vielen Dank an Steven Woelk, der mir erweiterte Informationen zum Aufbau der WRInfo[x][16] zur Verfügung gestellt hat.
Beispiele
WRInfo[0]=new Array(„NT10000“,„ 999“,11025,1,„NT 10000“,3,null,null,0,null,3,0,0,988,null) | Wechselrichter mit 3 Strings, keine Innentemperaturmessung, Korrekturfaktor 988, Stringbezeichnungen „Links“,„Mitte“,„Rechts“, angeschlossene Stringleistungen 3600 W, 3600 W und 3825 W |
WRInfo[0][6]=new Array(„Links“,„Mitte“,„Rechts“) | |
WRInfo[0][7]=new Array(1,1,1) | |
WRInfo[0][9]=new Array(3600,3600,3825) | |
WRInfo[1]=new Array(„SENS0700“,„ 12345“,1000,1,„Sensorbox“,1,null,null,0,null,1,1,0,1000,null) | SensorBox mit Außentemperatur- und Windsensor |
WRInfo[1][14]=new Array(1,4) | |
WRInfo[2]=new Array(„WRTM0U33“,„0123456789“,3175,1,„SMA 3000“,2,null,null,0,null,1,0,0,988,null) | Wechselrichter mit 2 Strings, Stringbezeichnungen „String 1“ und „String 2“ |
WRInfo[2][6]=new Array(„String 1“,„String 2“) | |
WRInfo[2][7]=new Array(1,1) | |
WRInfo[2][9]=new Array(1500,1675) | |
WRInfo[3]=new Array(„WRBT2“,„9876543210“,2450,1,„Terrasse“,1,null,null,0,null,1,0,1,1000,null) | Wechselrichter ohne Strings, WR-Innentemperaturmessung vorhanden. |
Datendatei min_day.js
In dieser Datei werden fortlaufend die Messwerte des aktuellen Tages abgelegt, die Datei wird ständig aktualisiert.
Die Sortierung der Zeilen in der Datei ist absteigend nach Datum/Uhrzeit - in der ersten Zeile der Datei befinden sich immer die aktuellsten (neuesten) Daten.
In jedem Datensatz sind die Werte jedes dem System bekannten Wechselrichters gespeichert (siehe Beschreibung zu WRInfo[x]).
An erster Stelle des Datensatzes befindet sich die Kennung m[mi++]=, die eine Tagesdatei charakterisiert.
Anschließend folgen, von Anführungszeichen eingeschlossen, Datum und Uhrzeit der Daten, danach folgen die Daten der (des) Wechselrichter(s), spaltenweise durch das Zeichen „|“ voneinander getrennt.
Die Messdaten eines Wechselrichters werden voneinander durch ein Semikolon getrennt.
Beispiele
Anlage mit einem Wechselrichter ohne Strings:
m[mi++]="08.05.12 15:40:00|1714;867;17887;369" m[mi++]="**08.05.12 15:35:00|873;488;17746;350**" m[mi++]="08.05.12 15:30:00|724;409;17676;357"
m[mi++]= | „ | 08.05.12 15:35:00 | | | 873 | ; | 488 | ; | 17746 | ; | 350 | “ |
---|---|---|---|---|---|---|---|---|---|---|---|
Kennung | Datum und Uhrzeit | PAC in W | PDC in W | Tagesertrag des WR zur aktuellen Uhrzeit in Wh | UDC in V |
Der Tagesertrag wird während des gesamten Tages von 0 beginnend aufsummiert.
Anlage mit einem Wechselrichter und zwei Strings http://www.jborch.de/solarlog/sldaten/min_day.js:
m[mi++]="08.05.12 15:40:00|1714;927;867;17887;373;369" m[mi++]="08.05.12 15:35:00|873;488;450;17746;377;350" m[mi++]="08.05.12 15:30:00|724;409;379;17676;381;357"
m[mi++]= | „ | 08.05.12 15:35:00 | | | 873 | ; | 488 | ; | 450 | ; | 17746 | ; | 377 | ; | 350 | “ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kennung | Datum und Uhrzeit | PAC in W | PDC String 1 in W | PDC String 2 in W | Tagesertrag zur aktuellen Uhrzeit in Wh | UDC String 1 in V | UDC String 2 in V |
Anlage mit zwei WR, 1.WR 3 Strings, 2.WR keine Strings mit WR Innentemperatur:
m[mi++]="07.05.12 15:15:00|904;372;346;376;16656;403;406;404|495;532;9234;321;55" m[mi++]="**07.05.12 15:10:00|1000;403;376;408;16581;397;406;400|544;582;9192;321;52**" m[mi++]="07.05.12 15:05:00|1088;435;408;439;16500;399;400;397|587;628;9147;321;53"
m[mi++]=„07.05.12 15:10:00 | | | 1000 | ; | 403 | ; | 376 | ; | 408 | ; | 16581 | ; | 397 | ; | 406 | ; | 400 | | | 544 | ; | 582 | ; | 9192 | ; | 321 | ; | 52 | “ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kennung, Datum, Uhrzeit | PAC WR 1 in W | PDC String 1 WR 1 in W | PDC String 2 WR 1 in W | PDC String 3 WR 1 in W | Tages- ertrag WR 1 in Wh | UDC String 1 WR 1 in V | UDC String 2 WR 1 in V | UDC String 3 WR 1 in V | PAC WR 2 in W | PDC WR 2 in W | Tages- ertrag WR 2 in Wh | UDC WR 2 in V | Tempe- ratur WR 2 in °C |
Anlage mit 3 Wechselrichtern, wobei „Wechselrichter 2“ eine SensorBox ist:
m[mi++]="07.05.12 14:20:00|1893;692;647;653;50170;457;456;477|164;25;20;2.3|338;158;192;10994;245;169;27" m[mi++]="07.05.12 14:15:00|1595;586;545;546;50012;454;453;473|133;25;20;2.3|278;137;155;10966;239;167;27" m[mi++]="**07.05.12 14:10:00**|1538;569;524;527;49884;454;452;471|**129;26;20;2.8**|270;134;151;10944;237;165;27" m[mi++]="07.05.12 14:05:00|1576;579;542;526;49755;453;452;470|133;26;20;1.1|273;132;156;10921;241;165;27"
m[mi++]=„07.05.12 14:10:00 | | | … | | | 129 | ; | 26 | ; | 20 | ; | 2.8 | | | … | “ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kennung, Datum, Uhrzeit | Daten Wechselrichter 1 | SensorBox („Wechselrichter“ 2) Sonneneinstrahlung in W/m² | SensorBox („Wechselrichter“ 2) Modultemperatur in °C | SensorBox („Wechselrichter“ 2) Außentemperatur in °C (Wert=0 wenn der Sensor nicht angeschlossen ist) | SensorBox („Wechselrichter“ 2) Windgeschwindigkeit in m/s (Wert=0 wenn der Sensor nicht angeschlossen ist) | Daten Wechselrichter 3 |
Datendateien minYYMMDD.js
Diese Dateien enthalten die Messwerte vergangener Tage.
Der Aufbau dieser Datei entspricht dem Aufbau der Datei min_day.js.
Die Datei min_day.js wird durch den SolarLog™ am nächsten Tag mit dem Einschalten der Wechselrichter zu minYYMMDD.js umbenannt, anschließend wird eine neue, leere Datei min_day.js angelegt, in der wieder die Messwerte des aktuellen Tages gespeichert werden.
Der Dateiname minYYMMDD.js bedeutet:
- YY - Jahr zweistellig
- MM - Monat zweistellig
- DD - Tag zweistellig
Beispiel
Beispiel - min120508.js ⇒ Tagesdatei vom 08.05.2012:
m[mi++]="08.05.12 20:35:00|0;21;20;22763;301;284" m[mi++]="08.05.12 20:30:00|0;22;17;22763;338;246" m[mi++]="08.05.12 20:25:00|6;28;24;22763;346;307" m[mi++]="08.05.12 20:20:00|23;40;35;22763;328;304" m[mi++]="08.05.12 20:15:00|38;49;43;22761;354;305" m[mi++]="08.05.12 20:10:00|52;57;50;22758;346;310" m[mi++]="08.05.12 20:05:00|57;59;54;22753;338;324" m[mi++]="08.05.12 20:00:00|71;66;60;22749;340;330" m[mi++]="08.05.12 19:55:00|91;75;66;22743;350;332" m[mi++]="08.05.12 19:50:00|114;87;79;22735;351;331"
Datendatei days.js
Die Datei days.js enthält immer nur einen Datensatz mit dem letzten Tageswert des aktuellen Tages.
Sie wird fortlaufend aktualisiert und enthält für jeden Wechselrichter den Tagesertrag und den maximalen PAC-Wert der an diesem Tag beim zugehörigen Wechselrichter auftrat.
Werte einzelner Strings werden in dieser Datei nicht berücksichtigt.
Beispiele
Beispiel - ein Wechselrichter http://www.jborch.de/solarlog/sldaten/days.js:
da[dx++]=„09.05.12|2026;1792“
da[dx++]= | „ | 09.05.12 | | | 2026 | ; | 1792 | “ |
---|---|---|---|---|---|---|---|
Kennung für Tageswert | Datum | Tagesertrag in Wh | Maximalwert PAC des Tages |
Beispiel - zwei Wechselrichter:
da[dx++]=„09.05.12|1039;378|2405;889“
da[dx++]= | „ | 09.05.12 | | | 1039 | ; | 378 | | | 2405 | ; | 889 | “ |
---|---|---|---|---|---|---|---|---|---|---|---|
Kennung für Tageswert | Datum | Tagesertrag Wechselrichter 1 in Wh | Maximalwert PAC des Tages von Wchselrichter 1 | Tagesertrag Wechselrichter 2 in Wh | Maximalwert PAC des Tages von Wchselrichter 2 |
Beispiel - 3 Wechselrichter mit Sensorbox als „Wechselrichter 2“:
da[dx++]=„08.05.12|54853;9528|0;0|11742;2358“
da[dx++]=„08.05.12 | | | 54853 | ; | 9528 | | | 0;0 | | | 11742 | ; | 2358 | “ |
---|---|---|---|---|---|---|---|---|---|---|---|
Kennung und Datum | Tagesertrag Wechselrichter 1 in Wh | Maximalwert PAC des Tages von Wchselrichter 1 | Daten der Sensorbox („Wechselrichter“ 2) als Platzhalter. Die Werte sind immer 0 | Tagesertrag Wechselrichter 3 in Wh | Maximalwert PAC des Tages von Wechselrichter 3 |
Ab der SolarLog Firmware Version 3.x wird der PAC Maximalwert nicht mehr erfasst.
Er ist ab dieser Firmware-Version grundsätzlich 0.
Datendatei days_hist.js
Die Datei days_hist.js enthält die Tageswerte aller vergangenen Tage. Der Tageswert des aktuellen Tages ist in der Datei nicht enthalten. Er wird täglich beim Offline/Online-Wechsel der Wechselrichter aus dem Datensatz in der Datei days.js in die Datei days_hist.js eingetragen.
Die Zeilen in der Datei sind absteigend nach Datum sortiert, die Daten des neuesten (jüngsten) Datums befinden sich in der ersten Zeil.
Der Aufbau der Datenstruktur entspricht der der Datei days.js.
Beispiele
Beispiel - ein Wechselrichter http://www.jborch.de/solarlog/sldaten/days_hist.js:
da[dx++]="08.05.12|22763;5186" da[dx++]="07.05.12|13633;2439" da[dx++]="06.05.12|12159;4410" da[dx++]="05.05.12|8414;2819" da[dx++]="04.05.12|23664;5156" da[dx++]="03.05.12|19895;5072" da[dx++]="02.05.12|33639;4940" da[dx++]="01.05.12|34472;4511"
Beispiel - 3 Wechselrichter mit der SensorBox als „Wechselrichter 2“:
da[dx++]="07.05.12|45161;9439|0;0|9001;2201" da[dx++]="06.05.12|43383;9678|0;0|8882;2399" da[dx++]="05.05.12|34006;8696|0;0|6336;1945" da[dx++]="04.05.12|68853;9228|0;0|14633;2137" da[dx++]="03.05.12|71956;9549|0;0|15391;2294" da[dx++]="02.05.12|59013;9690|0;0|12256;2367" da[dx++]="01.05.12|70543;9348|0;0|15043;2205" da[dx++]="30.04.12|63123;9269|0;0|13429;2170" da[dx++]="29.04.12|44726;9494|0;0|9240;2280" da[dx++]="28.04.12|68399;9028|0;0|14500;2071"
Bitte beachten Sie die Änderungen des Datenformats ab der SolarLog Firmware Version 3.x in den Anmerkungen zur days.js.
Datendatei months.js
Die Datei enthält für jeden Wechselrichter den Monatsertrag in Wh.
Der Datensatz des aktuellen Monats enthält noch nicht den aktuellen Tageswert. Der Monatswert wird erst am folgenden Tag mit
dem Offline/Online-Wechsel der Wechselrichter aktualisiert.
Die Daten sind absteigend nach Datum sortiert, der Datensatz mit dem neuesten Datum befindet sich in der ersten Zeile.
Beispiele
Beispiel - ein Wechselrichter http://www.jborch.de/solarlog/sldaten/months.js:
mo[mx++]="08.05.12|168641" mo[mx++]="30.04.12|624466" mo[mx++]="31.03.12|591162" mo[mx++]="29.02.12|314593" mo[mx++]="31.01.12|122172" mo[mx++]="31.12.11|71028"
Beispiel - zwei Wechselrichter:
mo[mx++]="20.11.07|46653|143325" mo[mx++]="31.10.07|151756|393742" mo[mx++]="30.09.07|212106|491876" mo[mx++]="31.08.07|283473|638076" mo[mx++]="31.07.07|326104|744182" mo[mx++]="30.06.07|297771|679927" mo[mx++]="31.05.07|309009|706267"
Beispiel - 3 Wechselrichter mit SensorBox als „Wechselrichter 2“:
mo[mx++]="07.05.12|392917|0|81543" mo[mx++]="30.04.12|1269510|0|249627" mo[mx++]="31.03.12|1367026|0|255818" mo[mx++]="29.02.12|615118|0|84455" mo[mx++]="31.01.12|399280|0|66759" mo[mx++]="31.12.11|265534|0|41318" mo[mx++]="30.11.11|650262|0|114237" mo[mx++]="31.10.11|1063502|0|200230"
Ab der SolarLog Firmware-Version 3.x wurde das Datum geändert.
Anstelle des letzten aktuellen Tages, dessen Daten in der Summe enthalten ist, steht hier jetzt immer das Datum des Monatsersten.
Ansonsten wurden keine Veränderungen am Datenformat vorgenommen.
years.js
Die Datei enthält für jeden Wechselrichter den Jahresertrag in Wh. Der Datensatz des aktuellen Jahres enthält noch nicht den aktuellen Tageswert.
Der Jahreswert wird erst am folgenden Tag mit dem Offline/Online-Wechsel der Wechselrichter aktualisiert.
Die Daten sind absteigend nach Datum sortiert, der Datensatz mit dem neuesten Datum befindet sich in der ersten Zeile.
Beispiele
Beispiel - ein Wechselrichter http://www.jborch.de/solarlog/sldaten/years.js:
ye[yx++]="08.05.12|1821036" ye[yx++]="31.12.11|6090364" ye[yx++]="31.12.10|5152554" ye[yx++]="31.12.09|5587580" ye[yx++]="31.12.08|5334224"
Beispiel - drei Wechselrichter mit SensorBox als „Wechselrichter 2“:
ye[yx++]="07.05.12|4043854|0|738203" ye[yx++]="31.12.11|13525216|0|2503668" ye[yx++]="31.12.10|11378143|0|988979" ye[yx++]="31.12.09|12369068|0|1092504"
Ab der SolarLog Firmware-Version 3.x wurde das Datum geändert.
Anstelle des letzten aktuellen Tages, dessen Daten in der Summe enthalten sind, steht hier jetzt immer das Datum des Jahresersten.
Ansonsten wurden keine Veränderungen am Datenformat vorgenommen.
min_cur.js
Die Datei enthält Informationen, die für die Anzeige auf der SolarLog™ Seite benötigt werden.
Diese Datei wird fortlaufend aktualisiert.
Beispiele
Beispiel - ein SMA Wechselrichter mit zwei Strings http://www.jborch.de/solarlog/sldaten/min_cur.js:
var Datum="09.05.12" var Uhrzeit="12:50:00" var Pac=5004 var aPdc=new Array(2661,2503,0) var curStatusCode = new Array(1) curStatusCode[0]=14 var curFehlerCode = new Array(1) curFehlerCode[0]=0
Werte | Beschreibung des Formats |
---|---|
var Datum=„09.05.12“ | Aktuelles Datum |
var Uhrzeit=„12:50:00“ | Aktuelle Uhrzeit, Uhrzeit der letzten Aktualisierung der Datei |
var Pac=5004 | PAC der Gesamtanlage, Summe aller PAC aller Wechselrichter der Anlage |
var aPdc=new Array(2661,2503,0) | PDC der Strings aller Wechselrichter der Anlage (es werden maximal 3 Strings unterstützt). Erster Wert ⇒ Summe aller String 1 aller Wechselrichter. Zweiter Wert ⇒ Summe aller String 2 aller Wechselrichter …usw. Bei nicht vorhandenen Strings wird der Wert mit 0 belegt |
var curStatusCode = new Array(1) | Arraydefinition für das Array curStatusCode. Für 3 Wechselrichter lautet die Definition … = new Array(3) |
curStatusCode[0]=14 | Statuscode des zugehörigen Wechselrichters. Die Statuscodes sind in der Datei base_vars.js als var StatusCode[x] definiert (im Beispiel der 15.Eintrag in StatusCode) |
var curFehlerCode = new Array(1) | Arraydefinition für das Array curFehlerCode. Für 3 Wechselrichter lautet die Definition … = new Array(3) |
curFehlerCode[0]=0 | Fehlercode des zugehörigen Wechselrichters. Die Fehlercodes sind in der Datei base_vars.js als var FehlerCode[x] definiert (im Beispiel der 1.Eintrag in FehlerCode) |
Beispiel - 3 Wechselrichter, ein Wechselrichter mit 3 Strings, mit SensorBox als „Wechselrichter 2“:
var Datum="09.05.12" var Uhrzeit="12:53:05" var Pac=3272 var aPdc=new Array(1206,1229,970) var curStatusCode = new Array(3) curStatusCode[0]=128 curStatusCode[1]=0 curStatusCode[2]=1 var curFehlerCode = new Array(3) curFehlerCode[0]=0 curFehlerCode[1]=0 curFehlerCode[2]=0
daysall.js
Dieser Datei wird von neueren SolarLog™ Versionen nicht mehr erzeugt.
Der Vollständigkeit halber wird ihr Format hier trotzdem beschrieben.
Diese Datei wird unter Umständen auch noch von älteren Homepage-Erweiterungen (z.B. den „Monats Top 12“) verwendet.
Die Datei enthält für jeden vergangenen Tag den Gesamtertrag der Anlage in Wh, also die Summe der Erträge aller Wechselrichter.
Die Daten sind absteigend sortiert, die neuesten Werte befinden sich in der ersten Zeile.
Die Daten des aktuellen Tages sind in der Datei nicht enthalten, sie werden erst am folgenden Tag mit dem Offline/Online-Wechsel der Wechselrichter eingetragen.
Beispiel
Beispiel http://www.jborch.de/solarlog/sldaten/daysall.js:
dal[dxl++]="08.05.12|22763" dal[dxl++]="07.05.12|13633" dal[dxl++]="06.05.12|12159" dal[dxl++]="05.05.12|8414" dal[dxl++]="04.05.12|23664" dal[dxl++]="03.05.12|19895" dal[dxl++]="02.05.12|33639" dal[dxl++]="01.05.12|34472" dal[dxl++]="30.04.12|26498" dal[dxl++]="29.04.12|18510"
Hinweise, Tipps
Die Angaben für SollMonth und SollYearKWP in der Datei base_vars.js sind recht grob, da der Solarlog hier nur ganze Zahlen ohne Nachkommstellen speichert.
Wer es etwas genauer haben möchte, kann diese Werte mit Nachkommastellen versehen.
Als Dezimaltrennzeichen dient hier der Punkt. Es ist natürlich darauf zu achten, dass das die Summe aller Werte in der Variablen SollMonth 100 entspricht.
Natürlich kann diese Änderung nur angewendet werden, wenn die Datei base_vars.js in einer eigenen Programmierung oder Emulation verwendet wird weil sie ansonsten vom SolarLog™ regelmäßig wieder überschrieben wird.
Wer diese Werte auch bei Verwendung eines SolarLog™ mit höherer Genauigkeit angeben möchte, muss etwas tiefer ins System einsteigen und weitergehende Änderungen vornehmen.
!!! Bitte erstellen Sie sich von jeder geänderten Datei vorher eine Sicherheitskopie !!!
- Erstellen Sie mit einem Texteditor eine neue Datei, die Sie z.B. sollwerte.js nennen (ein Beispiel siehe unter http://www.jborch.de/solarlog/sldaten/sollwerte.js).
- Diese Datei kopieren Sie in das Homepage-Verzeichnis, in dem sich auch die Datei base_vars.js befindet.
- Mit den Daten dieser Datei sollen die „alten“ Einstellungen, die aus der Original-base_vars.js gelesen werden, überschrieben werden
- Öffnen Sie die Datei visu.html mit einem Texteditor und suchen Sie in dieser Datei die Stelle, an der die Datei base_vars.js geladen wird
Die Stelle sieht etwa so aus (im Homepagekit 2.5.0 ist das etwa ab Zeile 76):
<script type="text/JavaScript"> document.write("<script type='text/JavaScript' src='"+pfad+"base_vars.js?nocache'><\/script>"); </script>
- Fügen Sie nach diesen Zeilen die folgende 3 neuen Zeilen ein:
<script type="text/JavaScript"> document.write("<script type='text/JavaScript' src='"+pfad+"sollwerte.js?nocache'><\/script>") </script>
- Speichern Sie anschließend die geänderte Datei visu.html, ab jetzt werden beim Öffnen der Solarlog-Seite die „alten“ Variablenwerte sollMonth und SollYearKWP, die mit der Datei base_vars.js geladen werden, durch Ihre neuen Einträge in der Datei sollwerte.js überschrieben.
- Bitte achten Sie unbedingt darauf, dass die Summe aller Werte im Array sollMonth 100 beträgt!
- Die neu erstellte Datei sollwerte.js können Sie bei Bedarf (z.B. monatlich) mit einem Texteditor editieren und die neuen Sollwerte entsprechend anpassen.
Viel Erfolg !
Jörg