pvnode: resample interval averages to power at slot start (#32604)

This commit is contained in:
andig 2026-08-07 17:47:30 +02:00 • committed by GitHub
parent f6a5b07dd6
commit 5e69a6226d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 14 deletions

View file

@ -50,11 +50,15 @@ render: |
type: bearer
token: {{ .apikey }}
jq: |
[.values[] |
{
start: (.timestamp),
end: (.timestamp | fromdateiso8601 + 900 | todateiso8601 ),
value: (.pv_power | round )
}
] | tostring
# values are the average power of the 15min interval ending at the timestamp.
# evcc expects the power at the timestamp, which is the mean of the intervals
# meeting there- the trailing interval is dropped as its successor is unknown.
[.values[] | {t: (.timestamp | fromdateiso8601), v: .pv_power}] as $s
| [ range(0; ($s|length)-1) |
{
start: ($s[.].t | todateiso8601),
end: ($s[.].t + 900 | todateiso8601),
value: ((($s[.].v + $s[.+1].v) / 2) | round)
}
] | tostring
interval: {{ .interval }}

View file

@ -54,11 +54,15 @@ render: |
type: bearer
token: {{ .apikey }}
jq: |
[.values[] |
{
start: (.dtm | sub(" "; "T") + "Z"),
end: (.dtm | sub(" "; "T") + "Z" | fromdateiso8601 + 900 | todateiso8601 ),
value: (.pv_watts | round )
}
] | tostring
# values are the average power of the 15min interval ending at the timestamp.
# evcc expects the power at the timestamp, which is the mean of the intervals
# meeting there- the trailing interval is dropped as its successor is unknown.
[.values[] | {t: (.dtm | sub(" "; "T") + "Z" | fromdateiso8601), v: .pv_watts}] as $s
| [ range(0; ($s|length)-1) |
{
start: ($s[.].t | todateiso8601),
end: ($s[.].t + 900 | todateiso8601),
value: ((($s[.].v + $s[.+1].v) / 2) | round)
}
] | tostring
interval: {{ .interval }}