Meter (SunSpec): read max AC power from nameplate (#32732)

This commit is contained in:
andig 2026-08-20 20:14:13 +02:00 • committed by GitHub
parent fb35c0905f
commit e2c59fc6e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 91 additions and 24 deletions

View file

@ -17,8 +17,7 @@ params:
choice: ["tcpip"]
id: 1
- name: maxacpower
service: modbus/read?address=40227&type=holding&encoding=uint16&scale=1&{modbus}
usages: ["pv"]
deprecated: true # read from nameplate
render: |
type: custom
# sunspec model 701 (DER AC Measurement)
@ -96,5 +95,5 @@ render: |
percent = int(limit)
}
percent
maxacpower: {{ .maxacpower }}
{{- include "sunspec-maxacpower" . }}
{{- end }}

View file

@ -16,6 +16,7 @@ params:
- name: port
default: 502
- name: maxacpower
deprecated: true # read from nameplate
render: |
type: custom
# Fronius Argeno: AC output via SunSpec inverter model 113 (float, primary)
@ -38,4 +39,4 @@ render: |
- 113:WH
- 103:WH
scale: 0.001
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower-tcp" . }}

View file

@ -31,6 +31,7 @@ params:
generic: Integer
deprecated: true
- name: maxacpower
deprecated: true # read from nameplate
- preset: battery-params
- name: maxchargerate
render: |
@ -167,7 +168,7 @@ render: |
id: 1
value: 160:2:DCWH # mppt 2
scale: 0.001
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower-tcp" . }}
curtail:
source: sequence
set:

View file

@ -18,6 +18,7 @@ params:
de: "Zähleradresse von Primär- oder Sekundärzählern. Auf der Weboberfläche des Wechselrichters kann nur die Adresse des ersten Zählers (z.B. 200) eingestellt werden. Zusätzliche Zähler erhalten eine aufsteigende Nummer (z.B: 201)."
usages: ["grid"]
- name: maxacpower
deprecated: true # read from nameplate
- name: maxchargerate
- preset: battery-params
render: |
@ -163,7 +164,7 @@ render: |
id: 1
value: 160:3:DCWH # mppt 3
scale: 0.001
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower-tcp" . }}
{{- end }}
{{- if eq .usage "battery" }}
power:

View file

@ -35,7 +35,7 @@ params:
default: little
advanced: true
- name: maxacpower
service: modbus/read?address=531&type=holding&encoding=uint16&{modbus}
deprecated: true # read from nameplate
- preset: battery-params
- name: capacity
service: modbus/read?address=1068&type=holding&encoding=float32s&scale=0.001&{modbus}
@ -74,7 +74,7 @@ render: |
type: holding
encoding: {{ if (eq .endianness "big") }}float32{{ else }}float32s{{ end }}
scale: 0.001 # Wh -> kWh
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower" . }}
# feed-in curtailment via active power limit (SunSpec model 123, WMaxLimPct @ 40217).
# written as a single register (fn 06); the Plenticore rejects write multiple (fn 16) here.
# WMaxLim_Ena (register 40221) is enabled by default and left to the inverter

View file

@ -109,7 +109,7 @@ render: |
address: 0xE174 # Battery 1 Instantaneous Power
type: holding
decode: float32nans
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower" . }}
curtail:
source: sequence
set:

View file

@ -149,4 +149,5 @@ render: |
percent = 100
}
percent
{{- include "sunspec-maxacpower" . }}
{{- end }}

View file

@ -11,6 +11,7 @@ params:
- name: modbus
choice: ["tcpip", "rs485"]
- name: maxacpower
deprecated: true # read from nameplate
render: |
type: custom
# sunspec model 203 (int+sf)/ 213 (float) meter
@ -88,4 +89,4 @@ render: |
percent = int(limit)
}
percent
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower" . }}

View file

@ -11,6 +11,7 @@ params:
- name: modbus
choice: ["tcpip", "rs485"]
- name: maxacpower
deprecated: true # read from nameplate
- preset: battery-params
render: |
type: custom
@ -106,7 +107,7 @@ render: |
{{- include "modbus" . | indent 6 }}
value: 160:2:DCWH # mppt 2
scale: 0.001
maxacpower: {{ .maxacpower }} # W
{{- include "sunspec-maxacpower" . }}
{{- end }}
{{- if eq .usage "battery" }}
power:

View file

@ -87,3 +87,4 @@ render: |
percent = int(limit)
}
percent
{{- include "sunspec-maxacpower" . }}

View file

@ -153,6 +153,7 @@ render: |
- 103:WH
- 113:WH
scale: 0.001
{{- include "sunspec-maxacpower" . }}
{{- end }}
{{- if eq .usage "battery" }}
power:

View file

@ -0,0 +1,18 @@
{{ define "sunspec-maxacpower" }}
maxacpower: # nameplate rating
source: sunspec
{{- include "modbus" . | indent 2 }}
value:
- 120:WRtg
- 702:WMaxRtg
{{- end }}
{{ define "sunspec-maxacpower-tcp" }}
maxacpower: # nameplate rating
source: sunspec
uri: {{ joinHostPort .host .port }}
id: 1
value:
- 120:WRtg
- 702:WMaxRtg
{{- end }}