From 5f940e1df040d90d58e36a378a41fed62a47ca3c Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 6 Sep 2024 14:00:57 +0200 Subject: [PATCH 1/2] Ocpp: use custom meter values even if configuration fails --- charger/ocpp/cp_setup.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/charger/ocpp/cp_setup.go b/charger/ocpp/cp_setup.go index b8499926bb..086d5a5c70 100644 --- a/charger/ocpp/cp_setup.go +++ b/charger/ocpp/cp_setup.go @@ -19,7 +19,6 @@ func (cp *CP) Setup(meterValues string, meterInterval time.Duration) error { cp.log.DEBUG.Printf("failed configuring availability: %v", err) } - var meterValuesSampledData string meterValuesSampledDataMaxLength := len(strings.Split(desiredMeasurands, ",")) rc := make(chan error, 1) @@ -57,7 +56,7 @@ func (cp *CP) Setup(meterValues string, meterInterval time.Duration) error { if opt.Readonly { meterValuesSampledDataMaxLength = 0 } - meterValuesSampledData = *opt.Value + cp.meterValuesSample = *opt.Value case KeyMeterValuesSampledDataMaxLength: if val, err := strconv.Atoi(*opt.Value); err == nil { @@ -124,13 +123,14 @@ func (cp *CP) Setup(meterValues string, meterInterval time.Duration) error { // configure measurands if meterValues != "" { - if err := cp.configure(KeyMeterValuesSampledData, meterValues); err == nil { - meterValuesSampledData = meterValues + if meterValues != "disable" { + if err := cp.configure(KeyMeterValuesSampledData, meterValues); err != nil { + cp.log.WARN.Printf("failed configuring %s: %v", KeyMeterValuesSampledData, err) + } } + cp.meterValuesSample = meterValues } - cp.meterValuesSample = meterValuesSampledData - // trigger initial meter values if cp.HasRemoteTriggerFeature { if err := Instance().TriggerMessageRequest(cp.ID(), core.MeterValuesFeatureName); err == nil { @@ -146,13 +146,13 @@ func (cp *CP) Setup(meterValues string, meterInterval time.Duration) error { // configure sample rate if meterInterval > 0 { if err := cp.configure(KeyMeterValueSampleInterval, strconv.Itoa(int(meterInterval.Seconds()))); err != nil { - cp.log.WARN.Printf("failed configuring MeterValueSampleInterval: %v", err) + cp.log.WARN.Printf("failed configuring %s: %v", KeyMeterValueSampleInterval, err) } } // configure websocket ping interval if err := cp.configure(KeyWebSocketPingInterval, "30"); err != nil { - cp.log.DEBUG.Printf("failed configuring WebSocketPingInterval: %v", err) + cp.log.DEBUG.Printf("failed configuring %s: %v", KeyWebSocketPingInterval, err) } return nil From 16c3c668c091e3f94bf92b12df52c2dcb5728b88 Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 6 Sep 2024 14:02:18 +0200 Subject: [PATCH 2/2] wip --- charger/ocpp/cp_setup.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/charger/ocpp/cp_setup.go b/charger/ocpp/cp_setup.go index 086d5a5c70..2bb0a752b9 100644 --- a/charger/ocpp/cp_setup.go +++ b/charger/ocpp/cp_setup.go @@ -123,12 +123,11 @@ func (cp *CP) Setup(meterValues string, meterInterval time.Duration) error { // configure measurands if meterValues != "" { - if meterValues != "disable" { - if err := cp.configure(KeyMeterValuesSampledData, meterValues); err != nil { - cp.log.WARN.Printf("failed configuring %s: %v", KeyMeterValuesSampledData, err) - } + if err := cp.configure(KeyMeterValuesSampledData, meterValues); err == nil || meterValues == "disable" { + cp.meterValuesSample = meterValues + } else { + cp.log.WARN.Printf("failed configuring %s: %v", KeyMeterValuesSampledData, err) } - cp.meterValuesSample = meterValues } // trigger initial meter values