Ocpp: allow "disable" to override meter value sample (#15925)
This commit is contained in:
parent
7b01721ff3
commit
cf7547e3df
1 changed files with 7 additions and 8 deletions
|
|
@ -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, ","))
|
||||
|
||||
resp, err := cp.GetConfiguration()
|
||||
|
|
@ -58,7 +57,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 {
|
||||
|
|
@ -113,13 +112,13 @@ 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 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 = meterValuesSampledData
|
||||
|
||||
// trigger initial meter values
|
||||
if cp.HasRemoteTriggerFeature {
|
||||
if err := Instance().TriggerMessageRequest(cp.ID(), core.MeterValuesFeatureName); err == nil {
|
||||
|
|
@ -135,13 +134,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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue