2021-11-07
Zonnepanelen toch (ook) lokaal monitoren
Onze zonnepanelen met SolarEdge omvormers liggen er al een tijd en na wat nadenken over monitoring heb ik toen toch voor de optie gekozen om de gegevens gewoon aan de solaredge API te vragen en wat te verwerken in rrdtool voor mooie grafiekjes en in een postgresql database voor langdurig bewaren. Maar de laatste weken krijg ik vrij regelmatig foutcode 429 van de SolarEdge API dat ik teveel queries zou doen. Ik kan niet terugvinden waar dat vandaan komt. Ook na het vervangen van de API key (zodat eventuele andere scripts die ik heb laten slingeren met mijn api key stoppen) blijven deze status 429 resultaten komen:HTTP Status 429 – Too Many Requests Message Concurent limit quota exceeded Description The user has sent too many requests in a given amount of time ("rate limiting").Tijd om naar de opties te kijken om de omvormers uit te lezen via Modbus over TCP. De code is er: tjko/sunspec-monitor: Monitoring Sunspec (Modbus TCP) compatible Solar Inverters - GitHub maar nu de omvormers zo ver krijgen dat dit werkt. Update: Handleiding gevonden hoe ik Modbus TCP inschakel op de SolarEdge omvormer. Voorlopig lijk ik er tegenaan te lopen dat de Modbus TCP setting dit maar 2 minuten open stelt en daarna weer afsluit. Terwijl ik dit eigenlijk eens per 5 of 10 minuten wil opvragen. Met een firmware upgrade schijnt dit te verhelpen te zijn. Update: Een paar uur later snapt de omvormers wel Modbus TCP op poort 502. Vreemd, het lijkt wel alsof het een tijdje duurt voordat de configuratie actief wordt. Hoe dan ook, succes:$ ./sunspec-status -m 0 -v se-schuur INVERTER: Model: SolarEdge SE2200 Firmware version: 3.2434 Serial Number: xxxxxxxx Status: SLEEPING Power Output (AC): 0 W Power Input (DC): 0 W Efficiency: 0.00 % Total Production: 3514.256 kWh Voltage (AC): 239.30 V (49.99 Hz) Current (AC): 0.00 A Voltage (DC): 6553.50 V Current (DC): 0.00 A Temperature: 17.79 C (heatsink)De 6553.5 volt DC lijkt nog een vreemd iets (uitlezing 65535 keer vermenigvuldigingsfactor -1), ik moet morgen als de omvormer wakker is dit nog eens controleren. Omdat er een aantal andere variabelen ook 65535 zijn lijkt het een geval 'niet actief'of iets dergelijks. Nalezen van de sunspec modbus specificatie geeft bevestiging: waarde 0xFFFF (65535) is voor 'not implemented'. Ik zie mooie grafiekjes zonnestroom aankomen als ik deze data in influxdb stop en er grafana op loslaat.