diff --git a/.goreleaser.yml b/.goreleaser.yml
index 77934c5de..f17f1c657 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -10,7 +10,7 @@ builds:
- id: evcc
main: main.go
flags:
- - -tags=release
+ - -race -tags=release
ldflags:
- -X github.com/evcc-io/evcc/server.Version={{.Version}} -X github.com/evcc-io/evcc/server.Commit={{.ShortCommit}} -s -w
env:
@@ -105,4 +105,4 @@ brews:
StandardErrorPath
#{var}/log/evcc.log
-
\ No newline at end of file
+
diff --git a/Makefile b/Makefile
index f2c8d9fa0..fed63c06c 100644
--- a/Makefile
+++ b/Makefile
@@ -56,7 +56,7 @@ test:
build:
@echo Version: $(VERSION) $(BUILD_DATE)
- go build -v $(BUILD_TAGS) $(BUILD_ARGS)
+ go build -race -v $(BUILD_TAGS) $(BUILD_ARGS)
release-test:
goreleaser --snapshot --skip-publish --rm-dist
diff --git a/core/loadpoint.go b/core/loadpoint.go
index 7941c8d30..0b5d8c3a9 100644
--- a/core/loadpoint.go
+++ b/core/loadpoint.go
@@ -1281,7 +1281,10 @@ func (lp *LoadPoint) updateChargePower() {
return err
}
+ lp.Lock()
lp.chargePower = value // update value if no error
+ lp.Unlock()
+
lp.log.DEBUG.Printf("charge power: %.0fW", value)
lp.publish("chargePower", value)