From 6a6c5579e7424bca2c84a06f927637ee00cfc5a2 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 8 Dec 2024 13:49:25 +0100 Subject: [PATCH 01/15] chore: use Go 1.24 --- Makefile | 2 +- api/api.go | 2 +- api/batterymode.go | 2 +- api/feature.go | 2 +- api/reason.go | 2 +- api/tariff.go | 2 +- charger/easee/signalr.go | 2 +- charger/warp/types.go | 2 +- charger/zaptec/const.go | 2 +- cmd/error.go | 2 +- core/loadpoint/api.go | 2 +- core/vehicle/api.go | 2 +- go.mod | 5 +++++ server/db/settings/api.go | 2 +- tariff/fixed/day.go | 2 +- tools.go | 8 -------- util/templates/class.go | 2 +- util/templates/paramtype.go | 2 +- util/templates/usage.go | 2 +- 19 files changed, 22 insertions(+), 25 deletions(-) delete mode 100644 tools.go diff --git a/Makefile b/Makefile index 832337dd0f..b040e66ecc 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ clean:: rm -rf dist/ install:: - go install $$(go list -e -f '{{join .Imports " "}}' tools.go) + go install tool install-ui:: npm ci diff --git a/api/api.go b/api/api.go index 9a01f7de1c..fc06a59d91 100644 --- a/api/api.go +++ b/api/api.go @@ -7,7 +7,7 @@ import ( "time" ) -//go:generate mockgen -package api -destination mock.go github.com/evcc-io/evcc/api Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,Identifier,Meter,MeterEnergy,PhaseCurrents,Vehicle,ChargeRater,Battery,Tariff,BatteryController,Circuit +//go:generate go tool mockgen -package api -destination mock.go github.com/evcc-io/evcc/api Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,Identifier,Meter,MeterEnergy,PhaseCurrents,Vehicle,ChargeRater,Battery,Tariff,BatteryController,Circuit // Meter provides total active power in W type Meter interface { diff --git a/api/batterymode.go b/api/batterymode.go index 01bd617038..4ca00b3f12 100644 --- a/api/batterymode.go +++ b/api/batterymode.go @@ -3,7 +3,7 @@ package api // BatteryMode is the home battery operation mode. Valid values are normal, locked and charge type BatteryMode int -//go:generate enumer -type BatteryMode -trimprefix Battery -transform=lower +//go:generate go tool enumer -type BatteryMode -trimprefix Battery -transform=lower const ( BatteryUnknown BatteryMode = iota BatteryNormal diff --git a/api/feature.go b/api/feature.go index 44b5240c5a..4909652305 100644 --- a/api/feature.go +++ b/api/feature.go @@ -2,7 +2,7 @@ package api type Feature int -//go:generate enumer -type Feature -text +//go:generate go tool enumer -type Feature -text const ( _ Feature = iota Offline diff --git a/api/reason.go b/api/reason.go index 8d3439c556..4d8900ec39 100644 --- a/api/reason.go +++ b/api/reason.go @@ -2,7 +2,7 @@ package api type Reason int -//go:generate enumer -type Reason -trimprefix Reason -transform=lower +//go:generate go tool enumer -type Reason -trimprefix Reason -transform=lower const ( ReasonUnknown Reason = iota ReasonWaitingForAuthorization diff --git a/api/tariff.go b/api/tariff.go index d8b1b37a0d..2b8220d798 100644 --- a/api/tariff.go +++ b/api/tariff.go @@ -1,6 +1,6 @@ package api -//go:generate enumer -type TariffType -trimprefix TariffType -transform=lower +//go:generate go tool enumer -type TariffType -trimprefix TariffType -transform=lower type TariffType int diff --git a/charger/easee/signalr.go b/charger/easee/signalr.go index 3197d06114..14d8194db1 100644 --- a/charger/easee/signalr.go +++ b/charger/easee/signalr.go @@ -62,7 +62,7 @@ const ( // https://www.notion.so/Charger-template-c6a20ff7cfea41e2b5f80b00afb34af5 type ObservationID int -//go:generate enumer -type ObservationID +//go:generate go tool enumer -type ObservationID const ( SELF_TEST_RESULT ObservationID = 1 // PASSED or error codes [String] SELF_TEST_DETAILS ObservationID = 2 // JSON with details from self-test [String] diff --git a/charger/warp/types.go b/charger/warp/types.go index a428a21cf1..82f3c25007 100644 --- a/charger/warp/types.go +++ b/charger/warp/types.go @@ -87,7 +87,7 @@ type EmConfig struct { PhaseSwitchingMode int `json:"phase_switching_mode"` } -//go:generate enumer -type ExternalControl -trimprefix ExternalControl -transform whitespace +//go:generate go tool enumer -type ExternalControl -trimprefix ExternalControl -transform whitespace type ExternalControl int const ( diff --git a/charger/zaptec/const.go b/charger/zaptec/const.go index e64d609bf7..e0226fc4e2 100644 --- a/charger/zaptec/const.go +++ b/charger/zaptec/const.go @@ -4,7 +4,7 @@ const ApiURL = "https://api.zaptec.com" type ObservationID int -//go:generate enumer -type ObservationID +//go:generate go tool enumer -type ObservationID // Commands const ( diff --git a/cmd/error.go b/cmd/error.go index 3d8c78e8ae..03604046dd 100644 --- a/cmd/error.go +++ b/cmd/error.go @@ -7,7 +7,7 @@ import ( type Class int -//go:generate enumer -type Class -trimprefix Class -transform=lower -text +//go:generate go tool enumer -type Class -trimprefix Class -transform=lower -text const ( _ Class = iota ClassConfigFile diff --git a/core/loadpoint/api.go b/core/loadpoint/api.go index e98511f1a4..45f1fb93f0 100644 --- a/core/loadpoint/api.go +++ b/core/loadpoint/api.go @@ -6,7 +6,7 @@ import ( "github.com/evcc-io/evcc/api" ) -//go:generate mockgen -package loadpoint -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/core/loadpoint API +//go:generate go tool mockgen -package loadpoint -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/core/loadpoint API // Controller gives access to loadpoint type Controller interface { diff --git a/core/vehicle/api.go b/core/vehicle/api.go index 9026ee6e01..1074ab128f 100644 --- a/core/vehicle/api.go +++ b/core/vehicle/api.go @@ -6,7 +6,7 @@ import ( "github.com/evcc-io/evcc/api" ) -//go:generate mockgen -package vehicle -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/core/vehicle API +//go:generate go tool mockgen -package vehicle -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/core/vehicle API type API interface { // Instance returns the vehicle instance diff --git a/go.mod b/go.mod index e20aff375a..be251bacc8 100644 --- a/go.mod +++ b/go.mod @@ -203,6 +203,11 @@ require ( nhooyr.io/websocket v1.8.17 // indirect ) +tool ( + github.com/dmarkham/enumer + go.uber.org/mock/mockgen +) + replace gopkg.in/yaml.v3 => github.com/andig/yaml v0.0.0-20240531135838-1ff5761ab467 replace github.com/grid-x/modbus => github.com/evcc-io/modbus v0.0.0-20241027151224-722a7a5ae529 diff --git a/server/db/settings/api.go b/server/db/settings/api.go index 832c1880c0..e7019c247a 100644 --- a/server/db/settings/api.go +++ b/server/db/settings/api.go @@ -1,6 +1,6 @@ package settings -//go:generate mockgen -package settings -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/server/db/settings API +//go:generate go tool mockgen -package settings -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/server/db/settings API type API interface { String(key string) (string, error) diff --git a/tariff/fixed/day.go b/tariff/fixed/day.go index 3007f1ffcd..1dbcfb7069 100644 --- a/tariff/fixed/day.go +++ b/tariff/fixed/day.go @@ -8,7 +8,7 @@ import ( "strings" ) -//go:generate enumer -type Day +//go:generate go tool enumer -type Day type Day int const ( diff --git a/tools.go b/tools.go deleted file mode 100644 index d27705adb8..0000000000 --- a/tools.go +++ /dev/null @@ -1,8 +0,0 @@ -//go:build tools - -package main - -import ( - _ "github.com/dmarkham/enumer" - _ "go.uber.org/mock/mockgen" -) diff --git a/util/templates/class.go b/util/templates/class.go index 42ea0c109c..08e3e79550 100644 --- a/util/templates/class.go +++ b/util/templates/class.go @@ -2,7 +2,7 @@ package templates type Class int -//go:generate enumer -type Class -transform=lower +//go:generate go tool enumer -type Class -transform=lower const ( _ Class = iota Charger diff --git a/util/templates/paramtype.go b/util/templates/paramtype.go index 4e10c2660e..40c1210a31 100644 --- a/util/templates/paramtype.go +++ b/util/templates/paramtype.go @@ -2,7 +2,7 @@ package templates type ParamType int -//go:generate enumer -type ParamType -trimprefix Type -text +//go:generate go tool enumer -type ParamType -trimprefix Type -text const ( TypeString ParamType = iota // default type string TypeBool diff --git a/util/templates/usage.go b/util/templates/usage.go index 1981429959..e393c7baf7 100644 --- a/util/templates/usage.go +++ b/util/templates/usage.go @@ -2,7 +2,7 @@ package templates type Usage int -//go:generate enumer -type Usage -trimprefix Usage -transform=lower -text +//go:generate go tool enumer -type Usage -trimprefix Usage -transform=lower -text const ( UsageGrid Usage = iota UsagePV From 99cbe7ca50830fad7373b5b17dd763a5686336e4 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 8 Dec 2024 13:55:54 +0100 Subject: [PATCH 02/15] wip --- .github/workflows/default.yml | 2 +- .github/workflows/documentation.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/website.yml | 2 +- .golangci.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 2e6ea62bdb..d87eaca1a8 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -1,7 +1,7 @@ name: Default env: - GO_VERSION: ^1.23 + GO_VERSION: ^1.24 on: push: diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 033fa69796..f6186788c1 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,7 +1,7 @@ name: Deploy updated templates env: - GO_VERSION: ^1.23 + GO_VERSION: ^1.24 on: schedule: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index f1985d8f6f..30d8e2ea43 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1,7 +1,7 @@ name: Nightly Build env: - GO_VERSION: ^1.23 + GO_VERSION: ^1.24 on: schedule: # runs on the default branch: master diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bb7662f8d3..bc5e1ecc2e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,7 @@ name: Release env: - GO_VERSION: ^1.23 + GO_VERSION: ^1.24 on: push: diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 22350181b0..afa0fef293 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -1,7 +1,7 @@ name: Deploy data to website env: - GO_VERSION: ^1.23 + GO_VERSION: ^1.24 on: release: diff --git a/.golangci.yml b/.golangci.yml index 573d971b88..3999f00c82 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,5 +1,5 @@ run: - go: "1.23" + go: "1.24" issues: exclude: From cbfcdb511d5922e68b839570a793838389f4c87c Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 8 Dec 2024 14:01:05 +0100 Subject: [PATCH 03/15] Drop workarounds --- .goreleaser-nightly.yml | 9 --------- .goreleaser.yml | 9 --------- 2 files changed, 18 deletions(-) diff --git a/.goreleaser-nightly.yml b/.goreleaser-nightly.yml index 53cff501a8..df384ee9c9 100644 --- a/.goreleaser-nightly.yml +++ b/.goreleaser-nightly.yml @@ -27,15 +27,6 @@ builds: goarch: arm - goos: windows goarch: arm64 - overrides: - - goos: darwin - goarch: arm64 - ldflags: - - -X github.com/evcc-io/evcc/server.Version={{ .Tag }} -X github.com/evcc-io/evcc/server.Commit={{ .ShortCommit }} -X github.com/evcc-io/evcc/vehicle/tesla.TESLA_CLIENT_ID={{ .Env.TESLA_CLIENT_ID }} -s -w -B gobuildid - - goos: darwin - goarch: amd64 - ldflags: - - -X github.com/evcc-io/evcc/server.Version={{ .Tag }} -X github.com/evcc-io/evcc/server.Commit={{ .ShortCommit }} -X github.com/evcc-io/evcc/vehicle/tesla.TESLA_CLIENT_ID={{ .Env.TESLA_CLIENT_ID }} -s -w -B gobuildid archives: - builds: diff --git a/.goreleaser.yml b/.goreleaser.yml index ece7448846..3ae3440ee9 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -32,15 +32,6 @@ builds: goarch: arm - goos: windows goarch: arm64 - overrides: - - goos: darwin - goarch: arm64 - ldflags: - - -X github.com/evcc-io/evcc/server.Version={{ .Version }} -X github.com/evcc-io/evcc/vehicle/tesla.TESLA_CLIENT_ID={{ .Env.TESLA_CLIENT_ID }} -s -w -B gobuildid - - goos: darwin - goarch: amd64 - ldflags: - - -X github.com/evcc-io/evcc/server.Version={{ .Version }} -X github.com/evcc-io/evcc/vehicle/tesla.TESLA_CLIENT_ID={{ .Env.TESLA_CLIENT_ID }} -s -w -B gobuildid env: - CGO_ENABLED=0 From 103819e3bd63fc6739365e927f923563c819e675 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 21 Dec 2024 11:54:31 +0100 Subject: [PATCH 04/15] wip --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index be251bacc8..7db0da9f93 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/evcc-io/evcc -go 1.23.3 +go 1.24rc1 require ( dario.cat/mergo v1.0.1 From 661b2791d607a74a38eedb62e20ec67f565c559b Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 21 Dec 2024 12:02:24 +0100 Subject: [PATCH 05/15] drop go version in favor of go.mod --- .github/workflows/default.yml | 8 -------- .github/workflows/documentation.yml | 4 ---- .github/workflows/nightly.yml | 4 ---- .github/workflows/release.yml | 4 ---- .github/workflows/website.yml | 4 ---- 5 files changed, 24 deletions(-) diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index d87eaca1a8..e6ae040d75 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -1,8 +1,5 @@ name: Default -env: - GO_VERSION: ^1.24 - on: push: branches: @@ -20,7 +17,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} cache: false id: go @@ -58,7 +54,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} cache: false id: go @@ -91,7 +86,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} cache: false id: go @@ -117,7 +111,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} cache: false # avoid cache thrashing id: go @@ -183,7 +176,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} cache: false id: go diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index f6186788c1..81612abf3f 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,8 +1,5 @@ name: Deploy updated templates -env: - GO_VERSION: ^1.24 - on: schedule: - cron: "0 2 * * *" # same time as nightly is triggered @@ -20,7 +17,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} id: go - name: Build docs diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 30d8e2ea43..57c9617b0c 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1,8 +1,5 @@ name: Nightly Build -env: - GO_VERSION: ^1.24 - on: schedule: # runs on the default branch: master - cron: "0 2 * * *" # run at 2 AM UTC @@ -86,7 +83,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} id: go - name: Patch ASN1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bc5e1ecc2e..66b2afce3d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,5 @@ name: Release -env: - GO_VERSION: ^1.24 - on: push: tags: @@ -65,7 +62,6 @@ jobs: - name: Setup Go uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} id: go - name: Patch ASN1 diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index afa0fef293..ecc18783ff 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -1,8 +1,5 @@ name: Deploy data to website -env: - GO_VERSION: ^1.24 - on: release: types: [created] @@ -18,7 +15,6 @@ jobs: - uses: actions/setup-go@v5 with: - go-version: ${{ env.GO_VERSION }} id: go - name: Build docs From cf2c22316222bfc816daf09ae2c9d09561a47706 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 21 Dec 2024 12:02:58 +0100 Subject: [PATCH 06/15] build platform --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 99057a1c57..1d3f3ac23c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,7 @@ RUN make ui # STEP 2 build executable binary -FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.24-alpine AS builder # Install git + SSL ca certificates. # Git is required for fetching the dependencies. From 09b06b0cc9f97f3b81ac553b9d897d633c8bf15f Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 21 Dec 2024 12:45:21 +0100 Subject: [PATCH 07/15] wip --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index b1401fd9cc..4d0e53514f 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,6 @@ require ( github.com/containrrr/shoutrrr v0.8.0 github.com/coreos/go-oidc/v3 v3.11.0 github.com/denisbrodbeck/machineid v1.0.1 - github.com/dmarkham/enumer v1.5.10 github.com/dylanmei/iso8601 v0.1.0 github.com/eclipse/paho.mqtt.golang v1.5.0 github.com/enbility/eebus-go v0.7.0 @@ -122,6 +121,7 @@ require ( github.com/cronokirby/saferith v0.33.0 // indirect github.com/cstockton/go-conv v1.0.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/dmarkham/enumer v1.5.10 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/enbility/go-avahi v0.0.0-20240909195612-d5de6b280d7a // indirect github.com/enbility/zeroconf/v2 v2.0.0-20240920094356-be1cae74fda6 // indirect From 87b834c505258098817b433b4e8933f53eaf4102 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 21 Dec 2024 12:47:48 +0100 Subject: [PATCH 08/15] remove explicit lint version --- .golangci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 3999f00c82..d6d05db531 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,6 +1,3 @@ -run: - go: "1.24" - issues: exclude: - .regActualCurrent. is unused From c32326a2f0329d93faad6dcc7250e04dc99d4810 Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 27 Dec 2024 13:19:32 +0100 Subject: [PATCH 09/15] Merge branch 'master' into chore/go-124-tool # Conflicts: # .goreleaser-nightly.yml # .goreleaser.yml --- charger/abl.go | 2 +- charger/alfen.go | 2 +- charger/amperfied.go | 2 +- charger/bender.go | 2 +- charger/cfos.go | 2 +- charger/charger.go | 2 +- charger/eebus.go | 2 +- charger/em2go.go | 2 +- charger/evsewifi.go | 2 +- charger/go-e.go | 2 +- charger/hardybarth-salia.go | 2 +- charger/innogy.go | 2 +- charger/keba-modbus.go | 2 +- charger/keba-udp.go | 2 +- charger/kse.go | 2 +- charger/nrggen2.go | 2 +- charger/ocpp.go | 2 +- charger/openevse.go | 2 +- charger/openwb-2.0.go | 2 +- charger/openwb.go | 2 +- charger/pcelectric.go | 2 +- charger/peblar.go | 2 +- charger/phoenix-charx.go | 2 +- charger/phoenix-em-eth.go | 2 +- charger/phoenix-ev-eth.go | 2 +- charger/pulsares.go | 2 +- charger/sgready.go | 2 +- charger/switchsocket.go | 2 +- charger/tasmota.go | 2 +- charger/vaillant.go | 2 +- charger/wallbe.go | 2 +- charger/warp2.go | 2 +- cmd/decorate/decorate.go | 2 +- meter/bosch_bpts5_hybrid.go | 2 +- meter/dsmr.go | 2 +- meter/e3dc.go | 2 +- meter/goodwe-wifi.go | 2 +- meter/lgess.go | 2 +- meter/mbmd.go | 2 +- meter/meter.go | 2 +- meter/powerwall.go | 2 +- meter/rct.go | 2 +- meter/sma.go | 2 +- meter/tasmota.go | 2 +- meter/tq-em.go | 2 +- vehicle/tronity.go | 2 +- vehicle/vehicle.go | 2 +- 47 files changed, 47 insertions(+), 47 deletions(-) diff --git a/charger/abl.go b/charger/abl.go index 9a5953b2e9..c9bfc54fc9 100644 --- a/charger/abl.go +++ b/charger/abl.go @@ -96,7 +96,7 @@ func NewABLeMHFromConfig(other map[string]interface{}) (api.Charger, error) { return NewABLeMH(cc.URI, cc.Device, cc.Comset, cc.Baudrate, cc.ID, cc.Timeout) } -//go:generate decorate -f decorateABLeMH -b *ABLeMH -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateABLeMH -b *ABLeMH -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewABLeMH creates ABLeMH charger func NewABLeMH(uri, device, comset string, baudrate int, slaveID uint8, timeout time.Duration) (api.Charger, error) { diff --git a/charger/alfen.go b/charger/alfen.go index 97cabc20b4..b1a2965d66 100644 --- a/charger/alfen.go +++ b/charger/alfen.go @@ -56,7 +56,7 @@ func init() { registry.AddCtx("alfen", NewAlfenFromConfig) } -//go:generate decorate -f decorateAlfen -b *Alfen -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateAlfen -b *Alfen -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewAlfenFromConfig creates a Alfen charger from generic config func NewAlfenFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/amperfied.go b/charger/amperfied.go index 23c046e42b..3facc92ef5 100644 --- a/charger/amperfied.go +++ b/charger/amperfied.go @@ -58,7 +58,7 @@ func init() { registry.AddCtx("amperfied", NewAmperfiedFromConfig) } -//go:generate decorate -f decorateAmperfied -b *Amperfied -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateAmperfied -b *Amperfied -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewAmperfiedFromConfig creates a Amperfied charger from generic config func NewAmperfiedFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/bender.go b/charger/bender.go index e7d5a0f7bb..d50b6e0071 100644 --- a/charger/bender.go +++ b/charger/bender.go @@ -84,7 +84,7 @@ func NewBenderCCFromConfig(other map[string]interface{}) (api.Charger, error) { return NewBenderCC(cc.URI, cc.ID) } -//go:generate decorate -f decorateBenderCC -b *BenderCC -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.Identifier,Identify,func() (string, error)" +//go:generate go tool decorate -f decorateBenderCC -b *BenderCC -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.Identifier,Identify,func() (string, error)" // NewBenderCC creates BenderCC charger func NewBenderCC(uri string, id uint8) (api.Charger, error) { diff --git a/charger/cfos.go b/charger/cfos.go index e16fc5544b..553e22caf2 100644 --- a/charger/cfos.go +++ b/charger/cfos.go @@ -37,7 +37,7 @@ func init() { registry.Add("cfos", NewCfosPowerBrainFromConfig) } -//go:generate decorate -f decorateCfos -b *CfosPowerBrain -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" +//go:generate go tool decorate -f decorateCfos -b *CfosPowerBrain -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" // NewCfosPowerBrainFromConfig creates a cFos charger from generic config func NewCfosPowerBrainFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/charger.go b/charger/charger.go index d8278a9619..7d31834c13 100644 --- a/charger/charger.go +++ b/charger/charger.go @@ -24,7 +24,7 @@ func init() { registry.AddCtx(api.Custom, NewConfigurableFromConfig) } -//go:generate decorate -f decorateCustom -b *Charger -r api.Charger -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.Identifier,Identify,func() (string, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.Resurrector,WakeUp,func() error" -t "api.Battery,Soc,func() (float64, error)" -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateCustom -b *Charger -r api.Charger -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.Identifier,Identify,func() (string, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.Resurrector,WakeUp,func() error" -t "api.Battery,Soc,func() (float64, error)" -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" // NewConfigurableFromConfig creates a new configurable charger func NewConfigurableFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/eebus.go b/charger/eebus.go index 464dfa1018..33297e6fc2 100644 --- a/charger/eebus.go +++ b/charger/eebus.go @@ -72,7 +72,7 @@ func NewEEBusFromConfig(other map[string]interface{}) (api.Charger, error) { return NewEEBus(cc.Ski, cc.Ip, cc.Meter, cc.ChargedEnergy, cc.VasVW) } -//go:generate decorate -f decorateEEBus -b *EEBus -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.ChargeRater,ChargedEnergy,func() (float64, error)" +//go:generate go tool decorate -f decorateEEBus -b *EEBus -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.ChargeRater,ChargedEnergy,func() (float64, error)" // NewEEBus creates EEBus charger func NewEEBus(ski, ip string, hasMeter, hasChargedEnergy, vasVW bool) (api.Charger, error) { diff --git a/charger/em2go.go b/charger/em2go.go index 7712db6371..3ffe856bbb 100644 --- a/charger/em2go.go +++ b/charger/em2go.go @@ -66,7 +66,7 @@ func init() { registry.Add("em2go-home", NewEm2GoFromConfig) } -//go:generate decorate -f decorateEm2Go -b *Em2Go -r api.Charger -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateEm2Go -b *Em2Go -r api.Charger -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewEm2GoFromConfig creates a Em2Go charger from generic config func NewEm2GoFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/evsewifi.go b/charger/evsewifi.go index b7a83ad5b8..d76dbcf175 100644 --- a/charger/evsewifi.go +++ b/charger/evsewifi.go @@ -28,7 +28,7 @@ func init() { registry.Add("evsewifi", NewEVSEWifiFromConfig) } -//go:generate decorate -f decorateEVSE -b *EVSEWifi -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.Identifier,Identify,func() (string, error)" +//go:generate go tool decorate -f decorateEVSE -b *EVSEWifi -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.Identifier,Identify,func() (string, error)" // NewEVSEWifiFromConfig creates a EVSEWifi charger from generic config func NewEVSEWifiFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/go-e.go b/charger/go-e.go index 6418ce86de..445b61cbf9 100644 --- a/charger/go-e.go +++ b/charger/go-e.go @@ -41,7 +41,7 @@ func init() { registry.Add("go-e", NewGoEFromConfig) } -//go:generate decorate -f decorateGoE -b *GoE -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" +//go:generate go tool decorate -f decorateGoE -b *GoE -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" // NewGoEFromConfig creates a go-e charger from generic config func NewGoEFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/hardybarth-salia.go b/charger/hardybarth-salia.go index 1763b84c74..5e8708ae59 100644 --- a/charger/hardybarth-salia.go +++ b/charger/hardybarth-salia.go @@ -53,7 +53,7 @@ func init() { registry.AddCtx("hardybarth-salia", NewSaliaFromConfig) } -//go:generate decorate -f decorateSalia -b *Salia -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateSalia -b *Salia -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewSaliaFromConfig creates a Salia cPH2 charger from generic config func NewSaliaFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/innogy.go b/charger/innogy.go index 463745ed7a..1f66c95d17 100644 --- a/charger/innogy.go +++ b/charger/innogy.go @@ -82,7 +82,7 @@ func NewInnogyFromConfig(other map[string]interface{}) (api.Charger, error) { return decorateInnogy(wb, totalEnergy, voltages), nil } -//go:generate decorate -f decorateInnogy -b *Innogy -r api.Charger -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateInnogy -b *Innogy -r api.Charger -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" // NewInnogy creates a Innogy charger func NewInnogy(uri string, id uint8) (*Innogy, error) { diff --git a/charger/keba-modbus.go b/charger/keba-modbus.go index d34368aca1..a7d33fc0a4 100644 --- a/charger/keba-modbus.go +++ b/charger/keba-modbus.go @@ -66,7 +66,7 @@ func init() { registry.AddCtx("keba-modbus", NewKebaFromConfig) } -//go:generate decorate -f decorateKeba -b *Keba -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.Identifier,Identify,func() (string, error)" -t "api.StatusReasoner,StatusReason,func() (api.Reason, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateKeba -b *Keba -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.Identifier,Identify,func() (string, error)" -t "api.StatusReasoner,StatusReason,func() (api.Reason, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewKebaFromConfig creates a new Keba ModbusTCP charger func NewKebaFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/keba-udp.go b/charger/keba-udp.go index 7b7fefbe30..a562e27741 100644 --- a/charger/keba-udp.go +++ b/charger/keba-udp.go @@ -32,7 +32,7 @@ func init() { registry.Add("keba-udp", NewKebaUdpFromConfig) } -//go:generate decorate -f decorateKebaUdp -b *KebaUdp -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateKebaUdp -b *KebaUdp -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewKebaUdpFromConfig creates a new Keba UDP charger func NewKebaUdpFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/kse.go b/charger/kse.go index c33bee9127..6eb647e627 100644 --- a/charger/kse.go +++ b/charger/kse.go @@ -70,7 +70,7 @@ func NewKSEFromConfig(other map[string]interface{}) (api.Charger, error) { return NewKSE(cc.URI, cc.Device, cc.Comset, cc.Baudrate, cc.ID) } -//go:generate decorate -f decorateKSE -b *KSE -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" -t "api.Identifier,Identify,func() (string, error)" +//go:generate go tool decorate -f decorateKSE -b *KSE -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" -t "api.Identifier,Identify,func() (string, error)" // NewKSE creates KSE charger func NewKSE(uri, device, comset string, baudrate int, slaveID uint8) (api.Charger, error) { diff --git a/charger/nrggen2.go b/charger/nrggen2.go index 554f6333b2..09d9dfff9d 100644 --- a/charger/nrggen2.go +++ b/charger/nrggen2.go @@ -48,7 +48,7 @@ func init() { registry.Add("nrggen2", NewNRGKickGen2FromConfig) } -//go:generate decorate -f decorateNRGKickGen2 -b *NRGKickGen2 -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" +//go:generate go tool decorate -f decorateNRGKickGen2 -b *NRGKickGen2 -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" // NewNRGKickGen2FromConfig creates a NRGKickGen2 charger from generic config func NewNRGKickGen2FromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/ocpp.go b/charger/ocpp.go index 308d4c4b01..87e69b0bca 100644 --- a/charger/ocpp.go +++ b/charger/ocpp.go @@ -134,7 +134,7 @@ func NewOCPPFromConfig(other map[string]interface{}) (api.Charger, error) { return decorateOCPP(c, powerG, totalEnergyG, currentsG, voltagesG, currentG, phasesS, socG), nil } -//go:generate decorate -f decorateOCPP -b *OCPP -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.CurrentGetter,GetMaxCurrent,func() (float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.Battery,Soc,func() (float64, error)" +//go:generate go tool decorate -f decorateOCPP -b *OCPP -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.CurrentGetter,GetMaxCurrent,func() (float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.Battery,Soc,func() (float64, error)" // NewOCPP creates OCPP charger func NewOCPP(id string, connector int, idTag string, diff --git a/charger/openevse.go b/charger/openevse.go index 01b79c7bbe..e683bf04a2 100644 --- a/charger/openevse.go +++ b/charger/openevse.go @@ -29,7 +29,7 @@ func init() { registry.Add("openevse", NewOpenEVSEFromConfig) } -//go:generate decorate -f decorateOpenEVSE -b *OpenEVSE -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" +//go:generate go tool decorate -f decorateOpenEVSE -b *OpenEVSE -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" // NewOpenEVSEFromConfig creates an OpenEVSE charger from generic config func NewOpenEVSEFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/openwb-2.0.go b/charger/openwb-2.0.go index 961d7b7e9a..9325dbef6d 100644 --- a/charger/openwb-2.0.go +++ b/charger/openwb-2.0.go @@ -40,7 +40,7 @@ func init() { // https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf -//go:generate decorate -f decorateOpenWB20 -b *OpenWB20 -r api.Charger -t "api.Identifier,Identify,func() (string, error)" +//go:generate go tool decorate -f decorateOpenWB20 -b *OpenWB20 -r api.Charger -t "api.Identifier,Identify,func() (string, error)" // NewOpenWB20FromConfig creates a OpenWB20 charger from generic config func NewOpenWB20FromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/openwb.go b/charger/openwb.go index e4de91d008..64696ff871 100644 --- a/charger/openwb.go +++ b/charger/openwb.go @@ -30,7 +30,7 @@ type OpenWB struct { authS func(string) error } -//go:generate decorate -f decorateOpenWB -b *OpenWB -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.Battery,Soc,func() (float64, error)" +//go:generate go tool decorate -f decorateOpenWB -b *OpenWB -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.Battery,Soc,func() (float64, error)" // NewOpenWBFromConfig creates a new configurable charger func NewOpenWBFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/pcelectric.go b/charger/pcelectric.go index e2ef8b0184..9fd1b522c1 100644 --- a/charger/pcelectric.go +++ b/charger/pcelectric.go @@ -30,7 +30,7 @@ func init() { registry.Add("pcelectric", NewPCElectricFromConfig) } -//go:generate decorate -f decoratePCE -b *PCElectric -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decoratePCE -b *PCElectric -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewPCElectricFromConfig creates a PCElectric charger from generic config func NewPCElectricFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/peblar.go b/charger/peblar.go index 9bbae2b903..a06cc99571 100644 --- a/charger/peblar.go +++ b/charger/peblar.go @@ -70,7 +70,7 @@ func init() { registry.Add("peblar", NewPeblarFromConfig) } -//go:generate decorate -f decoratePeblar -b *Peblar -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decoratePeblar -b *Peblar -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewPeblarFromConfig creates a Peblar charger from generic config func NewPeblarFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/phoenix-charx.go b/charger/phoenix-charx.go index 2099487c64..24be5e11fd 100644 --- a/charger/phoenix-charx.go +++ b/charger/phoenix-charx.go @@ -45,7 +45,7 @@ func init() { registry.Add("phoenix-charx", NewPhoenixCharxFromConfig) } -//go:generate decorate -f decoratePhoenixCharx -b *PhoenixCharx -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decoratePhoenixCharx -b *PhoenixCharx -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" // NewPhoenixCharxFromConfig creates a Phoenix charger from generic config func NewPhoenixCharxFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/phoenix-em-eth.go b/charger/phoenix-em-eth.go index 462896aa74..b52babcbee 100644 --- a/charger/phoenix-em-eth.go +++ b/charger/phoenix-em-eth.go @@ -31,7 +31,7 @@ func init() { registry.Add("phoenix-em-eth", NewPhoenixEMEthFromConfig) } -//go:generate decorate -f decoratePhoenixEMEth -b *PhoenixEMEth -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decoratePhoenixEMEth -b *PhoenixEMEth -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" // NewPhoenixEMEthFromConfig creates a Phoenix charger from generic config func NewPhoenixEMEthFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/phoenix-ev-eth.go b/charger/phoenix-ev-eth.go index ec1b542e36..0f2d7e72fe 100644 --- a/charger/phoenix-ev-eth.go +++ b/charger/phoenix-ev-eth.go @@ -61,7 +61,7 @@ func init() { registry.Add("phoenix-ev-eth", NewPhoenixEVEthFromConfig) } -//go:generate decorate -f decoratePhoenixEVEth -b *PhoenixEVEth -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.Identifier,Identify,func() (string, error)" +//go:generate go tool decorate -f decoratePhoenixEVEth -b *PhoenixEVEth -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" -t "api.Identifier,Identify,func() (string, error)" // NewPhoenixEVEthFromConfig creates a PhoenixEVEth charger from generic config func NewPhoenixEVEthFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/pulsares.go b/charger/pulsares.go index 33c6538743..34a0ac7734 100644 --- a/charger/pulsares.go +++ b/charger/pulsares.go @@ -51,7 +51,7 @@ func init() { registry.AddCtx("pulsares", NewPulsaresFromConfig) } -//go:generate decorate -f decoratePulsares -b *Pulsares -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" +//go:generate go tool decorate -f decoratePulsares -b *Pulsares -r api.Charger -t "api.PhaseSwitcher,Phases1p3p,func(int) error" // NewPulsaresFromConfig creates a Pulsares charger from generic config func NewPulsaresFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/sgready.go b/charger/sgready.go index fea351a013..8def1968c6 100644 --- a/charger/sgready.go +++ b/charger/sgready.go @@ -48,7 +48,7 @@ const ( Stop ) -//go:generate decorate -f decorateSgReady -b *SgReady -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.SocLimiter,GetLimitSoc,func() (int64, error)" +//go:generate go tool decorate -f decorateSgReady -b *SgReady -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.SocLimiter,GetLimitSoc,func() (int64, error)" // NewSgReadyFromConfig creates an SG Ready configurable charger from generic config func NewSgReadyFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/switchsocket.go b/charger/switchsocket.go index 17107501e2..5c84573f09 100644 --- a/charger/switchsocket.go +++ b/charger/switchsocket.go @@ -19,7 +19,7 @@ type SwitchSocket struct { *switchSocket } -//go:generate decorate -f decorateSwitchSocket -b *SwitchSocket -r api.Charger -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" +//go:generate go tool decorate -f decorateSwitchSocket -b *SwitchSocket -r api.Charger -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" func NewSwitchSocketFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { var cc struct { diff --git a/charger/tasmota.go b/charger/tasmota.go index 222cecb41c..47262ee75a 100644 --- a/charger/tasmota.go +++ b/charger/tasmota.go @@ -23,7 +23,7 @@ func init() { registry.Add("tasmota", NewTasmotaFromConfig) } -//go:generate decorate -f decorateTasmota -b *Tasmota -r api.Charger -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateTasmota -b *Tasmota -r api.Charger -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewTasmotaFromConfig creates a Tasmota charger from generic config func NewTasmotaFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/vaillant.go b/charger/vaillant.go index 5000108397..993eaa581b 100644 --- a/charger/vaillant.go +++ b/charger/vaillant.go @@ -42,7 +42,7 @@ type Vaillant struct { systemId string } -//go:generate decorate -f decorateVaillant -b *Vaillant -r api.Charger -t "api.Battery,Soc,func() (float64, error)" +//go:generate go tool decorate -f decorateVaillant -b *Vaillant -r api.Charger -t "api.Battery,Soc,func() (float64, error)" // NewVaillantFromConfig creates an Vaillant configurable charger from generic config func NewVaillantFromConfig(ctx context.Context, other map[string]interface{}) (api.Charger, error) { diff --git a/charger/wallbe.go b/charger/wallbe.go index 7923f380cf..c4030e294d 100644 --- a/charger/wallbe.go +++ b/charger/wallbe.go @@ -40,7 +40,7 @@ func init() { registry.Add("wallbe", NewWallbeFromConfig) } -//go:generate decorate -f decorateWallbe -b *Wallbe -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" +//go:generate go tool decorate -f decorateWallbe -b *Wallbe -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.ChargerEx,MaxCurrentMillis,func(float64) error" // NewWallbeFromConfig creates a Wallbe charger from generic config func NewWallbeFromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/charger/warp2.go b/charger/warp2.go index a477a3ab99..e04ff8cc88 100644 --- a/charger/warp2.go +++ b/charger/warp2.go @@ -36,7 +36,7 @@ func init() { registry.Add("warp-fw2", NewWarp2FromConfig) // deprecated } -//go:generate decorate -f decorateWarp2 -b *Warp2 -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.Identifier,Identify,func() (string, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateWarp2 -b *Warp2 -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.Identifier,Identify,func() (string, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" // NewWarpFromConfig creates a new configurable charger func NewWarp2FromConfig(other map[string]interface{}) (api.Charger, error) { diff --git a/cmd/decorate/decorate.go b/cmd/decorate/decorate.go index 5ab05f8e91..eef4fbf805 100644 --- a/cmd/decorate/decorate.go +++ b/cmd/decorate/decorate.go @@ -20,7 +20,7 @@ import ( "golang.org/x/tools/imports" ) -//go:generate go run ./decorate.go -f decorateTest -b api.Charger -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" +//go:generate go tool decorate -f decorateTest -b api.Charger -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseSwitcher,Phases1p3p,func(int) error" -t "api.PhaseGetter,GetPhases,func() (int, error)" //go:embed decorate.tpl var srcTmpl string diff --git a/meter/bosch_bpts5_hybrid.go b/meter/bosch_bpts5_hybrid.go index 581fee0884..a7760c0852 100644 --- a/meter/bosch_bpts5_hybrid.go +++ b/meter/bosch_bpts5_hybrid.go @@ -46,7 +46,7 @@ func init() { registry.Add("bosch-bpt", NewBoschBpts5HybridFromConfig) } -//go:generate decorate -f decorateBoschBpts5Hybrid -b api.Meter -t "api.Battery,Soc,func() (float64, error)" +//go:generate go tool decorate -f decorateBoschBpts5Hybrid -b api.Meter -t "api.Battery,Soc,func() (float64, error)" // NewBoschBpts5HybridFromConfig creates a Bosch BPT-S 5 Hybrid Meter from generic config func NewBoschBpts5HybridFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/dsmr.go b/meter/dsmr.go index 7f26d96121..354480399e 100644 --- a/meter/dsmr.go +++ b/meter/dsmr.go @@ -71,7 +71,7 @@ func init() { registry.Add("dsmr", NewDsmrFromConfig) } -//go:generate decorate -f decorateDsmr -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateDsmr -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewDsmrFromConfig creates a DSMR meter from generic config func NewDsmrFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/e3dc.go b/meter/e3dc.go index 89c5301944..2ffa9549fd 100644 --- a/meter/e3dc.go +++ b/meter/e3dc.go @@ -26,7 +26,7 @@ func init() { registry.Add("e3dc-rscp", NewE3dcFromConfig) } -//go:generate decorate -f decorateE3dc -b *E3dc -r api.Meter -t "api.BatteryCapacity,Capacity,func() float64" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryController,SetBatteryMode,func(api.BatteryMode) error" +//go:generate go tool decorate -f decorateE3dc -b *E3dc -r api.Meter -t "api.BatteryCapacity,Capacity,func() float64" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryController,SetBatteryMode,func(api.BatteryMode) error" func NewE3dcFromConfig(other map[string]interface{}) (api.Meter, error) { cc := struct { diff --git a/meter/goodwe-wifi.go b/meter/goodwe-wifi.go index ccdea87d49..fade04f9a4 100644 --- a/meter/goodwe-wifi.go +++ b/meter/goodwe-wifi.go @@ -18,7 +18,7 @@ func init() { registry.Add("goodwe-wifi", NewGoodWeWifiFromConfig) } -//go:generate decorate -f decorateGoodWeWifi -b *goodWeWiFi -r api.Meter -t "api.Battery,Soc,func() (float64, error)" +//go:generate go tool decorate -f decorateGoodWeWifi -b *goodWeWiFi -r api.Meter -t "api.Battery,Soc,func() (float64, error)" // TODO deprecated remove diff --git a/meter/lgess.go b/meter/lgess.go index 87ed4b8617..4c7c8a74d0 100644 --- a/meter/lgess.go +++ b/meter/lgess.go @@ -54,7 +54,7 @@ func init() { registry.Add("lgess15", NewLgEss15FromConfig) } -//go:generate decorate -f decorateLgEss -b *LgEss -r api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" +//go:generate go tool decorate -f decorateLgEss -b *LgEss -r api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" func NewLgEss8FromConfig(other map[string]interface{}) (api.Meter, error) { return NewLgEssFromConfig(other, lgpcs.LgEss8) diff --git a/meter/mbmd.go b/meter/mbmd.go index 2c4e19c739..a5505076df 100644 --- a/meter/mbmd.go +++ b/meter/mbmd.go @@ -26,7 +26,7 @@ func init() { registry.Add("mbmd", NewModbusMbmdFromConfig) } -//go:generate decorate -f decorateModbusMbmd -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhasePowers,Powers,func() (float64, float64, float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" +//go:generate go tool decorate -f decorateModbusMbmd -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhasePowers,Powers,func() (float64, float64, float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" // NewModbusMbmdFromConfig creates api.Meter from config func NewModbusMbmdFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/meter.go b/meter/meter.go index c24a77dfb7..3307e97058 100644 --- a/meter/meter.go +++ b/meter/meter.go @@ -13,7 +13,7 @@ func init() { registry.AddCtx(api.Custom, NewConfigurableFromConfig) } -//go:generate decorate -f decorateMeter -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhasePowers,Powers,func() (float64, float64, float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" -t "api.MaxACPower,MaxACPower,func() float64" -t "api.BatteryController,SetBatteryMode,func(api.BatteryMode) error" +//go:generate go tool decorate -f decorateMeter -b api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhasePowers,Powers,func() (float64, float64, float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" -t "api.MaxACPower,MaxACPower,func() float64" -t "api.BatteryController,SetBatteryMode,func(api.BatteryMode) error" // NewConfigurableFromConfig creates api.Meter from config func NewConfigurableFromConfig(ctx context.Context, other map[string]interface{}) (api.Meter, error) { diff --git a/meter/powerwall.go b/meter/powerwall.go index 022fc02091..5ca2f2c682 100644 --- a/meter/powerwall.go +++ b/meter/powerwall.go @@ -32,7 +32,7 @@ func init() { registry.Add("powerwall", NewPowerWallFromConfig) } -//go:generate decorate -f decoratePowerWall -b *PowerWall -r api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" -t "api.BatteryController,SetBatteryMode,func(api.BatteryMode) error" +//go:generate go tool decorate -f decoratePowerWall -b *PowerWall -r api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" -t "api.BatteryController,SetBatteryMode,func(api.BatteryMode) error" // NewPowerWallFromConfig creates a PowerWall Powerwall Meter from generic config func NewPowerWallFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/rct.go b/meter/rct.go index 8f2170af68..2cf0630961 100644 --- a/meter/rct.go +++ b/meter/rct.go @@ -52,7 +52,7 @@ func init() { registry.Add("rct", NewRCTFromConfig) } -//go:generate decorate -f decorateRCT -b *RCT -r api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" +//go:generate go tool decorate -f decorateRCT -b *RCT -r api.Meter -t "api.MeterEnergy,TotalEnergy,func() (float64, error)" -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" // NewRCTFromConfig creates an RCT from generic config func NewRCTFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/sma.go b/meter/sma.go index 7715f22ff2..a635bac52c 100644 --- a/meter/sma.go +++ b/meter/sma.go @@ -24,7 +24,7 @@ func init() { registry.Add("sma", NewSMAFromConfig) } -//go:generate decorate -f decorateSMA -b *SMA -r api.Meter -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" +//go:generate go tool decorate -f decorateSMA -b *SMA -r api.Meter -t "api.Battery,Soc,func() (float64, error)" -t "api.BatteryCapacity,Capacity,func() float64" // NewSMAFromConfig creates an SMA meter from generic config func NewSMAFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/tasmota.go b/meter/tasmota.go index 890be1c336..4e30983cee 100644 --- a/meter/tasmota.go +++ b/meter/tasmota.go @@ -20,7 +20,7 @@ func init() { registry.Add("tasmota", NewTasmotaFromConfig) } -//go:generate decorate -f decorateTasmota -b *Tasmota -r api.Meter -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateTasmota -b *Tasmota -r api.Meter -t "api.PhaseVoltages,Voltages,func() (float64, float64, float64, error)" -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewTasmotaFromConfig creates a Tasmota meter from generic config func NewTasmotaFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/meter/tq-em.go b/meter/tq-em.go index 214aa9a14c..5d52bfff78 100644 --- a/meter/tq-em.go +++ b/meter/tq-em.go @@ -55,7 +55,7 @@ type TqEm struct { dataG func() (tqemData, error) } -//go:generate decorate -f decorateTqEm -b api.Meter -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" +//go:generate go tool decorate -f decorateTqEm -b api.Meter -t "api.PhaseCurrents,Currents,func() (float64, float64, float64, error)" // NewTqEmFromConfig creates a new configurable meter func NewTqEmFromConfig(other map[string]interface{}) (api.Meter, error) { diff --git a/vehicle/tronity.go b/vehicle/tronity.go index 323f4c510d..b6bdc2f3ac 100644 --- a/vehicle/tronity.go +++ b/vehicle/tronity.go @@ -49,7 +49,7 @@ func init() { registry.Add("tronity", NewTronityFromConfig) } -//go:generate decorate -f decorateTronity -b *Tronity -r api.Vehicle -t "api.ChargeState,Status,func() (api.ChargeStatus, error)" -t "api.VehicleOdometer,Odometer,func() (float64, error)" -t "api.ChargeController,ChargeEnable,func(bool) error" +//go:generate go tool decorate -f decorateTronity -b *Tronity -r api.Vehicle -t "api.ChargeState,Status,func() (api.ChargeStatus, error)" -t "api.VehicleOdometer,Odometer,func() (float64, error)" -t "api.ChargeController,ChargeEnable,func(bool) error" // NewTronityFromConfig creates a new vehicle func NewTronityFromConfig(other map[string]interface{}) (api.Vehicle, error) { diff --git a/vehicle/vehicle.go b/vehicle/vehicle.go index 4342fb4517..0e154d3e0c 100644 --- a/vehicle/vehicle.go +++ b/vehicle/vehicle.go @@ -10,7 +10,7 @@ import ( "github.com/evcc-io/evcc/util" ) -//go:generate decorate -f decorateVehicle -b api.Vehicle -t "api.SocLimiter,GetLimitSoc,func() (int64, error)" -t "api.ChargeState,Status,func() (api.ChargeStatus, error)" -t "api.VehicleRange,Range,func() (int64, error)" -t "api.VehicleOdometer,Odometer,func() (float64, error)" -t "api.VehicleClimater,Climater,func() (bool, error)" -t "api.CurrentController,MaxCurrent,func(int64) error" -t "api.CurrentGetter,GetMaxCurrent,func() (float64, error)" -t "api.VehicleFinishTimer,FinishTime,func() (time.Time, error)" -t "api.Resurrector,WakeUp,func() error" -t "api.ChargeController,ChargeEnable,func(bool) error" +//go:generate go tool decorate -f decorateVehicle -b api.Vehicle -t "api.SocLimiter,GetLimitSoc,func() (int64, error)" -t "api.ChargeState,Status,func() (api.ChargeStatus, error)" -t "api.VehicleRange,Range,func() (int64, error)" -t "api.VehicleOdometer,Odometer,func() (float64, error)" -t "api.VehicleClimater,Climater,func() (bool, error)" -t "api.CurrentController,MaxCurrent,func(int64) error" -t "api.CurrentGetter,GetMaxCurrent,func() (float64, error)" -t "api.VehicleFinishTimer,FinishTime,func() (time.Time, error)" -t "api.Resurrector,WakeUp,func() error" -t "api.ChargeController,ChargeEnable,func(bool) error" // Vehicle is an api.Vehicle implementation with configurable getters and setters. type Vehicle struct { From 281054171e9bfe2fd87e2fce40691b20f1fb035a Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 29 Dec 2024 11:56:14 +0100 Subject: [PATCH 10/15] wip --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b040e66ecc..06060ed719 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,7 @@ docs:: go generate github.com/evcc-io/evcc/util/templates/... lint:: - golangci-lint run +# golangci-lint run lint-ui:: npm run lint From a288c014e3a99e49617137e6bf4695f76edce72d Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 29 Dec 2024 12:18:39 +0100 Subject: [PATCH 11/15] Revert "remove explicit lint version" This reverts commit 87b834c505258098817b433b4e8933f53eaf4102. --- .golangci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index d6d05db531..3999f00c82 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,3 +1,6 @@ +run: + go: "1.24" + issues: exclude: - .regActualCurrent. is unused From 4969a12e4092a5eccb642d732e7c1c0fc72592f0 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 12 Jan 2025 14:59:34 +0100 Subject: [PATCH 12/15] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 06060ed719..b040e66ecc 100644 --- a/Makefile +++ b/Makefile @@ -52,7 +52,7 @@ docs:: go generate github.com/evcc-io/evcc/util/templates/... lint:: -# golangci-lint run + golangci-lint run lint-ui:: npm run lint From 9f3a2bcf9296107cce0d6b9305458c676ca842f9 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 25 Jan 2025 12:44:51 +0100 Subject: [PATCH 13/15] Add gok --- go.mod | 6 ++++++ go.sum | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/go.mod b/go.mod index b60c7450ac..373b7d1359 100644 --- a/go.mod +++ b/go.mod @@ -117,12 +117,14 @@ require ( github.com/azihsoyn/rijndael256 v0.0.0-20200316065338-d14eefa2b66b // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bitly/go-simplejson v0.5.0 // indirect + github.com/breml/rootcerts v0.2.10 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/cronokirby/saferith v0.33.0 // indirect github.com/cstockton/go-conv v1.0.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dmarkham/enumer v1.5.10 // indirect + github.com/donovanhide/eventsource v0.0.0-20210830082556-c59027999da0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/enbility/go-avahi v0.0.0-20240909195612-d5de6b280d7a // indirect github.com/enbility/zeroconf/v2 v2.0.0-20240920094356-be1cae74fda6 // indirect @@ -138,8 +140,11 @@ require ( github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/gokrazy/internal v0.0.0-20240827190026-6ab9fef83042 // indirect + github.com/gokrazy/tools v0.0.0-20250122205404-f1a87939e48c // indirect github.com/golanguzb70/lrucache v1.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect + github.com/google/renameio/v2 v2.0.0 // indirect github.com/gorilla/websocket v1.5.3 // indirect github.com/grid-x/serial v0.0.0-20211107191517-583c7356b3aa // indirect github.com/huandu/xstrings v1.5.0 // indirect @@ -207,6 +212,7 @@ require ( tool ( github.com/dmarkham/enumer github.com/evcc-io/evcc/cmd/decorate + github.com/gokrazy/tools/cmd/gok go.uber.org/mock/mockgen ) diff --git a/go.sum b/go.sum index c5042ff3c6..992c2b7c3c 100644 --- a/go.sum +++ b/go.sum @@ -76,6 +76,8 @@ github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngE github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= github.com/bogosj/tesla v1.3.1 h1:2iTieXh8jqG8FGWs63aQfRWbD7toLUm6fQ7677eevIE= github.com/bogosj/tesla v1.3.1/go.mod h1:JvkjZAswd288BeRYd37fKqyYKLcDj3E5oY/OuLzndaI= +github.com/breml/rootcerts v0.2.10 h1:UGVZ193UTSUASpGtg6pbDwzOd7XQP+at0Ssg1/2E4h8= +github.com/breml/rootcerts v0.2.10/go.mod h1:24FDtzYMpqIeYC7QzaE8VPRQaFZU5TIUDlyk8qwjD88= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -123,6 +125,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm github.com/dmarkham/enumer v1.5.2/go.mod h1:jZ3PNbNJDEkFGx54MlkSjnDQUo7445l7/guoKdh9cY8= github.com/dmarkham/enumer v1.5.10 h1:ygL0L6quiTiH1jpp68DyvsWaea6MaZLZrTTkIS++R0M= github.com/dmarkham/enumer v1.5.10/go.mod h1:e4VILe2b1nYK3JKJpRmNdl5xbDQvELc6tQ8b+GsGk6E= +github.com/donovanhide/eventsource v0.0.0-20210830082556-c59027999da0 h1:C7t6eeMaEQVy6e8CarIhscYQlNmw5e3G36y7l7Y21Ao= +github.com/donovanhide/eventsource v0.0.0-20210830082556-c59027999da0/go.mod h1:56wL82FO0bfMU5RvfXoIwSOP2ggqqxT+tAfNEIyxuHw= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= @@ -226,6 +230,10 @@ github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFG github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gokrazy/internal v0.0.0-20240827190026-6ab9fef83042 h1:pGQOpKqneYGmTHKkKvCdfPmnFXlV6LA4c7FRlO/bBsk= +github.com/gokrazy/internal v0.0.0-20240827190026-6ab9fef83042/go.mod h1:t3ZirVhcs9bH+fPAJuGh51rzT7sVCZ9yfXvszf0ZjF0= +github.com/gokrazy/tools v0.0.0-20250122205404-f1a87939e48c h1:maz0Nf72LHtik2ITQ0eO3pTs/1V7e0p+rmXU2ZzCWWE= +github.com/gokrazy/tools v0.0.0-20250122205404-f1a87939e48c/go.mod h1:TNwDHo9gFgfVnMCy5J+OYuAScwWLU+CTXWQPlqAUAvs= github.com/gokrazy/updater v0.0.0-20240113102150-4ac511a17e33 h1:m6NVAznErzAL9fzaIh+HeFbbImxV6ku4iaUUHhYctmg= github.com/gokrazy/updater v0.0.0-20240113102150-4ac511a17e33/go.mod h1:PYOvzGOL4nlBmuxu7IyKQTFLaxr61+WPRNRzVtuYOHw= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= @@ -268,6 +276,8 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo= github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/renameio/v2 v2.0.0 h1:UifI23ZTGY8Tt29JbYFiuyIU3eX+RNFtUwefq9qAhxg= +github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= From 14e467ee47a2f187cf6c9984003f14f52124e27a Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 25 Jan 2025 12:49:13 +0100 Subject: [PATCH 14/15] wip --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 373b7d1359..22dd119a0d 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/evcc-io/evcc -go 1.24rc1 +go 1.24rc2 require ( dario.cat/mergo v1.0.1 From c698cc82ea6e7a93b9de61dcb413a6a87fc4da23 Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 29 Jan 2025 14:24:00 +0100 Subject: [PATCH 15/15] wip --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 22dd119a0d..0bcc261605 100644 --- a/go.mod +++ b/go.mod @@ -140,8 +140,8 @@ require ( github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/gokrazy/internal v0.0.0-20240827190026-6ab9fef83042 // indirect - github.com/gokrazy/tools v0.0.0-20250122205404-f1a87939e48c // indirect + github.com/gokrazy/internal v0.0.0-20250126213949-423a5b587b57 // indirect + github.com/gokrazy/tools v0.0.0-20250128200151-63160424957c // indirect github.com/golanguzb70/lrucache v1.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/renameio/v2 v2.0.0 // indirect diff --git a/go.sum b/go.sum index 992c2b7c3c..b86a00eb88 100644 --- a/go.sum +++ b/go.sum @@ -230,10 +230,10 @@ github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFG github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gokrazy/internal v0.0.0-20240827190026-6ab9fef83042 h1:pGQOpKqneYGmTHKkKvCdfPmnFXlV6LA4c7FRlO/bBsk= -github.com/gokrazy/internal v0.0.0-20240827190026-6ab9fef83042/go.mod h1:t3ZirVhcs9bH+fPAJuGh51rzT7sVCZ9yfXvszf0ZjF0= -github.com/gokrazy/tools v0.0.0-20250122205404-f1a87939e48c h1:maz0Nf72LHtik2ITQ0eO3pTs/1V7e0p+rmXU2ZzCWWE= -github.com/gokrazy/tools v0.0.0-20250122205404-f1a87939e48c/go.mod h1:TNwDHo9gFgfVnMCy5J+OYuAScwWLU+CTXWQPlqAUAvs= +github.com/gokrazy/internal v0.0.0-20250126213949-423a5b587b57 h1:f5bEvO4we3fbfiBkECrrUgWQ8OH6J3SdB2Dwxid/Yx4= +github.com/gokrazy/internal v0.0.0-20250126213949-423a5b587b57/go.mod h1:SJG1KwuJQXFEoBgryaNCkMbdISyovDgZd0xmXJRZmiw= +github.com/gokrazy/tools v0.0.0-20250128200151-63160424957c h1:iEbS8GrNOn671ze8J/AfrYFEVzf8qMx8aR5K0VxPK2w= +github.com/gokrazy/tools v0.0.0-20250128200151-63160424957c/go.mod h1:f2vZhnaPzy92+Bjpx1iuZHK7VuaJx6SNCWQWmu23HZA= github.com/gokrazy/updater v0.0.0-20240113102150-4ac511a17e33 h1:m6NVAznErzAL9fzaIh+HeFbbImxV6ku4iaUUHhYctmg= github.com/gokrazy/updater v0.0.0-20240113102150-4ac511a17e33/go.mod h1:PYOvzGOL4nlBmuxu7IyKQTFLaxr61+WPRNRzVtuYOHw= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=