Solaredge inverter uitlezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • frenskef
  • Registratie: Juli 2010
  • Laatst online: 12-06-2024
Sinds kort heb ik zonnepanelen icm een Solaredge inverter. Nu heb ik op GitHub een paar mooie scripts gevonden om meer info uit mijn omvormer te halen, dit mbv de API die ik van mijn leverancier heb ontvangen.

Ik kan nu de gegevens van elke dag binnenhalen, echter ik mis nu van een maand de historie.
Het volgende script leest de waarden van vandaag uit. Graag zou ik iets willen aanpassen zodat ik ook van een ander dag (en andere maand) de gegevens nog kan binnenhalen. Wie weet wat er dan aangepast moet worden in het script. Deze draait op Google Sheets.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
function getInverter()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("inverter_data");
  var sheetSiteInfo = ss.getSheetByName("details");

  //date configs and column/row values
  var date = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");
  //Logger.log(date);
  
  //solaredge configuration
  //get the total days in the current month
  var startTime = "%2001:00:00";
  var endTime = "%2023:00:00";
  var siteId = sheetSiteInfo.getRange("B2").getValue();
  var apiKey = sheetSiteInfo.getRange("B7").getValue();
  var inverterSerial = sheetSiteInfo.getRange("B8").getValue();
  var solarEdgeUrl = "https://monitoringapi.solaredge.com/equipment/"+siteId+"/"+inverterSerial+"/data.xml?api_key="+apiKey+"&startTime="+date+startTime+"&endTime="+date+endTime;
  Logger.log("SolarEdge URL="+solarEdgeUrl);
  
  //go get some data
  var response = UrlFetchApp.fetch(solarEdgeUrl).getContentText();
  Logger.log(response)
  
  //now parse it and get our values
  var artifact = XmlService.parse(response);
  var inverter = new Array();
  
  var timeValues = artifact.getRootElement().getChild("telemetries").getChildren("onePhaseInverterTelemetry");
  Logger.log(timeValues);
  for(var i = 0; i < timeValues.length; i++)
  {
    timeStats=[timeValues[i].getChild("date").getValue(),timeValues[i].getChild("totalActivePower").getValue(),timeValues[i].getChild("temperature").getValue() * 1.8 + 32]
    inverter.push(timeStats);
  }
  //Logger.log(inverter)
  //Logger.log(inverter.length);
  
  //clear the cells before writing
  sheet.getRange("A2:C1000").clearContent();
  
  //During early morning hours there won't be any data
  if (inverter.length != 0)
  {
    var arrayRange = sheet.getRange("A2:C"+((inverter.length)+1));
    arrayRange.setValues(inverter);
    var timeRange = sheet.getRange("A2:A"+((inverter.length)+1));
    timeRange.setNumberFormat("HH:mm");
  }
}

[ Voor 0% gewijzigd door ThinkPad op 14-07-2016 11:46 . Reden: [code]-tags toegevoegd om het leesbaarder te maken. ]


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 20:10
Ten eerste: het is hier geen afhaalbalie waar je je bestelling dropt en dan iemand anders het vuile werk maar laat opknappen. Wat heb je al geprobeerd, wat lukte en wat niet (en waarom niet?) etc.

Ten tweede: als je stuk code post, gebruik dan s.v.p. de [code] tags, bijvoorbeeld:
[code=javascript] blablabla [/code]
Deze keer heb ik je post voor je aangepast, volgende keer graag zelf doen. Zie ook de opmaakcodes: Overzicht van UBB-codes

Ten derde: heb je al eens in Datalogging: PV systemen gekeken? Grote kans dat er daar personen zitten met een SolarEdge-omvormer die al iets werkend hebben.

Acties:
  • 0 Henk 'm!

  • Mattie112
  • Registratie: Januari 2007
  • Nu online
code:
1
 var solarEdgeUrl = "https://monitoringapi.solaredge.com/equipment/"+siteId+"/"+inverterSerial+"/data.xml?api_key="+apiKey+"&startTime="+date+startTime+"&endTime="+date+endTime;


Ik zie hier een startTime en een endTime staan..... kan je daar niks mee?

3780wP (18x 210wP EC Solar) | 2x Marstek Venus E (5.12kWh)


Acties:
  • 0 Henk 'm!

  • Vinales
  • Registratie: Maart 2012
  • Laatst online: 11-09 00:52
volgens mij houdt de omvormer zelf maar 30 dagen aan logging bij en worden de oudste waarden steeds overschreven.

Acties:
  • 0 Henk 'm!

  • TWyk
  • Registratie: April 2016
  • Laatst online: 18-09 14:00
Als de solaredge ook naar een site van solaredge logt kun je van die site waarschijnlijk wel csv reports vanaf halen en die data handmatig inladen bij PVoutputorg en zo die maand corrigeren.

Acties:
  • 0 Henk 'm!

  • ufear
  • Registratie: December 2002
  • Laatst online: 18-09 12:09
Hij stuurt op dit moment altijd dezelfde datum op (die van vandaag) - dat zou ik even proberen aan te passen (al is het hard met de hand).

Daarnaast weet je zeker dat je tussen 23:00 en 01:00 niets produceerd? Dat neem je nu in ieder geval niet mee.
Pagina: 1