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