RCT: add maxchargepower (#21156)

This commit is contained in:
Maschga 2025-05-10 11:22:31 +02:00 • committed by GitHub
parent 43253fa8f3
commit 48b01109b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 4 deletions

View file

@ -40,9 +40,11 @@ func NewRCTFromConfig(ctx context.Context, other map[string]interface{}) (api.Me
capacity `mapstructure:",squash"`
Uri, Usage string
MinSoc, MaxSoc int
MaxChargePower int
Cache time.Duration
}{
Cache: 30 * time.Second,
MaxChargePower: 10000,
Cache: 30 * time.Second,
}
if err := util.DecodeOther(other, &cc); err != nil {
@ -53,11 +55,11 @@ func NewRCTFromConfig(ctx context.Context, other map[string]interface{}) (api.Me
return nil, errors.New("missing usage")
}
return NewRCT(ctx, cc.Uri, cc.Usage, cc.MinSoc, cc.MaxSoc, cc.Cache, cc.capacity.Decorator())
return NewRCT(ctx, cc.Uri, cc.Usage, cc.MinSoc, cc.MaxSoc, cc.MaxChargePower, cc.Cache, cc.capacity.Decorator())
}
// NewRCT creates an RCT meter
func NewRCT(ctx context.Context, uri, usage string, minSoc, maxSoc int, cache time.Duration, capacity func() float64) (api.Meter, error) {
func NewRCT(ctx context.Context, uri, usage string, minSoc, maxSoc, maxchargepower int, cache time.Duration, capacity func() float64) (api.Meter, error) {
log := util.NewLogger("rct")
// re-use connections
@ -133,7 +135,7 @@ func NewRCT(ctx context.Context, uri, usage string, minSoc, maxSoc int, cache ti
return err
}
if err := m.conn.Write(rct.PowerMngBatteryPowerExternW, m.floatVal(float32(-10_000))); err != nil {
if err := m.conn.Write(rct.PowerMngBatteryPowerExternW, m.floatVal(float32(-maxchargepower))); err != nil {
return err
}

View file

@ -23,6 +23,7 @@ params:
- name: cache
advanced: true
default: 30s
- name: maxchargepower
render: |
type: rct
uri: {{ .host }}
@ -31,3 +32,4 @@ render: |
capacity: {{ .capacity }} # kWh
minsoc: {{ .minsoc }}
maxsoc: {{ .maxsoc }}
maxchargepower: {{ .maxchargepower }}