Ik lees de data lokaal uit via een zelf gebouwd n8n schrapertje, maar wil nu ook de officiële API uitproberen.
Mijn doel is de historische data op te vragen om zo te kijken wat het verschil in opbrengst is tussen voor- en achterkant van m'n huis. De installateur heeft de inverters zelfs ingedeeld in voorkant/achterkant, maar ik krijg geen totalen (alleen per paneel, en heb geen zin dat handmatig op te tellen).
Ik heb nu de totale productie werkend,
maar de 'per-inverter' productie niet. hoera voor menselijke intelligentie, gefixt! ChatGPT en Claude konden het antwoord niet vinden, maar ik na lang proberen wel
Totale productie (werkt oa dankzij @
JackBol z'n url):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #!/bin/bash
# Configuratie
APP_ID="..."
APP_SECRET="..."
SYSTEM_ID="..."
BASE_URL="https://api.apsystemsema.com:9282"
# Bereken handtekening en timestamp
TIMESTAMP=$(date +%s)
NONCE=$(uuidgen)
SIGNATURE=$(echo -n "$TIMESTAMP/$NONCE/$APP_ID/energy/GET/HmacSHA256" | openssl dgst -sha256 -hmac "$APP_SECRET" -binary | base64)
curl -X GET "$BASE_URL/user/api/v2/systems/$SYSTEM_ID/energy" \
-H "X-CA-AppId: $APP_ID" \
-H "X-CA-Timestamp: $TIMESTAMP" \
-H "X-CA-Nonce: $NONCE" \
-H "X-CA-Signature-Method: HmacSHA256" \
-H "X-CA-Signature: $SIGNATURE" \
-G --data-urlencode "energy_level=yearly" |
Per inverter:
code:
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
| #!/bin/bash
# Configuratie
APP_ID="..."
APP_SECRET="..."
SYSTEM_ID="..."
BASE_URL="https://api.apsystemsema.com:9282"
# Lijst van inverter-ID's
INVERTERS=("..." "...")
# Loop door de lijst met inverters
for INVERTER_ID in "${INVERTERS[@]}"; do
echo "Fetching data for inverter: $INVERTER_ID"
# Bereken handtekening en timestamp
TIMESTAMP=$(date +%s)
NONCE=$(uuidgen)
SIGNATURE=$(echo -n "$TIMESTAMP/$NONCE/$APP_ID/$INVERTER_ID/GET/HmacSHA256" | openssl dgst -sha256 -hmac "$APP_SECRET" -binary | base64)
# cURL request
curl -v -s -X GET "$BASE_URL/user/api/v2/systems/$SYSTEM_ID/devices/inverter/energy/$INVERTER_ID" \
-H "X-CA-AppId: $APP_ID" \
-H "X-CA-Timestamp: $TIMESTAMP" \
-H "X-CA-Nonce: $NONCE" \
-H "X-CA-Signature-Method: HmacSHA256" \
-H "X-CA-Signature: $SIGNATURE" \
-G --data-urlencode "energy_level=yearly" --data-urlencode "date_range=2024" --data-urlencode "sid=$SYSTEM_ID" --data-urlencode "uid=$INVERTER_ID"
done |
Inmiddels ook de uitkomsten bekend:
Achter liggen 6 panelen op het noord-oosten: vier op schuin dak en twee op de uitbouw gekanteld naar zuid-westen. Voorkant liggen ook 6 panelen, allemaal op schuin dak richting zuid-westen.
In totaal vangt de achterkant 85% van wat de voorkant doet. Dat was als verwacht, alhoewel ik eigenlijk slechtere prestaties van de achterkant had verwacht.
Maar, niet elk paneel presteert even goed!
De panelen op plat dak doen het véél beter dan de rest, bijna net zo goed als de panelen op de voorkant. (ondanks dat ze wat schaduw meepakken van de nok van het dak als de zon eroverheen gaat).
Van de panelen aan de voorkant, pakken de ondersten best veel schaduw van bomen. Die gaan daardoor bijna net zo "slecht" als de panelen aan de achterkant.
Heb ik drie jaar op gewacht voordat ik het uit kon zoeken.
[
Voor 24% gewijzigd door
MatthijsZ op 06-01-2025 23:33
. Reden: FF wat details toegevoegd ]