Yaml: apply prettier (#3023)
This commit is contained in:
parent
7efe7c3436
commit
cef008f9af
272 changed files with 4387 additions and 4532 deletions
6
.github/issue_label_bot.yaml
vendored
6
.github/issue_label_bot.yaml
vendored
|
|
@ -1,4 +1,4 @@
|
|||
label-alias:
|
||||
bug: 'bug'
|
||||
feature_request: 'enhancement'
|
||||
question: 'question'
|
||||
bug: "bug"
|
||||
feature_request: "enhancement"
|
||||
question: "question"
|
||||
|
|
|
|||
1
.github/stale.yml
vendored
1
.github/stale.yml
vendored
|
|
@ -15,4 +15,3 @@ markComment: >
|
|||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
|
||||
|
|
|
|||
129
.github/workflows/default.yml
vendored
129
.github/workflows/default.yml
vendored
|
|
@ -8,95 +8,94 @@ on:
|
|||
workflow_call:
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.18
|
||||
id: go
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.18
|
||||
id: go
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: "16"
|
||||
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg
|
||||
~/.cache/go-build
|
||||
key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.go-version }}-go-
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg
|
||||
~/.cache/go-build
|
||||
key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.go-version }}-go-
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: gofmt
|
||||
run: |
|
||||
gofmt -w -l $(find . -name '*.go')
|
||||
- name: gofmt
|
||||
run: |
|
||||
gofmt -w -l $(find . -name '*.go')
|
||||
|
||||
- name: Install tools
|
||||
run: make install
|
||||
- name: Install tools
|
||||
run: make install
|
||||
|
||||
- name: Assets
|
||||
run: make assets
|
||||
- name: Assets
|
||||
run: make assets
|
||||
|
||||
- name: Porcelain
|
||||
run: |
|
||||
go mod tidy
|
||||
test -z "$(git status --porcelain)" || (git status; git diff; false)
|
||||
- name: Porcelain
|
||||
run: |
|
||||
go mod tidy
|
||||
test -z "$(git status --porcelain)" || (git status; git diff; false)
|
||||
|
||||
- name: Build
|
||||
run: make build
|
||||
- name: Build
|
||||
run: make build
|
||||
|
||||
- name: Lint
|
||||
uses: golangci/golangci-lint-action@v3
|
||||
with:
|
||||
version: latest
|
||||
skip-pkg-cache: true
|
||||
skip-build-cache: true
|
||||
- name: Lint
|
||||
uses: golangci/golangci-lint-action@v3
|
||||
with:
|
||||
version: latest
|
||||
skip-pkg-cache: true
|
||||
skip-build-cache: true
|
||||
|
||||
- name: Test
|
||||
run: make test
|
||||
- name: Test
|
||||
run: make test
|
||||
|
||||
build-ui:
|
||||
name: Build UI
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Cache NPM modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-npm-
|
||||
- name: Cache NPM modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-npm-
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install tools
|
||||
run: make install-ui
|
||||
- name: Install tools
|
||||
run: make install-ui
|
||||
|
||||
- name: Build
|
||||
run: make ui
|
||||
- name: Build
|
||||
run: make ui
|
||||
|
||||
- name: Lint
|
||||
run: make lint-ui
|
||||
- name: Lint
|
||||
run: make lint-ui
|
||||
|
||||
- name: Test
|
||||
run: make test-ui
|
||||
- name: Test
|
||||
run: make test-ui
|
||||
|
||||
- name: Porcelain
|
||||
run: |
|
||||
test -z "$(git status --porcelain)" || (git status; git diff; false)
|
||||
- name: Porcelain
|
||||
run: |
|
||||
test -z "$(git status --porcelain)" || (git status; git diff; false)
|
||||
|
|
|
|||
38
.github/workflows/documentation.yml
vendored
38
.github/workflows/documentation.yml
vendored
|
|
@ -9,24 +9,24 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Clean git
|
||||
run: |
|
||||
git checkout go.*
|
||||
rm -rf flags buildflags
|
||||
- name: Clean git
|
||||
run: |
|
||||
git checkout go.*
|
||||
rm -rf flags buildflags
|
||||
|
||||
- name: Deploy to docs repo
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
personal_token: ${{ secrets.GH_REPO }}
|
||||
publish_dir: ./templates/docs
|
||||
external_repository: evcc-io/docs
|
||||
publish_branch: main
|
||||
destination_dir: templates
|
||||
allow_empty_commit: false
|
||||
commit_message: Templates update
|
||||
if: ${{ success() }}
|
||||
- name: Deploy to docs repo
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
personal_token: ${{ secrets.GH_REPO }}
|
||||
publish_dir: ./templates/docs
|
||||
external_repository: evcc-io/docs
|
||||
publish_branch: main
|
||||
destination_dir: templates
|
||||
allow_empty_commit: false
|
||||
commit_message: Templates update
|
||||
if: ${{ success() }}
|
||||
|
|
|
|||
123
.github/workflows/nightly.yml
vendored
123
.github/workflows/nightly.yml
vendored
|
|
@ -2,7 +2,7 @@ name: Nightly Build
|
|||
|
||||
on:
|
||||
schedule: # runs on the default branch: master
|
||||
- cron: '0 2 * * *' # run at 2 AM UTC
|
||||
- cron: "0 2 * * *" # run at 2 AM UTC
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
|
@ -34,84 +34,83 @@ jobs:
|
|||
docker:
|
||||
name: Publish Docker :nightly
|
||||
needs:
|
||||
- call-build-workflow
|
||||
- call-build-workflow
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install
|
||||
env:
|
||||
SEIHON_VERSION: v0.9.0
|
||||
run: curl -sfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | sudo bash -s -- -b $GOPATH/bin ${SEIHON_VERSION}
|
||||
- name: Install
|
||||
env:
|
||||
SEIHON_VERSION: v0.9.0
|
||||
run: curl -sfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | sudo bash -s -- -b $GOPATH/bin ${SEIHON_VERSION}
|
||||
|
||||
- name: Login
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
|
||||
- name: Publish
|
||||
run: make publish-nightly
|
||||
- name: Login
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
|
||||
- name: Publish
|
||||
run: make publish-nightly
|
||||
|
||||
apt:
|
||||
name: Publish APT nightly
|
||||
needs:
|
||||
- call-build-workflow
|
||||
- call-build-workflow
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg
|
||||
~/.cache/go-build
|
||||
key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.go-version }}-go-
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg
|
||||
~/.cache/go-build
|
||||
key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.go-version }}-go-
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.18
|
||||
id: go
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.18
|
||||
id: go
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: "16"
|
||||
|
||||
- name: Install Cloudsmith CLI
|
||||
run: pip install --upgrade cloudsmith-cli
|
||||
- name: Install Cloudsmith CLI
|
||||
run: pip install --upgrade cloudsmith-cli
|
||||
|
||||
- name: Clean git
|
||||
run: |
|
||||
git checkout go.*
|
||||
rm -rf flags buildflags
|
||||
- name: Clean git
|
||||
run: |
|
||||
git checkout go.*
|
||||
rm -rf flags buildflags
|
||||
|
||||
- name: Create nightly build
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
with:
|
||||
version: latest
|
||||
args: --snapshot -f .goreleaser-nightly.yml --rm-dist
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Create nightly build
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
with:
|
||||
version: latest
|
||||
args: --snapshot -f .goreleaser-nightly.yml --rm-dist
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Publish .deb to Cloudsmith
|
||||
env:
|
||||
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||
run: |
|
||||
for filename in release/*.deb; do
|
||||
echo "Pushing $filename to 'unstable'"
|
||||
cloudsmith push deb evcc/unstable/any-distro/any-version $filename
|
||||
done
|
||||
- name: Publish .deb to Cloudsmith
|
||||
env:
|
||||
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||
run: |
|
||||
for filename in release/*.deb; do
|
||||
echo "Pushing $filename to 'unstable'"
|
||||
cloudsmith push deb evcc/unstable/any-distro/any-version $filename
|
||||
done
|
||||
|
|
|
|||
18
.github/workflows/rebase.yml
vendored
18
.github/workflows/rebase.yml
vendored
|
|
@ -13,12 +13,12 @@ jobs:
|
|||
&& contains(github.event.comment.body, '/rebase')
|
||||
&& (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER')
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@1.5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@1.5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
|||
147
.github/workflows/release.yml
vendored
147
.github/workflows/release.yml
vendored
|
|
@ -3,7 +3,7 @@ name: Release
|
|||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
call-build-workflow:
|
||||
|
|
@ -13,99 +13,98 @@ jobs:
|
|||
docker:
|
||||
name: Publish Docker :release
|
||||
needs:
|
||||
- call-build-workflow
|
||||
- call-build-workflow
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: refs/heads/master # force master
|
||||
fetch-depth: 0
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: refs/heads/master # force master
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install
|
||||
env:
|
||||
SEIHON_VERSION: v0.9.0
|
||||
run: curl -sfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | sudo bash -s -- -b $GOPATH/bin ${SEIHON_VERSION}
|
||||
- name: Install
|
||||
env:
|
||||
SEIHON_VERSION: v0.9.0
|
||||
run: curl -sfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | sudo bash -s -- -b $GOPATH/bin ${SEIHON_VERSION}
|
||||
|
||||
- name: Login
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
|
||||
- name: Publish
|
||||
run: make publish-release
|
||||
- name: Login
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
|
||||
- name: Publish
|
||||
run: make publish-release
|
||||
|
||||
apt:
|
||||
name: Publish Github & APT release
|
||||
needs:
|
||||
- call-build-workflow
|
||||
- call-build-workflow
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg
|
||||
~/.cache/go-build
|
||||
key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.go-version }}-go-
|
||||
- name: Cache Go modules
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg
|
||||
~/.cache/go-build
|
||||
key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.go-version }}-go-
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.18
|
||||
id: go
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.18
|
||||
id: go
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: "16"
|
||||
|
||||
- name: Install Cloudsmith CLI
|
||||
run: pip install --upgrade cloudsmith-cli
|
||||
- name: Install Cloudsmith CLI
|
||||
run: pip install --upgrade cloudsmith-cli
|
||||
|
||||
# gokrazy image
|
||||
# - name: Prepare Image
|
||||
# run: |
|
||||
# make prepare-image
|
||||
# sed -i -e 's#-ld.*$#& -X github.com/evcc-io/evcc/server/updater.Password=${{ secrets.IMAGE_PASS }}#' buildflags/github.com/evcc-io/evcc/buildflags.txt
|
||||
# mkdir /home/runner/.config/gokrazy
|
||||
# echo ${{ secrets.IMAGE_PASS }}> /home/runner/.config/gokrazy/http-password.txt
|
||||
# gokrazy image
|
||||
# - name: Prepare Image
|
||||
# run: |
|
||||
# make prepare-image
|
||||
# sed -i -e 's#-ld.*$#& -X github.com/evcc-io/evcc/server/updater.Password=${{ secrets.IMAGE_PASS }}#' buildflags/github.com/evcc-io/evcc/buildflags.txt
|
||||
# mkdir /home/runner/.config/gokrazy
|
||||
# echo ${{ secrets.IMAGE_PASS }}> /home/runner/.config/gokrazy/http-password.txt
|
||||
|
||||
# - name: Build Image
|
||||
# run: make image
|
||||
# - name: Build Image
|
||||
# run: make image
|
||||
|
||||
# - name: Build Root Filesystem
|
||||
# run: make image-rootfs
|
||||
# - name: Build Root Filesystem
|
||||
# run: make image-rootfs
|
||||
|
||||
- name: Clean git
|
||||
run: |
|
||||
git checkout go.*
|
||||
rm -rf flags buildflags
|
||||
- name: Clean git
|
||||
run: |
|
||||
git checkout go.*
|
||||
rm -rf flags buildflags
|
||||
|
||||
- name: Create Github Release
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
with:
|
||||
version: latest
|
||||
args: release --rm-dist
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_REPO }}
|
||||
- name: Create Github Release
|
||||
uses: goreleaser/goreleaser-action@v2
|
||||
with:
|
||||
version: latest
|
||||
args: release --rm-dist
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_REPO }}
|
||||
|
||||
- name: Publish .deb to Cloudsmith
|
||||
env:
|
||||
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||
run: |
|
||||
for filename in release/*.deb; do
|
||||
echo "Pushing $filename to 'stable'"
|
||||
cloudsmith push deb evcc/stable/any-distro/any-version $filename
|
||||
done
|
||||
- name: Publish .deb to Cloudsmith
|
||||
env:
|
||||
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
|
||||
run: |
|
||||
for filename in release/*.deb; do
|
||||
echo "Pushing $filename to 'stable'"
|
||||
cloudsmith push deb evcc/stable/any-distro/any-version $filename
|
||||
done
|
||||
|
|
|
|||
22
.github/workflows/schema.yml
vendored
22
.github/workflows/schema.yml
vendored
|
|
@ -3,22 +3,22 @@ name: Validate Schema
|
|||
on:
|
||||
push:
|
||||
paths:
|
||||
- "*.yaml"
|
||||
- "*.json"
|
||||
- "*.yaml"
|
||||
- "*.json"
|
||||
pull_request:
|
||||
paths:
|
||||
- "*.yaml"
|
||||
- "*.json"
|
||||
- "*.yaml"
|
||||
- "*.json"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: nwisbeta/validate-yaml-schema@v1.0.3
|
||||
with:
|
||||
yamlSchemasJson: |
|
||||
{
|
||||
"./schema.json": ["evcc.dist.yaml"]
|
||||
}
|
||||
- uses: actions/checkout@v2
|
||||
- uses: nwisbeta/validate-yaml-schema@v1.0.3
|
||||
with:
|
||||
yamlSchemasJson: |
|
||||
{
|
||||
"./schema.json": ["evcc.dist.yaml"]
|
||||
}
|
||||
|
|
|
|||
7
.github/workflows/stale.yaml
vendored
7
.github/workflows/stale.yaml
vendored
|
|
@ -1,8 +1,9 @@
|
|||
name: 'Stale issue handler'
|
||||
name: "Stale issue handler"
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
|
@ -13,6 +14,6 @@ jobs:
|
|||
with:
|
||||
days-before-stale: 20
|
||||
days-before-close: 5
|
||||
exempt-issue-labels: 'blocked,must,should,keep,pinned'
|
||||
exempt-issue-labels: "blocked,must,should,keep,pinned"
|
||||
- name: Print outputs
|
||||
run: echo ${{ join(steps.stale.outputs.*, ',') }}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ run:
|
|||
go: 1.18
|
||||
issues:
|
||||
exclude:
|
||||
- .regActualCurrent. is unused
|
||||
- "`routeLogger` is unused"
|
||||
- .regActualCurrent. is unused
|
||||
- "`routeLogger` is unused"
|
||||
linters-settings:
|
||||
staticcheck:
|
||||
checks:
|
||||
- '-SA1019'
|
||||
- "-SA1019"
|
||||
|
|
|
|||
|
|
@ -3,41 +3,41 @@ release:
|
|||
disable: true
|
||||
|
||||
builds:
|
||||
- id: evcc
|
||||
main: main.go
|
||||
flags:
|
||||
- -tags=release,viper_yaml3
|
||||
ldflags:
|
||||
- -X github.com/evcc-io/evcc/server.Version={{.Version}} -X github.com/evcc-io/evcc/server.Commit={{.ShortCommit}} -s -w
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
goarch:
|
||||
- amd64
|
||||
- arm
|
||||
- arm64
|
||||
goarm:
|
||||
- "6"
|
||||
- id: evcc
|
||||
main: main.go
|
||||
flags:
|
||||
- -tags=release,viper_yaml3
|
||||
ldflags:
|
||||
- -X github.com/evcc-io/evcc/server.Version={{.Version}} -X github.com/evcc-io/evcc/server.Commit={{.ShortCommit}} -s -w
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
goarch:
|
||||
- amd64
|
||||
- arm
|
||||
- arm64
|
||||
goarm:
|
||||
- "6"
|
||||
|
||||
archives:
|
||||
- builds:
|
||||
- evcc
|
||||
replacements:
|
||||
darwin: macOS
|
||||
format: tar.gz
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
files:
|
||||
- evcc.dist.yaml
|
||||
name_template: "{{.ProjectName}}_{{ .Version }}_{{.Os}}-{{.Arch}}{{ if .Arm }}hf{{ end }}"
|
||||
- builds:
|
||||
- evcc
|
||||
replacements:
|
||||
darwin: macOS
|
||||
format: tar.gz
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
files:
|
||||
- evcc.dist.yaml
|
||||
name_template: "{{.ProjectName}}_{{ .Version }}_{{.Os}}-{{.Arch}}{{ if .Arm }}hf{{ end }}"
|
||||
|
||||
universal_binaries:
|
||||
- replace: true
|
||||
- replace: true
|
||||
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
name_template: "checksums.txt"
|
||||
|
||||
snapshot:
|
||||
name_template: "{{ .Version }}.{{.Timestamp}}"
|
||||
|
|
@ -46,30 +46,30 @@ changelog:
|
|||
sort: asc
|
||||
filters:
|
||||
exclude:
|
||||
- '^chore'
|
||||
- '^bump'
|
||||
- '^docs:'
|
||||
- '^test:'
|
||||
- "^chore"
|
||||
- "^bump"
|
||||
- "^docs:"
|
||||
- "^test:"
|
||||
|
||||
nfpms:
|
||||
- id: default
|
||||
package_name: evcc
|
||||
file_name_template: "{{.ProjectName}}_{{ .Version }}_{{.Os}}-{{.Arch}}{{ if .Arm }}hf{{ end }}"
|
||||
- id: default
|
||||
package_name: evcc
|
||||
file_name_template: "{{.ProjectName}}_{{ .Version }}_{{.Os}}-{{.Arch}}{{ if .Arm }}hf{{ end }}"
|
||||
|
||||
homepage: https://evcc.io
|
||||
description: EV Charge Controller
|
||||
maintainer: andig <cpuidle@gmx.de>
|
||||
license: MIT
|
||||
vendor: evcc.io
|
||||
homepage: https://evcc.io
|
||||
description: EV Charge Controller
|
||||
maintainer: andig <cpuidle@gmx.de>
|
||||
license: MIT
|
||||
vendor: evcc.io
|
||||
|
||||
formats:
|
||||
- deb
|
||||
formats:
|
||||
- deb
|
||||
|
||||
contents:
|
||||
- src: ./packaging/init/evcc.service
|
||||
dst: /lib/systemd/system/evcc.service
|
||||
contents:
|
||||
- src: ./packaging/init/evcc.service
|
||||
dst: /lib/systemd/system/evcc.service
|
||||
|
||||
scripts:
|
||||
postinstall: ./packaging/scripts/postinstall.sh
|
||||
preremove: ./packaging/scripts/preremove.sh
|
||||
postremove: ./packaging/scripts/postremove.sh
|
||||
scripts:
|
||||
postinstall: ./packaging/scripts/postinstall.sh
|
||||
preremove: ./packaging/scripts/preremove.sh
|
||||
postremove: ./packaging/scripts/postremove.sh
|
||||
|
|
|
|||
178
.goreleaser.yml
178
.goreleaser.yml
|
|
@ -5,47 +5,47 @@ release:
|
|||
name: evcc
|
||||
|
||||
builds:
|
||||
- id: evcc
|
||||
main: main.go
|
||||
flags:
|
||||
- -tags=release,viper_yaml3
|
||||
ldflags:
|
||||
- -X github.com/evcc-io/evcc/server.Version={{.Version}} -s -w
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
goarch:
|
||||
- amd64
|
||||
- arm
|
||||
- arm64
|
||||
goarm:
|
||||
- "6"
|
||||
ignore:
|
||||
- goos: windows
|
||||
goarch: arm
|
||||
- goos: windows
|
||||
goarch: arm64
|
||||
- id: evcc
|
||||
main: main.go
|
||||
flags:
|
||||
- -tags=release,viper_yaml3
|
||||
ldflags:
|
||||
- -X github.com/evcc-io/evcc/server.Version={{.Version}} -s -w
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
goarch:
|
||||
- amd64
|
||||
- arm
|
||||
- arm64
|
||||
goarm:
|
||||
- "6"
|
||||
ignore:
|
||||
- goos: windows
|
||||
goarch: arm
|
||||
- goos: windows
|
||||
goarch: arm64
|
||||
|
||||
archives:
|
||||
- builds:
|
||||
- evcc
|
||||
replacements:
|
||||
darwin: macOS
|
||||
format: tar.gz
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
files:
|
||||
- evcc.dist.yaml
|
||||
- builds:
|
||||
- evcc
|
||||
replacements:
|
||||
darwin: macOS
|
||||
format: tar.gz
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
files:
|
||||
- evcc.dist.yaml
|
||||
|
||||
universal_binaries:
|
||||
- replace: true
|
||||
- replace: true
|
||||
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
name_template: "checksums.txt"
|
||||
|
||||
snapshot:
|
||||
name_template: "{{ .Tag }}-next"
|
||||
|
|
@ -54,65 +54,65 @@ changelog:
|
|||
sort: asc
|
||||
filters:
|
||||
exclude:
|
||||
- '^chore'
|
||||
- '^bump'
|
||||
- '^docs:'
|
||||
- '^test:'
|
||||
- "^chore"
|
||||
- "^bump"
|
||||
- "^docs:"
|
||||
- "^test:"
|
||||
|
||||
nfpms:
|
||||
- id: default
|
||||
package_name: evcc
|
||||
file_name_template: '{{ .ConventionalFileName }}'
|
||||
- id: default
|
||||
package_name: evcc
|
||||
file_name_template: "{{ .ConventionalFileName }}"
|
||||
|
||||
homepage: https://evcc.io
|
||||
description: EV Charge Controller
|
||||
maintainer: andig <cpuidle@gmx.de>
|
||||
license: MIT
|
||||
vendor: evcc.io
|
||||
homepage: https://evcc.io
|
||||
description: EV Charge Controller
|
||||
maintainer: andig <cpuidle@gmx.de>
|
||||
license: MIT
|
||||
vendor: evcc.io
|
||||
|
||||
formats:
|
||||
- deb
|
||||
formats:
|
||||
- deb
|
||||
|
||||
contents:
|
||||
- src: ./packaging/init/evcc.service
|
||||
dst: /lib/systemd/system/evcc.service
|
||||
contents:
|
||||
- src: ./packaging/init/evcc.service
|
||||
dst: /lib/systemd/system/evcc.service
|
||||
|
||||
scripts:
|
||||
postinstall: ./packaging/scripts/postinstall.sh
|
||||
preremove: ./packaging/scripts/preremove.sh
|
||||
postremove: ./packaging/scripts/postremove.sh
|
||||
scripts:
|
||||
postinstall: ./packaging/scripts/postinstall.sh
|
||||
preremove: ./packaging/scripts/preremove.sh
|
||||
postremove: ./packaging/scripts/postremove.sh
|
||||
|
||||
brews:
|
||||
- tap:
|
||||
owner: evcc-io
|
||||
name: homebrew-tap
|
||||
commit_author:
|
||||
name: andig
|
||||
email: cpuidle@gmx.de
|
||||
folder: Formula
|
||||
homepage: "https://evcc.io"
|
||||
description: "Sonne tanken ☀️🚘"
|
||||
license: "MIT"
|
||||
test: |
|
||||
system "#{bin}/evcc --version"
|
||||
plist: |
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>#{plist_name}</string>
|
||||
<key>Program</key>
|
||||
<string>#{bin}/evcc</string>
|
||||
<key>WorkingDirectory</key>
|
||||
<string>#{var}</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>StandardOutPath</key>
|
||||
<string>#{var}/log/evcc.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>#{var}/log/evcc.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
- tap:
|
||||
owner: evcc-io
|
||||
name: homebrew-tap
|
||||
commit_author:
|
||||
name: andig
|
||||
email: cpuidle@gmx.de
|
||||
folder: Formula
|
||||
homepage: "https://evcc.io"
|
||||
description: "Sonne tanken ☀️🚘"
|
||||
license: "MIT"
|
||||
test: |
|
||||
system "#{bin}/evcc --version"
|
||||
plist: |
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>#{plist_name}</string>
|
||||
<key>Program</key>
|
||||
<string>#{bin}/evcc</string>
|
||||
<key>WorkingDirectory</key>
|
||||
<string>#{var}</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>StandardOutPath</key>
|
||||
<string>#{var}/log/evcc.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>#{var}/log/evcc.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
|||
194
cmd/demo.yaml
194
cmd/demo.yaml
|
|
@ -3,107 +3,107 @@ log: info
|
|||
interval: 3s
|
||||
|
||||
javascript:
|
||||
- vm: shared
|
||||
script: |
|
||||
state = {
|
||||
residualpower: 300,
|
||||
batterypower: 0,
|
||||
pvpower: 6200,
|
||||
gridpower: 0,
|
||||
chargepower: 0,
|
||||
maxcurrent: 0,
|
||||
battery: 63, // car
|
||||
};
|
||||
function log() { console.log("state:", JSON.stringify(state)); }
|
||||
function set() { console.log("set:", param+"="+val); }
|
||||
- vm: shared
|
||||
script: |
|
||||
state = {
|
||||
residualpower: 300,
|
||||
batterypower: 0,
|
||||
pvpower: 6200,
|
||||
gridpower: 0,
|
||||
chargepower: 0,
|
||||
maxcurrent: 0,
|
||||
battery: 63, // car
|
||||
};
|
||||
function log() { console.log("state:", JSON.stringify(state)); }
|
||||
function set() { console.log("set:", param+"="+val); }
|
||||
|
||||
meters:
|
||||
- name: grid
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
state.pvpower += 200*(Math.random()-0.5);
|
||||
state.chargepower = 0;
|
||||
if (state.enabled) {
|
||||
state.chargepower = state.maxcurrent * 3 * 230;
|
||||
state.batterypower = 0;
|
||||
}
|
||||
state.gridpower = -state.pvpower + state.chargepower + state.residualpower + state.batterypower;
|
||||
// if (state.gridpower < 0) {
|
||||
// state.batterypower = -state.gridpower;
|
||||
// if (state.batterypower > 1000) {
|
||||
// state.batterypower = 1000;
|
||||
// }
|
||||
// state.gridpower += state.batterypower;
|
||||
// } else {
|
||||
// state.batterypower = 0;
|
||||
// }
|
||||
state.gridpower;
|
||||
- name: grid
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
state.pvpower += 200*(Math.random()-0.5);
|
||||
state.chargepower = 0;
|
||||
if (state.enabled) {
|
||||
state.chargepower = state.maxcurrent * 3 * 230;
|
||||
state.batterypower = 0;
|
||||
}
|
||||
state.gridpower = -state.pvpower + state.chargepower + state.residualpower + state.batterypower;
|
||||
// if (state.gridpower < 0) {
|
||||
// state.batterypower = -state.gridpower;
|
||||
// if (state.batterypower > 1000) {
|
||||
// state.batterypower = 1000;
|
||||
// }
|
||||
// state.gridpower += state.batterypower;
|
||||
// } else {
|
||||
// state.batterypower = 0;
|
||||
// }
|
||||
state.gridpower;
|
||||
|
||||
- name: pv
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.pvpower
|
||||
- name: pv
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.pvpower
|
||||
|
||||
- name: battery
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.batterypower;
|
||||
soc:
|
||||
source: js
|
||||
vm: shared
|
||||
script: "30"
|
||||
- name: charge
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.chargepower;
|
||||
soc:
|
||||
source: js
|
||||
vm: shared
|
||||
script: "30"
|
||||
- name: battery
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.batterypower;
|
||||
soc:
|
||||
source: js
|
||||
vm: shared
|
||||
script: "30"
|
||||
- name: charge
|
||||
type: custom
|
||||
power:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.chargepower;
|
||||
soc:
|
||||
source: js
|
||||
vm: shared
|
||||
script: "30"
|
||||
|
||||
chargers:
|
||||
- name: demo
|
||||
type: custom
|
||||
enable:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.enabled = val;
|
||||
enabled:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
state.enabled;
|
||||
status:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
if (state.enabled) "C"; else "B";
|
||||
maxcurrent:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.maxcurrent = val;
|
||||
- name: demo
|
||||
type: custom
|
||||
enable:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.enabled = val;
|
||||
enabled:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
state.enabled;
|
||||
status:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
if (state.enabled) "C"; else "B";
|
||||
maxcurrent:
|
||||
source: js
|
||||
vm: shared
|
||||
script: state.maxcurrent = val;
|
||||
|
||||
vehicles:
|
||||
- name: demo
|
||||
title: e-Golf
|
||||
type: custom
|
||||
soc:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
if (state.chargepower > 0) state.battery++; else state.battery--;
|
||||
if (state.battery < 15) state.battery = 15;
|
||||
if (state.battery > 100) state.battery = 100;
|
||||
state.battery;
|
||||
- name: demo
|
||||
title: e-Golf
|
||||
type: custom
|
||||
soc:
|
||||
source: js
|
||||
vm: shared
|
||||
script: |
|
||||
if (state.chargepower > 0) state.battery++; else state.battery--;
|
||||
if (state.battery < 15) state.battery = 15;
|
||||
if (state.battery > 100) state.battery = 100;
|
||||
state.battery;
|
||||
|
||||
site:
|
||||
title: Demo
|
||||
|
|
@ -113,7 +113,7 @@ site:
|
|||
battery: battery
|
||||
|
||||
loadpoints:
|
||||
- title: Carport
|
||||
charger: demo
|
||||
meter: charge
|
||||
vehicle: demo
|
||||
- title: Carport
|
||||
charger: demo
|
||||
meter: charge
|
||||
vehicle: demo
|
||||
|
|
|
|||
128
evcc.dist.yaml
128
evcc.dist.yaml
|
|
@ -15,45 +15,45 @@ levels:
|
|||
# name can be freely chosen and is used as reference when assigning meters to site and loadpoints
|
||||
# for examples see https://github.com/evcc-io/config#meters
|
||||
meters:
|
||||
- name: grid
|
||||
type: modbus
|
||||
model: sdm # SDM630
|
||||
uri: rs485.fritz.box:23
|
||||
rtu: true # rs485 device connected using ethernet adapter
|
||||
id: 2
|
||||
power: Power # default value, optionally override
|
||||
energy: Sum # default value, optionally override
|
||||
- name: pv
|
||||
type: ...
|
||||
- name: battery
|
||||
type: ...
|
||||
- name: charge
|
||||
type: ...
|
||||
- name: grid
|
||||
type: modbus
|
||||
model: sdm # SDM630
|
||||
uri: rs485.fritz.box:23
|
||||
rtu: true # rs485 device connected using ethernet adapter
|
||||
id: 2
|
||||
power: Power # default value, optionally override
|
||||
energy: Sum # default value, optionally override
|
||||
- name: pv
|
||||
type: ...
|
||||
- name: battery
|
||||
type: ...
|
||||
- name: charge
|
||||
type: ...
|
||||
|
||||
# charger definitions
|
||||
# name can be freely chosen and is used as reference when assigning charger to vehicle
|
||||
# for examples see https://github.com/evcc-io/config#chargers
|
||||
chargers:
|
||||
- name: wallbe
|
||||
type: wallbe # Wallbe charger
|
||||
uri: 192.168.0.8:502 # ModBus address
|
||||
- name: keba
|
||||
type: ...
|
||||
- name: wallbe
|
||||
type: wallbe # Wallbe charger
|
||||
uri: 192.168.0.8:502 # ModBus address
|
||||
- name: keba
|
||||
type: ...
|
||||
|
||||
# vehicle definitions
|
||||
# name can be freely chosen and is used as reference when assigning vehicle to loadpoint
|
||||
# for examples see https://github.com/evcc-io/config#vehicles
|
||||
vehicles:
|
||||
- name: car1
|
||||
type: renault
|
||||
title: Zoe
|
||||
capacity: 60 # kWh
|
||||
user: myuser # user
|
||||
password: mypassword # password
|
||||
vin: WREN...
|
||||
onIdentify: # set defaults when vehicle is identified
|
||||
minSoC: 20 # charge to at least 20% independent of charge mode
|
||||
targetSoC: 90 # limit charge to 90%
|
||||
- name: car1
|
||||
type: renault
|
||||
title: Zoe
|
||||
capacity: 60 # kWh
|
||||
user: myuser # user
|
||||
password: mypassword # password
|
||||
vin: WREN...
|
||||
onIdentify: # set defaults when vehicle is identified
|
||||
minSoC: 20 # charge to at least 20% independent of charge mode
|
||||
targetSoC: 90 # limit charge to 90%
|
||||
|
||||
# site describes the EVU connection, PV and home battery
|
||||
site:
|
||||
|
|
@ -61,47 +61,47 @@ site:
|
|||
meters:
|
||||
grid: grid # grid meter
|
||||
pvs:
|
||||
- pv # list of pv inverters/ meters
|
||||
- pv # list of pv inverters/ meters
|
||||
battery: battery # battery meter
|
||||
prioritySoC: # give home battery priority up to this soc (empty to disable)
|
||||
bufferSoC: # ignore home battery discharge above soc (empty to disable)
|
||||
|
||||
# loadpoint describes the charger, charge meter and connected vehicle
|
||||
loadpoints:
|
||||
- title: Garage # display name for UI
|
||||
charger: wallbe # charger
|
||||
meter: charge # charge meter
|
||||
vehicle: audi
|
||||
# vehicles: # use if multiple vehicles allowed to charge on this loadpoint
|
||||
# - ID.3
|
||||
# - e-Up
|
||||
mode: pv
|
||||
resetOnDisconnect: true # set defaults when vehicle disconnects
|
||||
soc:
|
||||
# polling defines usage of the vehicle APIs
|
||||
# Modifying the default settings it NOT recommended. It MAY deplete your vehicle's battery
|
||||
# or lead to vehicle manufacturer banning you from API use. USE AT YOUR OWN RISK.
|
||||
poll:
|
||||
# poll mode defines under which condition the vehicle API is called:
|
||||
# charging: update vehicle ONLY when charging (this is the recommended default)
|
||||
# connected: update vehicle when connected (not only charging), interval defines how often
|
||||
# always: always update vehicle regardless of connection state, interval defines how often (only supported for single vehicle)
|
||||
mode: charging
|
||||
# poll interval defines how often the vehicle API may be polled if NOT charging
|
||||
interval: 60m
|
||||
min: 0 # immediately charge to 0% regardless of mode unless "off" (disabled)
|
||||
target: 100 # always charge to 100%
|
||||
estimate: false # set true to interpolate between api updates
|
||||
phases: 3 # ev phases (default 3)
|
||||
enable: # pv mode enable behavior
|
||||
delay: 1m # threshold must be exceeded for this long
|
||||
threshold: 0 # grid power threshold (in Watts, negative=export). If zero, export must exceed minimum charge power to enable
|
||||
disable: # pv mode disable behavior
|
||||
delay: 10m # threshold must be exceeded for this long
|
||||
threshold: 200 # maximum import power (W)
|
||||
guardDuration: 5m # switch charger contactor not more often than this (default 10m)
|
||||
minCurrent: 6 # minimum charge current (default 6A)
|
||||
maxCurrent: 16 # maximum charge current (default 16A)
|
||||
- title: Garage # display name for UI
|
||||
charger: wallbe # charger
|
||||
meter: charge # charge meter
|
||||
vehicle: audi
|
||||
# vehicles: # use if multiple vehicles allowed to charge on this loadpoint
|
||||
# - ID.3
|
||||
# - e-Up
|
||||
mode: pv
|
||||
resetOnDisconnect: true # set defaults when vehicle disconnects
|
||||
soc:
|
||||
# polling defines usage of the vehicle APIs
|
||||
# Modifying the default settings it NOT recommended. It MAY deplete your vehicle's battery
|
||||
# or lead to vehicle manufacturer banning you from API use. USE AT YOUR OWN RISK.
|
||||
poll:
|
||||
# poll mode defines under which condition the vehicle API is called:
|
||||
# charging: update vehicle ONLY when charging (this is the recommended default)
|
||||
# connected: update vehicle when connected (not only charging), interval defines how often
|
||||
# always: always update vehicle regardless of connection state, interval defines how often (only supported for single vehicle)
|
||||
mode: charging
|
||||
# poll interval defines how often the vehicle API may be polled if NOT charging
|
||||
interval: 60m
|
||||
min: 0 # immediately charge to 0% regardless of mode unless "off" (disabled)
|
||||
target: 100 # always charge to 100%
|
||||
estimate: false # set true to interpolate between api updates
|
||||
phases: 3 # ev phases (default 3)
|
||||
enable: # pv mode enable behavior
|
||||
delay: 1m # threshold must be exceeded for this long
|
||||
threshold: 0 # grid power threshold (in Watts, negative=export). If zero, export must exceed minimum charge power to enable
|
||||
disable: # pv mode disable behavior
|
||||
delay: 10m # threshold must be exceeded for this long
|
||||
threshold: 200 # maximum import power (W)
|
||||
guardDuration: 5m # switch charger contactor not more often than this (default 10m)
|
||||
minCurrent: 6 # minimum charge current (default 6A)
|
||||
maxCurrent: 16 # maximum charge current (default 16A)
|
||||
|
||||
# tariffs are the fixed or variable tariffs
|
||||
# cheap (tibber/awattar) can be used to define a tariff rate considered cheap enough for charging
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"scripts": {
|
||||
"build": "vue-cli-service build",
|
||||
"test": "vue-cli-service test:unit",
|
||||
"lint": "prettier assets --write && eslint assets/**/*.js assets/**/*.vue --fix",
|
||||
"lint": "prettier assets './**/*.{yml,yaml}' --write && eslint assets/**/*.js assets/**/*.vue --fix",
|
||||
"build-storybook": "build-storybook",
|
||||
"dev": "vue-cli-service build --watch --mode=development",
|
||||
"storybook": "start-storybook -p 6006 -s assets,node_modules/bootstrap/dist"
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: abl
|
||||
products:
|
||||
- brand: ABL
|
||||
description:
|
||||
generic: eMH
|
||||
- brand: SENEC
|
||||
description:
|
||||
generic: Wallbox pro
|
||||
requirements:
|
||||
- brand: ABL
|
||||
description:
|
||||
generic: eMH
|
||||
- brand: SENEC
|
||||
description:
|
||||
generic: Wallbox pro
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 38400
|
||||
comset: 8E1
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 38400
|
||||
comset: 8E1
|
||||
render: |
|
||||
type: abl
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: alfen
|
||||
products:
|
||||
- brand: Alfen
|
||||
description:
|
||||
generic: Eve
|
||||
products:
|
||||
- brand: Alfen
|
||||
description:
|
||||
generic: Eve
|
||||
capabilities: ["1p3p"]
|
||||
requirements:
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: alfen
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
template: alphatec
|
||||
products:
|
||||
- brand: Alphatec
|
||||
description:
|
||||
generic: Wallbox Mini
|
||||
requirements:
|
||||
- brand: Alphatec
|
||||
description:
|
||||
generic: Wallbox Mini
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 9600
|
||||
comset: 8N1
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 9600
|
||||
comset: 8N1
|
||||
render: |
|
||||
type: alphatec
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
template: amtron
|
||||
products:
|
||||
- brand: Mennekes
|
||||
description:
|
||||
generic: AMTRON XTRA
|
||||
- brand: Mennekes
|
||||
description:
|
||||
generic: AMTRON PREMIUM
|
||||
- brand: Mennekes
|
||||
description:
|
||||
generic: AMTRON XTRA
|
||||
- brand: Mennekes
|
||||
description:
|
||||
generic: AMTRON PREMIUM
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 255
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 255
|
||||
render: |
|
||||
type: amtron
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: cfos
|
||||
products:
|
||||
- brand: cFos
|
||||
description:
|
||||
generic: PowerBrain
|
||||
requirements:
|
||||
- brand: cFos
|
||||
description:
|
||||
generic: PowerBrain
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: cfos
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: daheimladen
|
||||
products:
|
||||
- brand: DaheimLaden
|
||||
description:
|
||||
generic: Wallbox (Cloud API)
|
||||
- brand: DaheimLaden
|
||||
description:
|
||||
generic: Wallbox (Cloud API)
|
||||
params:
|
||||
- name: token
|
||||
help:
|
||||
de: "Sie bekommen dieses Access Token vom Daheimladen Support: info@daheimladen.de"
|
||||
en: "Request your access token from Daheimladen support: info@daheimladen.de"
|
||||
- name: stationid
|
||||
example: "xxxxxxxxxxxx990"
|
||||
help:
|
||||
de: "Die Software Seriennummer, welche auf dem Bildschirm der Wallbox angezeigt wird"
|
||||
en: "Software Serial Number displayed on the display of the wallbox"
|
||||
- name: token
|
||||
help:
|
||||
de: "Sie bekommen dieses Access Token vom Daheimladen Support: info@daheimladen.de"
|
||||
en: "Request your access token from Daheimladen support: info@daheimladen.de"
|
||||
- name: stationid
|
||||
example: "xxxxxxxxxxxx990"
|
||||
help:
|
||||
de: "Die Software Seriennummer, welche auf dem Bildschirm der Wallbox angezeigt wird"
|
||||
en: "Software Serial Number displayed on the display of the wallbox"
|
||||
render: |
|
||||
type: daheimladen
|
||||
stationID: {{ .stationid }}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
template: easee
|
||||
products:
|
||||
- brand: Easee
|
||||
description:
|
||||
generic: Home (Cloud API)
|
||||
- brand: Easee
|
||||
description:
|
||||
generic: Home (Cloud API)
|
||||
capabilities: ["1p3p"]
|
||||
requirements:
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: charger
|
||||
required: true
|
||||
example: EH______
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: charger
|
||||
required: true
|
||||
example: EH______
|
||||
render: |
|
||||
type: easee
|
||||
user: {{ .user }}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
template: eebus
|
||||
products:
|
||||
- description:
|
||||
de: EEBUS kompatible Wallbox
|
||||
en: EEBUS compatible Wallbox
|
||||
- description:
|
||||
de: EEBUS kompatible Wallbox
|
||||
en: EEBUS compatible Wallbox
|
||||
group: generic
|
||||
capabilities: ["iso151182"]
|
||||
requirements:
|
||||
requirements:
|
||||
evcc: ["eebus"]
|
||||
params:
|
||||
- name: ski
|
||||
required: true
|
||||
help:
|
||||
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
|
||||
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
|
||||
- name: enforcePVLimits
|
||||
default: true
|
||||
valuetype: bool
|
||||
help:
|
||||
en: Use PV charging via overload protection (just as usual wallboxes do it) with vehicles supporting ISO15519
|
||||
de: Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118
|
||||
- name: ski
|
||||
required: true
|
||||
help:
|
||||
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
|
||||
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
|
||||
- name: enforcePVLimits
|
||||
default: true
|
||||
valuetype: bool
|
||||
help:
|
||||
en: Use PV charging via overload protection (just as usual wallboxes do it) with vehicles supporting ISO15519
|
||||
de: Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118
|
||||
render: |
|
||||
type: eebus
|
||||
ski: {{ .ski }}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
template: evse_din
|
||||
products:
|
||||
- description:
|
||||
generic: EVSE DIN
|
||||
- description:
|
||||
generic: EVSE DIN
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
render: |
|
||||
type: evsedin
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
template: evsewifi
|
||||
products:
|
||||
- description:
|
||||
generic: EVSE-Wifi
|
||||
- description:
|
||||
generic: EVSE-Wifi
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: evsewifi
|
||||
uri: http://{{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
template: fritzdect
|
||||
products:
|
||||
- brand: AVM
|
||||
description:
|
||||
generic: FritzDECT
|
||||
- brand: AVM
|
||||
description:
|
||||
generic: FritzDECT
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: uri
|
||||
default: https://fritz.box
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: ain
|
||||
required: true
|
||||
mask: true
|
||||
example: '007788992233'
|
||||
help:
|
||||
en: The AIN is printed on the type label on the back of the device.
|
||||
de: Die AIN ist auf dem Typenschild auf der Geräterückseite aufgedruckt.
|
||||
- name: standbypower
|
||||
default: 15
|
||||
- name: uri
|
||||
default: https://fritz.box
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: ain
|
||||
required: true
|
||||
mask: true
|
||||
example: "007788992233"
|
||||
help:
|
||||
en: The AIN is printed on the type label on the back of the device.
|
||||
de: Die AIN ist auf dem Typenschild auf der Geräterückseite aufgedruckt.
|
||||
- name: standbypower
|
||||
default: 15
|
||||
render: |
|
||||
type: fritzdect
|
||||
uri: {{ .uri }}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
template: go-e-v3
|
||||
products:
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOME+ (V3)
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOMEfix (V3)
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOME+ (V3)
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOMEfix (V3)
|
||||
capabilities: ["1p3p"]
|
||||
requirements:
|
||||
description:
|
||||
de: |
|
||||
Benötigt mindestens Firmware 052.1 oder neuer.
|
||||
|
||||
Für 1P/3P-Phasenumschaltung muss die HTTP API v2 im Charger aktiviert sein.
|
||||
Für 1P/3P-Phasenumschaltung muss die HTTP API v2 im Charger aktiviert sein.
|
||||
en: |
|
||||
Requires firmware 052.1 or later.
|
||||
|
||||
For 1P/3P-Phase switching the HTTP API v2 in the charger setup needs to be activated.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#go-echarger-homeprov3
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: go-e
|
||||
uri: http://{{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
template: go-e
|
||||
products:
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOME+
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOMEfix
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger Pro
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOME+
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger HOMEfix
|
||||
- brand: go-e
|
||||
description:
|
||||
generic: Charger Pro
|
||||
requirements:
|
||||
description:
|
||||
en: Requires firmware 040.0 or later.
|
||||
de: Benötigt mindestens Firmware 040.0 oder neuer.
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: go-e
|
||||
uri: http://{{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
template: hardybarth-ecb1
|
||||
products:
|
||||
- brand: hardybarth-ecb1
|
||||
description:
|
||||
generic: HardyBarth cPH1 (eCB1 controller)
|
||||
- brand: hardybarth-ecb1
|
||||
description:
|
||||
generic: HardyBarth cPH1 (eCB1 controller)
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: hardybarth-ecb1
|
||||
uri: http://{{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
template: hardybarth-salia
|
||||
products:
|
||||
- brand: hardybarth-salia
|
||||
description:
|
||||
generic: HardyBarth (Salia PLCC controller)
|
||||
- brand: hardybarth-salia
|
||||
description:
|
||||
generic: HardyBarth (Salia PLCC controller)
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: hardybarth-salia
|
||||
uri: http://{{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
template: heidelberg
|
||||
products:
|
||||
- brand: Heidelberg
|
||||
description:
|
||||
generic: Energy Control (Modbus RTU)
|
||||
- brand: SENEC
|
||||
description:
|
||||
generic: Wallbox pro s
|
||||
- brand: Walther Werke
|
||||
description:
|
||||
generic: Basic Evo Pro
|
||||
requirements:
|
||||
- brand: Heidelberg
|
||||
description:
|
||||
generic: Energy Control (Modbus RTU)
|
||||
- brand: SENEC
|
||||
description:
|
||||
generic: Wallbox pro s
|
||||
- brand: Walther Werke
|
||||
description:
|
||||
generic: Basic Evo Pro
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 19200
|
||||
comset: 8E1
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 19200
|
||||
comset: 8E1
|
||||
render: |
|
||||
type: heidelberg
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
template: ichargecion
|
||||
products:
|
||||
- brand: i-CHARGE
|
||||
description:
|
||||
generic: CION
|
||||
- brand: i-CHARGE
|
||||
description:
|
||||
generic: CION
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: custom
|
||||
status:
|
||||
|
|
@ -35,4 +35,4 @@ render: |
|
|||
register: # manual register configuration
|
||||
address: 127 # Strom max
|
||||
type: writesingle
|
||||
decode: uint16
|
||||
decode: uint16
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
template: innogy-ebox
|
||||
products:
|
||||
- brand: Innogy
|
||||
description:
|
||||
generic: eBox
|
||||
requirements:
|
||||
- brand: Innogy
|
||||
description:
|
||||
generic: eBox
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: innogy
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,34 @@
|
|||
template: keba
|
||||
products:
|
||||
- brand: KEBA
|
||||
description:
|
||||
generic: KeContact P20
|
||||
- brand: KEBA
|
||||
description:
|
||||
generic: KeContact P30
|
||||
- brand: BMW
|
||||
description:
|
||||
generic: i Wallbox
|
||||
products:
|
||||
- brand: KEBA
|
||||
description:
|
||||
generic: KeContact P20
|
||||
- brand: KEBA
|
||||
description:
|
||||
generic: KeContact P30
|
||||
- brand: BMW
|
||||
description:
|
||||
generic: i Wallbox
|
||||
capabilities: ["rfid"]
|
||||
requirements:
|
||||
description:
|
||||
de: Es muss eine sogenannte UDP Funktion über den DIP Schalter 1.3 eingeschaltet (ON) werden. Die Installationsanleitung der Wallbox hilft hier weiter.
|
||||
en: This requires the UDP function to be enabled with DIP 1.3 = ON, see the installation manual.
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: rfid
|
||||
example: 765765348
|
||||
advanced: true
|
||||
help:
|
||||
de: Die Kennung eines RFID Tags um den Lademodus zu starten, selbst wenn die Wallbox gesperrt ist.
|
||||
en: A RFID tag ID to enable charging even when the wallbox is locked.
|
||||
- name: serial
|
||||
advanced: true
|
||||
help:
|
||||
de: Die Seriennummer, ermöglicht es auch mit der Wallbox zu kommunizieren wenn evcc in Docker läuft.
|
||||
en: The serial number, allows to communicate with the Wallbox when running evcc in docker
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: rfid
|
||||
example: 765765348
|
||||
advanced: true
|
||||
help:
|
||||
de: Die Kennung eines RFID Tags um den Lademodus zu starten, selbst wenn die Wallbox gesperrt ist.
|
||||
en: A RFID tag ID to enable charging even when the wallbox is locked.
|
||||
- name: serial
|
||||
advanced: true
|
||||
help:
|
||||
de: Die Seriennummer, ermöglicht es auch mit der Wallbox zu kommunizieren wenn evcc in Docker läuft.
|
||||
en: The serial number, allows to communicate with the Wallbox when running evcc in docker
|
||||
render: |
|
||||
type: keba
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: nrgkick-bluetooth
|
||||
products:
|
||||
- brand: NRGKick
|
||||
description:
|
||||
generic: Bluetooth
|
||||
- brand: NRGKick
|
||||
description:
|
||||
generic: Bluetooth
|
||||
params:
|
||||
- name: mac
|
||||
required: true
|
||||
- name: pin
|
||||
required: true
|
||||
mask: true
|
||||
- name: mac
|
||||
required: true
|
||||
- name: pin
|
||||
required: true
|
||||
mask: true
|
||||
render: |
|
||||
type: nrgkick-bluetooth
|
||||
mac: {{ .mac }}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
template: nrgkick-connect
|
||||
products:
|
||||
- brand: NRGKick
|
||||
description:
|
||||
generic: Connect
|
||||
- brand: NRGKick
|
||||
description:
|
||||
generic: Connect
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: mac
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: mac
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
render: |
|
||||
type: nrgkick-connect
|
||||
uri: http://{{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: openwb
|
||||
products:
|
||||
- description:
|
||||
generic: openWB (MQTT)
|
||||
- description:
|
||||
generic: openWB (MQTT)
|
||||
requirements:
|
||||
description:
|
||||
en: The wallbox has to be configured running as a loadpoint.
|
||||
de: Die Wallbox muss als Ladepunkt konfiguriert sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#openwb
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: loadpointid
|
||||
default: 1
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: loadpointid
|
||||
default: 1
|
||||
render: |
|
||||
type: openwb
|
||||
broker: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
template: pcelectric-garo
|
||||
products:
|
||||
- brand: PC Electric
|
||||
description:
|
||||
generic: Garo
|
||||
requirements:
|
||||
products:
|
||||
- brand: PC Electric
|
||||
description:
|
||||
generic: Garo
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
description:
|
||||
de: Es können momentan nur als Master konfigurierte Geräte verwendet werden!
|
||||
en: Only devices configured as master can be used right now!
|
||||
params:
|
||||
- name: host
|
||||
- name: port
|
||||
default: 8080
|
||||
- name: host
|
||||
- name: port
|
||||
default: 8080
|
||||
render: |
|
||||
type: garo
|
||||
uri: http://{{ .host }}:{{ .port }}/servlet
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
template: phoenix-em-eth
|
||||
products:
|
||||
- description:
|
||||
generic: Phoenix EM-CP-PP-ETH Controller (Modbus TCP)
|
||||
- description:
|
||||
generic: Phoenix EM-CP-PP-ETH Controller (Modbus TCP)
|
||||
group: generic
|
||||
requirements:
|
||||
description:
|
||||
|
|
@ -9,11 +9,11 @@ requirements:
|
|||
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#phoenix-contact
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: phoenix-em-eth
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
template: phoenix-ev-eth
|
||||
products:
|
||||
- description:
|
||||
generic: Phoenix EV-ETH Controller (Modbus TCP)
|
||||
- description:
|
||||
generic: Phoenix EV-ETH Controller (Modbus TCP)
|
||||
group: generic
|
||||
requirements:
|
||||
description:
|
||||
|
|
@ -9,11 +9,11 @@ requirements:
|
|||
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#phoenix-contact
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: phoenix-ev-eth
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
template: phoenix-ev-ser
|
||||
products:
|
||||
- description:
|
||||
generic: Phoenix EV-SER Controller (Modbus RTU)
|
||||
- description:
|
||||
generic: Phoenix EV-SER Controller (Modbus RTU)
|
||||
group: generic
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
render: |
|
||||
type: phoenix-ev-ser
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,24 @@
|
|||
template: pmcc
|
||||
products:
|
||||
- brand: Porsche
|
||||
description:
|
||||
generic: Mobile Charger Connect
|
||||
- brand: Porsche
|
||||
description:
|
||||
generic: Mobile Charger Connect
|
||||
capabilities: ["iso151182"]
|
||||
requirements:
|
||||
requirements:
|
||||
evcc: ["eebus"]
|
||||
params:
|
||||
- name: ski
|
||||
required: true
|
||||
help:
|
||||
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
|
||||
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
|
||||
- name: enforcePVLimits
|
||||
default: true
|
||||
valuetype: bool
|
||||
help:
|
||||
en: Use PV charging via overload protection (just as usual wallboxes do it) with vehicles supporting ISO15519
|
||||
de: Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118
|
||||
- name: ski
|
||||
required: true
|
||||
help:
|
||||
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
|
||||
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
|
||||
- name: enforcePVLimits
|
||||
default: true
|
||||
valuetype: bool
|
||||
help:
|
||||
en: Use PV charging via overload protection (just as usual wallboxes do it) with vehicles supporting ISO15519
|
||||
de: Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118
|
||||
render: |
|
||||
type: eebus
|
||||
ski: {{ .ski }}
|
||||
forcePVLimits: {{ .enforcePVLimits }}
|
||||
|
||||
|
|
@ -1,18 +1,17 @@
|
|||
template: pmcp
|
||||
products:
|
||||
- brand: Porsche
|
||||
description:
|
||||
generic: Mobile Charger Plus
|
||||
requirements:
|
||||
- brand: Porsche
|
||||
description:
|
||||
generic: Mobile Charger Plus
|
||||
requirements:
|
||||
evcc: ["eebus"]
|
||||
params:
|
||||
- name: ski
|
||||
required: true
|
||||
help:
|
||||
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
|
||||
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
|
||||
- name: ski
|
||||
required: true
|
||||
help:
|
||||
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
|
||||
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
|
||||
render: |
|
||||
type: eebus
|
||||
ski: {{ .ski }}
|
||||
forcePVLimits: true
|
||||
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
template: shelly
|
||||
products:
|
||||
- description:
|
||||
generic: Shelly
|
||||
products:
|
||||
- description:
|
||||
generic: Shelly
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: standbypower
|
||||
default: 15
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: standbypower
|
||||
default: 15
|
||||
render: |
|
||||
type: shelly
|
||||
uri: http://{{ .host }} # shelly device ip address (local)
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
template: tapo
|
||||
products:
|
||||
- brand: TP-Link
|
||||
description:
|
||||
generic: Tapo
|
||||
- brand: TP-Link
|
||||
description:
|
||||
generic: Tapo
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: uri
|
||||
required: true
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: standbypower
|
||||
default: 15
|
||||
- name: uri
|
||||
required: true
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: standbypower
|
||||
default: 15
|
||||
render: |
|
||||
type: tapo
|
||||
uri: {{ .uri }}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
template: tasmota
|
||||
products:
|
||||
- description:
|
||||
generic: Tasmota
|
||||
- description:
|
||||
generic: Tasmota
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: user
|
||||
help:
|
||||
en: (optional) in case user + password are defined
|
||||
de: (optional) nur erforderlich falls diese Werte im Gerät gesetzt sind
|
||||
- name: password
|
||||
mask: true
|
||||
help:
|
||||
en: (optional) in case user + password are defined
|
||||
de: (optional) nur erforderlich falls diese Werte im Gerät gesetzt sind
|
||||
- name: standbypower
|
||||
default: 15
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: user
|
||||
help:
|
||||
en: (optional) in case user + password are defined
|
||||
de: (optional) nur erforderlich falls diese Werte im Gerät gesetzt sind
|
||||
- name: password
|
||||
mask: true
|
||||
help:
|
||||
en: (optional) in case user + password are defined
|
||||
de: (optional) nur erforderlich falls diese Werte im Gerät gesetzt sind
|
||||
- name: standbypower
|
||||
default: 15
|
||||
render: |
|
||||
type: tasmota
|
||||
uri: http://{{ .host }} # shelly device ip address (local)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
template: tinkerforge-warp-pro
|
||||
products:
|
||||
- brand: TinkerForge
|
||||
description:
|
||||
generic: WARP Charger Pro
|
||||
- brand: TinkerForge
|
||||
description:
|
||||
generic: WARP Charger Pro
|
||||
requirements:
|
||||
description:
|
||||
en: A MQTT Broker software needs to be running on a computer. The MQTT connection also needs to be configured in the wallbox.
|
||||
de: Es muss ein sogennanter MQTT Broker auf einem Computer installiert sein. Die MQTT Verbindung muss in der Wallbox eingerichtet sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#tinkerforge-warp-charger
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
help:
|
||||
de: Die IP Adresse oder der Hostname des MQTT Brokers
|
||||
en: The IP address or hostname of the MQTT broker
|
||||
- name: port
|
||||
default: 1883
|
||||
help:
|
||||
de: Der Port des MQTT Brokers
|
||||
en: The port of the MQTT broker
|
||||
- name: topic
|
||||
default: warp
|
||||
- name: timeout
|
||||
default: 30s
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
help:
|
||||
de: Die IP Adresse oder der Hostname des MQTT Brokers
|
||||
en: The IP address or hostname of the MQTT broker
|
||||
- name: port
|
||||
default: 1883
|
||||
help:
|
||||
de: Der Port des MQTT Brokers
|
||||
en: The port of the MQTT broker
|
||||
- name: topic
|
||||
default: warp
|
||||
- name: timeout
|
||||
default: 30s
|
||||
render: |
|
||||
type: warp
|
||||
broker: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
template: tinkerforge-warp
|
||||
products:
|
||||
- brand: TinkerForge
|
||||
description:
|
||||
generic: WARP Charger
|
||||
- brand: TinkerForge
|
||||
description:
|
||||
generic: WARP Charger
|
||||
requirements:
|
||||
description:
|
||||
en: An MQTT Broker software needs to be running on a computer. The MQTT connection also needs to be configured in the wallbox.
|
||||
de: Es muss ein sogennanter MQTT Broker auf einem Computer installiert sein. Die MQTT Verbindung muss in der Wallbox eingerichtet sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#tinkerforge-warp-charger
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
help:
|
||||
de: Die IP Adresse oder der Hostname des MQTT Brokers
|
||||
en: The IP address or hostname of the MQTT broker
|
||||
- name: port
|
||||
default: 1883
|
||||
help:
|
||||
de: Der Port des MQTT Brokers
|
||||
en: The port of the MQTT broker
|
||||
- name: topic
|
||||
default: warp
|
||||
- name: timeout
|
||||
default: 30s
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
help:
|
||||
de: Die IP Adresse oder der Hostname des MQTT Brokers
|
||||
en: The IP address or hostname of the MQTT broker
|
||||
- name: port
|
||||
default: 1883
|
||||
help:
|
||||
de: Der Port des MQTT Brokers
|
||||
en: The port of the MQTT broker
|
||||
- name: topic
|
||||
default: warp
|
||||
- name: timeout
|
||||
default: 30s
|
||||
render: |
|
||||
type: warp
|
||||
broker: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
template: tplink
|
||||
products:
|
||||
- brand: TP-LINK
|
||||
description:
|
||||
generic: Smart Plug
|
||||
- brand: TP-LINK
|
||||
description:
|
||||
generic: Smart Plug
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: standbypower
|
||||
default: 15
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: standbypower
|
||||
default: 15
|
||||
render: |
|
||||
type: tplink
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: vestel
|
||||
products:
|
||||
- brand: Vestel
|
||||
description:
|
||||
generic: EVC04
|
||||
requirements:
|
||||
- brand: Vestel
|
||||
description:
|
||||
generic: EVC04
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 255
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 255
|
||||
render: |
|
||||
type: vestel
|
||||
{{include "modbus" .}}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
template: wallbe-meter
|
||||
products:
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Eco (mit Strommessgerät)
|
||||
en: Eco (with meter)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Pro (mit Strommessgerät)
|
||||
en: Pro (with meter)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Eco (mit Strommessgerät)
|
||||
en: Eco (with meter)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Pro (mit Strommessgerät)
|
||||
en: Pro (with meter)
|
||||
requirements:
|
||||
description:
|
||||
en: DIP switch 10 must be set to 'ON'.
|
||||
de: Im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: wallbe
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
template: wallbe-pre2019-meter
|
||||
products:
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Eco (vor ~2019, mit Strommessgerät)
|
||||
en: Eco (pre ~2019, with meter)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Pro (vor ~2019, mit Strommessgerät)
|
||||
en: Pro (pre ~2019, with meter)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Eco (vor ~2019, mit Strommessgerät)
|
||||
en: Eco (pre ~2019, with meter)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Pro (vor ~2019, mit Strommessgerät)
|
||||
en: Pro (pre ~2019, with meter)
|
||||
requirements:
|
||||
description:
|
||||
en: DIP switch 10 must be set to 'ON'.
|
||||
de: Im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: wallbe
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
template: wallbe-pre2019
|
||||
products:
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Eco (vor ~2019)
|
||||
en: Eco (pre ~2019)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Pro (vor ~2019)
|
||||
en: Pro (pre ~2019)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Eco (vor ~2019)
|
||||
en: Eco (pre ~2019)
|
||||
- brand: Wallbe
|
||||
description:
|
||||
de: Pro (vor ~2019)
|
||||
en: Pro (pre ~2019)
|
||||
requirements:
|
||||
description:
|
||||
en: DIP switch 10 must be set to 'ON'.
|
||||
de: Im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: wallbe
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
template: wallbe
|
||||
products:
|
||||
- brand: Wallbe
|
||||
description:
|
||||
generic: Eco
|
||||
- brand: Wallbe
|
||||
description:
|
||||
generic: Pro
|
||||
- brand: Wallbe
|
||||
description:
|
||||
generic: Eco
|
||||
- brand: Wallbe
|
||||
description:
|
||||
generic: Pro
|
||||
requirements:
|
||||
description:
|
||||
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
|
||||
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
|
||||
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: wallbe
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: webasto
|
||||
products:
|
||||
- brand: Webasto
|
||||
description:
|
||||
generic: Live
|
||||
- brand: Webasto
|
||||
description:
|
||||
generic: Live
|
||||
params:
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: webasto
|
||||
uri: {{ .host }}:{{ .port }}
|
||||
|
|
|
|||
|
|
@ -1,224 +1,224 @@
|
|||
params:
|
||||
- name: title
|
||||
description:
|
||||
de: Titel
|
||||
en: Title
|
||||
help:
|
||||
de: Wird in der Benutzeroberfläche angezeigt
|
||||
en: Will be displayed in the user interface
|
||||
- name: modbusid
|
||||
description:
|
||||
generic: Modbus ID
|
||||
default: 1
|
||||
valuetype: number
|
||||
- name: modbusdevice
|
||||
description:
|
||||
de: Geräteadresse
|
||||
en: Device address
|
||||
help:
|
||||
de: USB-RS485 Adapter Adresse
|
||||
en: USB-RS485 Adapter address
|
||||
example: /dev/ttyUSB0
|
||||
- name: modbusbaudrate
|
||||
description:
|
||||
de: Baudrate
|
||||
en: Baudrate
|
||||
help:
|
||||
de: Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
|
||||
en: Check the device settings, typical values are 9600, 19200, 38400, 57600, 115200
|
||||
default: 9600
|
||||
valuetype: number
|
||||
- name: modbuscomset
|
||||
description:
|
||||
de: ComSet
|
||||
en: ComSet
|
||||
help:
|
||||
de: Kommunikationsparameter für den Adapter
|
||||
en: Communication parameter for the adapter
|
||||
default: 8N1
|
||||
- name: host
|
||||
description:
|
||||
de: IP-Adresse oder Hostname
|
||||
en: IP-Address or Hostname
|
||||
help:
|
||||
de: IP-Adresse oder Hostname
|
||||
en: IP-Address or Hostname
|
||||
example: "192.0.2.2"
|
||||
- name: port
|
||||
description:
|
||||
de: Port
|
||||
en: Port
|
||||
help:
|
||||
de: Port
|
||||
en: Port
|
||||
valuetype: number
|
||||
- name: user
|
||||
description:
|
||||
de: Benutzername
|
||||
en: Username
|
||||
help:
|
||||
de: Benutzername um auf das Gerät zuzugreifen
|
||||
en: Username to access the device
|
||||
- name: password
|
||||
description:
|
||||
de: Passwort
|
||||
en: Password
|
||||
help:
|
||||
de: Passwort des Benutzerkontos
|
||||
en: Password of the account
|
||||
mask: true
|
||||
- name: capacity
|
||||
description:
|
||||
de: Akku-Kapazität in kWh
|
||||
en: Battery-Capacity in kWh
|
||||
help:
|
||||
de: Akku-Kapazität in kWh
|
||||
en: Battery-Capacity in kWh
|
||||
example: '41.5'
|
||||
valuetype: float
|
||||
- name: vin
|
||||
description:
|
||||
de: Fahrzeugidentifikationsnummer
|
||||
en: Vehicle Identification Number
|
||||
help:
|
||||
de: Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind
|
||||
en: Required if you own multiple vehicles of the same brand
|
||||
example: W...
|
||||
- name: phases
|
||||
description:
|
||||
de: Maximale Phasenanzahl
|
||||
en: Maximum number of phases
|
||||
help:
|
||||
de: Die maximale Anzahl der Phasen welche genutzt werden können
|
||||
en: The maximum number of phases which can be used
|
||||
example: 3
|
||||
valuetype: number
|
||||
- name: cache
|
||||
description:
|
||||
de: Cache
|
||||
en: Cache
|
||||
help:
|
||||
de: Das zeitliche Interval, in welchem Daten vom Fahrzeug neu geladen werden soll
|
||||
en: Time interval with when data should be reloaded from the vehicle
|
||||
example: 5m
|
||||
- name: cloud
|
||||
description:
|
||||
de: evcc Cloud
|
||||
en: evcc Cloud
|
||||
help:
|
||||
de: |
|
||||
Anstatt auf die Online API des Fahrzeugherstellers von der lokalen Installation zuzugreifen,
|
||||
wird dies über die evcc Cloud gemacht. Die Zugangsdaten und VIN werden sicher und verschlüsselt
|
||||
übertragen und in der Cloud nicht gespeichert.
|
||||
- name: title
|
||||
description:
|
||||
de: Titel
|
||||
en: Title
|
||||
help:
|
||||
de: Wird in der Benutzeroberfläche angezeigt
|
||||
en: Will be displayed in the user interface
|
||||
- name: modbusid
|
||||
description:
|
||||
generic: Modbus ID
|
||||
default: 1
|
||||
valuetype: number
|
||||
- name: modbusdevice
|
||||
description:
|
||||
de: Geräteadresse
|
||||
en: Device address
|
||||
help:
|
||||
de: USB-RS485 Adapter Adresse
|
||||
en: USB-RS485 Adapter address
|
||||
example: /dev/ttyUSB0
|
||||
- name: modbusbaudrate
|
||||
description:
|
||||
de: Baudrate
|
||||
en: Baudrate
|
||||
help:
|
||||
de: Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
|
||||
en: Check the device settings, typical values are 9600, 19200, 38400, 57600, 115200
|
||||
default: 9600
|
||||
valuetype: number
|
||||
- name: modbuscomset
|
||||
description:
|
||||
de: ComSet
|
||||
en: ComSet
|
||||
help:
|
||||
de: Kommunikationsparameter für den Adapter
|
||||
en: Communication parameter for the adapter
|
||||
default: 8N1
|
||||
- name: host
|
||||
description:
|
||||
de: IP-Adresse oder Hostname
|
||||
en: IP-Address or Hostname
|
||||
help:
|
||||
de: IP-Adresse oder Hostname
|
||||
en: IP-Address or Hostname
|
||||
example: "192.0.2.2"
|
||||
- name: port
|
||||
description:
|
||||
de: Port
|
||||
en: Port
|
||||
help:
|
||||
de: Port
|
||||
en: Port
|
||||
valuetype: number
|
||||
- name: user
|
||||
description:
|
||||
de: Benutzername
|
||||
en: Username
|
||||
help:
|
||||
de: Benutzername um auf das Gerät zuzugreifen
|
||||
en: Username to access the device
|
||||
- name: password
|
||||
description:
|
||||
de: Passwort
|
||||
en: Password
|
||||
help:
|
||||
de: Passwort des Benutzerkontos
|
||||
en: Password of the account
|
||||
mask: true
|
||||
- name: capacity
|
||||
description:
|
||||
de: Akku-Kapazität in kWh
|
||||
en: Battery-Capacity in kWh
|
||||
help:
|
||||
de: Akku-Kapazität in kWh
|
||||
en: Battery-Capacity in kWh
|
||||
example: "41.5"
|
||||
valuetype: float
|
||||
- name: vin
|
||||
description:
|
||||
de: Fahrzeugidentifikationsnummer
|
||||
en: Vehicle Identification Number
|
||||
help:
|
||||
de: Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind
|
||||
en: Required if you own multiple vehicles of the same brand
|
||||
example: W...
|
||||
- name: phases
|
||||
description:
|
||||
de: Maximale Phasenanzahl
|
||||
en: Maximum number of phases
|
||||
help:
|
||||
de: Die maximale Anzahl der Phasen welche genutzt werden können
|
||||
en: The maximum number of phases which can be used
|
||||
example: 3
|
||||
valuetype: number
|
||||
- name: cache
|
||||
description:
|
||||
de: Cache
|
||||
en: Cache
|
||||
help:
|
||||
de: Das zeitliche Interval, in welchem Daten vom Fahrzeug neu geladen werden soll
|
||||
en: Time interval with when data should be reloaded from the vehicle
|
||||
example: 5m
|
||||
- name: cloud
|
||||
description:
|
||||
de: evcc Cloud
|
||||
en: evcc Cloud
|
||||
help:
|
||||
de: |
|
||||
Anstatt auf die Online API des Fahrzeugherstellers von der lokalen Installation zuzugreifen,
|
||||
wird dies über die evcc Cloud gemacht. Die Zugangsdaten und VIN werden sicher und verschlüsselt
|
||||
übertragen und in der Cloud nicht gespeichert.
|
||||
|
||||
Die Vorteile sind:
|
||||
- Falls sich etwas an der Online API des Fahrzeugherstellers ändert, können Updates für alle Benutzer viel schneller zur Verfügung gestellt werden
|
||||
- Man muss nicht auf eine neue Version von evcc warten und dann ein lokales Update von evcc durchführen
|
||||
en: |
|
||||
Instead of connecting to the vehicle manufacturers online API from your local installation,
|
||||
this will use the evcc Cloud instead. Your credentials and VIN will be transfered encrypted and
|
||||
securely and won't be stored in the cloud.
|
||||
Die Vorteile sind:
|
||||
- Falls sich etwas an der Online API des Fahrzeugherstellers ändert, können Updates für alle Benutzer viel schneller zur Verfügung gestellt werden
|
||||
- Man muss nicht auf eine neue Version von evcc warten und dann ein lokales Update von evcc durchführen
|
||||
en: |
|
||||
Instead of connecting to the vehicle manufacturers online API from your local installation,
|
||||
this will use the evcc Cloud instead. Your credentials and VIN will be transfered encrypted and
|
||||
securely and won't be stored in the cloud.
|
||||
|
||||
The benefits are:
|
||||
- If the vehicles online API changes, we can update this for all users more quickly
|
||||
- No waiting for a new evcc version in this case and then requiring an update
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
valuetype: bool
|
||||
- name: timeout
|
||||
description:
|
||||
de: Zeitüberschreitung
|
||||
en: Timeout
|
||||
help:
|
||||
de: Akzeptiere keine Daten die älter als dieser Wert sind
|
||||
en: Don't accept values older than this value
|
||||
example: 30s
|
||||
valuetype: duration
|
||||
- name: mode
|
||||
description:
|
||||
de: Standard-Lademodus, wenn ein Fahrzeug angeschlossen ist
|
||||
en: Default charging mode when a vehicle is connected
|
||||
help:
|
||||
de: Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll
|
||||
en: Possible values are Off, Now, MinPV and PV, or empty if none should be set
|
||||
valuetype: chargemodes
|
||||
- name: minsoc
|
||||
description:
|
||||
de: Minimaler Ladestand (SoC) in %
|
||||
en: Minimum state of charge (SoC) in %
|
||||
help:
|
||||
de: Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht
|
||||
en: Charge immediately with maximum power up to the defined state of charge, if the charge mode is not set to 'OFF'
|
||||
example: 25
|
||||
valuetype: number
|
||||
- name: targetsoc
|
||||
description:
|
||||
de: Ziel-Ladestand (SoC) in %
|
||||
en: Target state of charge (SoC) in %
|
||||
help:
|
||||
de: Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden
|
||||
en: Until which state of charge (SoC) should the vehicle be charged
|
||||
example: 80
|
||||
valuetype: number
|
||||
- name: mincurrent
|
||||
description:
|
||||
de: Minimale Stromstärke in Ampere (A)
|
||||
en: Minimum amperage (A)
|
||||
help:
|
||||
de: Definiert die minimale Stromstärke pro angeschlossener Phase mit welcher das Fahrzeug geladen werden soll
|
||||
en: The minimum amperage per connected phase with which the car should be charged
|
||||
example: 6
|
||||
valuetype: number
|
||||
- name: maxcurrent
|
||||
description:
|
||||
de: Maximale Stromstärke in Ampere (A)
|
||||
en: Maximum amperage (A)
|
||||
help:
|
||||
de: Definiert die maximale Stromstärke pro angeschlossener Phase mit welcher das Fahrzeug geladen werden soll
|
||||
en: The maximum amperage per connected phase with which the car shuold be charged
|
||||
example: 16
|
||||
valuetype: number
|
||||
- name: identifiers
|
||||
description:
|
||||
de: Identifikation
|
||||
en: Identification
|
||||
help:
|
||||
de: "Kann meist erst später eingetragen werden, siehe: https://docs.evcc.io/docs/guides/vehicles/#erkennung-des-fahrzeugs-an-der-wallbox"
|
||||
en: "Mostly this can be added later, see: https://docs.evcc.io/docs/guides/vehicles/#erkennung-des-fahrzeugs-an-der-wallbox"
|
||||
valuetype: stringlist
|
||||
- name: standbypower
|
||||
description:
|
||||
de: Standby-Leistung in W"
|
||||
en: Standby power in W
|
||||
help:
|
||||
de: Leistung oberhalb des angegebenen Wertes wird als Ladeleistung gewertet
|
||||
en: Power values above this value will be considered as charging pow
|
||||
valuetype: number
|
||||
- name: language
|
||||
description:
|
||||
de: Sprache
|
||||
en: Language
|
||||
help:
|
||||
de: "'de' für Deutsch und 'en' für Englisch"
|
||||
en: "'en' for English and 'de' for German"
|
||||
default: en
|
||||
validvalues: ["de", "en"]
|
||||
The benefits are:
|
||||
- If the vehicles online API changes, we can update this for all users more quickly
|
||||
- No waiting for a new evcc version in this case and then requiring an update
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
valuetype: bool
|
||||
- name: timeout
|
||||
description:
|
||||
de: Zeitüberschreitung
|
||||
en: Timeout
|
||||
help:
|
||||
de: Akzeptiere keine Daten die älter als dieser Wert sind
|
||||
en: Don't accept values older than this value
|
||||
example: 30s
|
||||
valuetype: duration
|
||||
- name: mode
|
||||
description:
|
||||
de: Standard-Lademodus, wenn ein Fahrzeug angeschlossen ist
|
||||
en: Default charging mode when a vehicle is connected
|
||||
help:
|
||||
de: Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll
|
||||
en: Possible values are Off, Now, MinPV and PV, or empty if none should be set
|
||||
valuetype: chargemodes
|
||||
- name: minsoc
|
||||
description:
|
||||
de: Minimaler Ladestand (SoC) in %
|
||||
en: Minimum state of charge (SoC) in %
|
||||
help:
|
||||
de: Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht
|
||||
en: Charge immediately with maximum power up to the defined state of charge, if the charge mode is not set to 'OFF'
|
||||
example: 25
|
||||
valuetype: number
|
||||
- name: targetsoc
|
||||
description:
|
||||
de: Ziel-Ladestand (SoC) in %
|
||||
en: Target state of charge (SoC) in %
|
||||
help:
|
||||
de: Bis zu welchem Ladestand (SoC) soll das Fahrzeug geladen werden
|
||||
en: Until which state of charge (SoC) should the vehicle be charged
|
||||
example: 80
|
||||
valuetype: number
|
||||
- name: mincurrent
|
||||
description:
|
||||
de: Minimale Stromstärke in Ampere (A)
|
||||
en: Minimum amperage (A)
|
||||
help:
|
||||
de: Definiert die minimale Stromstärke pro angeschlossener Phase mit welcher das Fahrzeug geladen werden soll
|
||||
en: The minimum amperage per connected phase with which the car should be charged
|
||||
example: 6
|
||||
valuetype: number
|
||||
- name: maxcurrent
|
||||
description:
|
||||
de: Maximale Stromstärke in Ampere (A)
|
||||
en: Maximum amperage (A)
|
||||
help:
|
||||
de: Definiert die maximale Stromstärke pro angeschlossener Phase mit welcher das Fahrzeug geladen werden soll
|
||||
en: The maximum amperage per connected phase with which the car shuold be charged
|
||||
example: 16
|
||||
valuetype: number
|
||||
- name: identifiers
|
||||
description:
|
||||
de: Identifikation
|
||||
en: Identification
|
||||
help:
|
||||
de: "Kann meist erst später eingetragen werden, siehe: https://docs.evcc.io/docs/guides/vehicles/#erkennung-des-fahrzeugs-an-der-wallbox"
|
||||
en: "Mostly this can be added later, see: https://docs.evcc.io/docs/guides/vehicles/#erkennung-des-fahrzeugs-an-der-wallbox"
|
||||
valuetype: stringlist
|
||||
- name: standbypower
|
||||
description:
|
||||
de: Standby-Leistung in W"
|
||||
en: Standby power in W
|
||||
help:
|
||||
de: Leistung oberhalb des angegebenen Wertes wird als Ladeleistung gewertet
|
||||
en: Power values above this value will be considered as charging pow
|
||||
valuetype: number
|
||||
- name: language
|
||||
description:
|
||||
de: Sprache
|
||||
en: Language
|
||||
help:
|
||||
de: "'de' für Deutsch und 'en' für Englisch"
|
||||
en: "'en' for English and 'de' for German"
|
||||
default: en
|
||||
validvalues: ["de", "en"]
|
||||
|
||||
presets:
|
||||
vehiclebase:
|
||||
params:
|
||||
- name: title
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
- name: vin
|
||||
- name: capacity
|
||||
- name: phases
|
||||
advanced: true
|
||||
- name: cache
|
||||
advanced: true
|
||||
deprecated: true
|
||||
- name: title
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
- name: vin
|
||||
- name: capacity
|
||||
- name: phases
|
||||
advanced: true
|
||||
- name: cache
|
||||
advanced: true
|
||||
deprecated: true
|
||||
render: |
|
||||
{{define "vehicle-base"}}
|
||||
{{- if ne .title "" }}
|
||||
|
|
@ -241,19 +241,19 @@ presets:
|
|||
{{end}}
|
||||
vehicleidentify:
|
||||
params:
|
||||
- name: mode
|
||||
advanced: true
|
||||
- name: minSoC
|
||||
advanced: true
|
||||
- name: targetSoC
|
||||
advanced: true
|
||||
- name: minCurrent
|
||||
advanced: true
|
||||
- name: maxCurrent
|
||||
advanced: true
|
||||
- name: identifiers
|
||||
advanced: true
|
||||
valuetype: stringlist
|
||||
- name: mode
|
||||
advanced: true
|
||||
- name: minSoC
|
||||
advanced: true
|
||||
- name: targetSoC
|
||||
advanced: true
|
||||
- name: minCurrent
|
||||
advanced: true
|
||||
- name: maxCurrent
|
||||
advanced: true
|
||||
- name: identifiers
|
||||
advanced: true
|
||||
valuetype: stringlist
|
||||
render: |
|
||||
{{define "vehicle-identify"}}
|
||||
{{- if or (ne .mode "") (ne .minSoC "") (ne .targetSoC "") (ne .minCurrent "") (ne .maxCurrent "") }}
|
||||
|
|
@ -283,7 +283,7 @@ presets:
|
|||
{{end}}
|
||||
vehiclelanguage:
|
||||
params:
|
||||
- name: language
|
||||
- name: language
|
||||
render: |
|
||||
{{define "vehicle-language"}}
|
||||
language: {{ .language }}
|
||||
|
|
@ -291,7 +291,7 @@ presets:
|
|||
|
||||
vehiclecloud:
|
||||
params:
|
||||
- name: cloud
|
||||
- name: cloud
|
||||
render: |
|
||||
{{define "vehicle-cloud"}}
|
||||
cloud: {{ .cloud }}
|
||||
|
|
@ -306,45 +306,45 @@ modbus:
|
|||
description:
|
||||
generic: Serial (USB-RS485 Adapter)
|
||||
params:
|
||||
- reference: true
|
||||
referencename: modbusid
|
||||
name: id
|
||||
- reference: true
|
||||
referencename: modbusdevice
|
||||
name: device
|
||||
- reference: true
|
||||
referencename: modbusbaudrate
|
||||
name: baudrate
|
||||
- reference: true
|
||||
referencename: modbuscomset
|
||||
name: comset
|
||||
- reference: true
|
||||
referencename: modbusid
|
||||
name: id
|
||||
- reference: true
|
||||
referencename: modbusdevice
|
||||
name: device
|
||||
- reference: true
|
||||
referencename: modbusbaudrate
|
||||
name: baudrate
|
||||
- reference: true
|
||||
referencename: modbuscomset
|
||||
name: comset
|
||||
rs485tcpip:
|
||||
description:
|
||||
generic: Serial (Ethernet-RS485 Adapter)
|
||||
params:
|
||||
- reference: true
|
||||
referencename: modbusid
|
||||
name: id
|
||||
- reference: true
|
||||
name: host
|
||||
- reference: true
|
||||
name: port
|
||||
default: 502
|
||||
- name: rtu
|
||||
default: true
|
||||
hidden: true
|
||||
- reference: true
|
||||
referencename: modbusid
|
||||
name: id
|
||||
- reference: true
|
||||
name: host
|
||||
- reference: true
|
||||
name: port
|
||||
default: 502
|
||||
- name: rtu
|
||||
default: true
|
||||
hidden: true
|
||||
tcpip:
|
||||
description:
|
||||
generic: TCP/IP
|
||||
params:
|
||||
- reference: true
|
||||
referencename: modbusid
|
||||
name: id
|
||||
- reference: true
|
||||
name: host
|
||||
- reference: true
|
||||
name: port
|
||||
default: 502
|
||||
- reference: true
|
||||
referencename: modbusid
|
||||
name: id
|
||||
- reference: true
|
||||
name: host
|
||||
- reference: true
|
||||
name: port
|
||||
default: 502
|
||||
|
||||
devicegroups:
|
||||
generic:
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
template: cfos
|
||||
products:
|
||||
- brand: cFos
|
||||
description:
|
||||
generic: PowerBrain Meter
|
||||
requirements:
|
||||
- brand: cFos
|
||||
description:
|
||||
generic: PowerBrain Meter
|
||||
requirements:
|
||||
evcc: ["sponsorship"]
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "charge" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
port: 4702
|
||||
id: 2
|
||||
- name: usage
|
||||
choice: ["charge"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
port: 4702
|
||||
id: 2
|
||||
render: |
|
||||
type: cfos
|
||||
{{ include "modbus" . }}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: discovergy
|
||||
products:
|
||||
- description:
|
||||
generic: Discovergy (Cloud)
|
||||
- description:
|
||||
generic: Discovergy (Cloud)
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv"]
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: meter
|
||||
required: true
|
||||
example: 1ESY1161229886
|
||||
- name: usage
|
||||
choice: ["grid", "pv"]
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: meter
|
||||
required: true
|
||||
example: 1ESY1161229886
|
||||
render: |
|
||||
type: discovergy
|
||||
user: {{ .user }}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
template: e3dc
|
||||
products:
|
||||
- description:
|
||||
generic: E3DC
|
||||
- description:
|
||||
generic: E3DC
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: eastron
|
||||
products:
|
||||
- brand: Eastron
|
||||
description:
|
||||
de: SDM Modbus Strommessgeräte
|
||||
en: SDM Modbus Meter
|
||||
- brand: Eastron
|
||||
description:
|
||||
de: SDM Modbus Strommessgeräte
|
||||
en: SDM Modbus Meter
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery", "charge"]
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery", "charge"]
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
render: |
|
||||
type: modbus
|
||||
model: sdm # specific non-sunspec meter
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
template: fritzdect
|
||||
products:
|
||||
- brand: AVM
|
||||
description:
|
||||
generic: FritzDECT
|
||||
- brand: AVM
|
||||
description:
|
||||
generic: FritzDECT
|
||||
group: sockets
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["pv", "charge"]
|
||||
- name: uri
|
||||
default: https://fritz.box
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: ain
|
||||
required: true
|
||||
mask: true
|
||||
example: '007788992233'
|
||||
help:
|
||||
en: The AIN is printed on the type label on the back of the device.
|
||||
de: Die AIN ist auf dem Typenschild auf der Geräterückseite aufgedruckt.
|
||||
- name: usage
|
||||
choice: ["pv", "charge"]
|
||||
- name: uri
|
||||
default: https://fritz.box
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: ain
|
||||
required: true
|
||||
mask: true
|
||||
example: "007788992233"
|
||||
help:
|
||||
en: The AIN is printed on the type label on the back of the device.
|
||||
de: Die AIN ist auf dem Typenschild auf der Geräterückseite aufgedruckt.
|
||||
render: |
|
||||
type: fritzdect
|
||||
uri: {{ .uri }}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
template: fronius-gen24
|
||||
products:
|
||||
- brand: Fronius
|
||||
description:
|
||||
generic: Symo GEN24 Plus
|
||||
- brand: Fronius
|
||||
description:
|
||||
generic: Symo GEN24 Plus
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
- name: integer
|
||||
description:
|
||||
de: Integer Registerzugriff (nur für Netzzähler)
|
||||
en: Integer register access (grid meter only)
|
||||
help:
|
||||
de: Einstellung Float/Integer im Wechselrichter überprüfen
|
||||
en: Verify Float/Integer setting in inverter
|
||||
advanced: true
|
||||
valuetype: bool
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
- name: integer
|
||||
description:
|
||||
de: Integer Registerzugriff (nur für Netzzähler)
|
||||
en: Integer register access (grid meter only)
|
||||
help:
|
||||
de: Einstellung Float/Integer im Wechselrichter überprüfen
|
||||
en: Verify Float/Integer setting in inverter
|
||||
advanced: true
|
||||
valuetype: bool
|
||||
render: |
|
||||
{{- if eq .usage "grid" }}
|
||||
type: modbus
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
template: fronius-solarapi-v1
|
||||
products:
|
||||
- brand: Fronius
|
||||
description:
|
||||
generic: Solar API V1
|
||||
- brand: Fronius
|
||||
description:
|
||||
generic: Solar API V1
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
template: huawei-dongle-powersensor
|
||||
products:
|
||||
- brand: Huawei
|
||||
description:
|
||||
generic: SUN2000 with SDongle & Power Sensor
|
||||
- brand: Huawei
|
||||
description:
|
||||
generic: SUN2000 with SDongle & Power Sensor
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: custom
|
||||
{{- if eq .usage "grid" }}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
template: huawei-dongle
|
||||
products:
|
||||
- brand: Huawei
|
||||
description:
|
||||
generic: SUN2000 with SDongle
|
||||
- brand: Huawei
|
||||
description:
|
||||
generic: SUN2000 with SDongle
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "pv" ]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: huawei-sun2000-8ktl
|
||||
products:
|
||||
- brand: Huawei
|
||||
description:
|
||||
generic: SUN2000-8KTL
|
||||
- brand: Huawei
|
||||
description:
|
||||
generic: SUN2000-8KTL
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "pv" ]
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 19200
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: modbus
|
||||
choice: ["rs485"]
|
||||
baudrate: 19200
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
template: kostal-ksem-inverter
|
||||
products:
|
||||
- brand: Kostal
|
||||
description:
|
||||
de: Smart Energy Meter (über den Wechselrichter)
|
||||
en: Smart Energy Meter (via inverter)
|
||||
- brand: Kostal
|
||||
description:
|
||||
de: Smart Energy Meter (über den Wechselrichter)
|
||||
en: Smart Energy Meter (via inverter)
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
port: 1502
|
||||
id: 71
|
||||
- name: usage
|
||||
choice: ["grid"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
port: 1502
|
||||
id: 71
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: kostal-ksem
|
||||
products:
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Smart Energy Meter
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Smart Energy Meter
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
id: 71
|
||||
- name: usage
|
||||
choice: ["grid"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 71
|
||||
render: |
|
||||
type: modbus
|
||||
model: sunspec
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
template: kostal-piko-mp-plus
|
||||
products:
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Piko MP Plus
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Piko MP Plus
|
||||
guidedsetup:
|
||||
enable: true
|
||||
linked:
|
||||
- template: kostal-ksem-inverter
|
||||
usage: grid
|
||||
- template: kostal-ksem
|
||||
usage: grid
|
||||
excludetemplate: kostal-ksem-inverter
|
||||
linked:
|
||||
- template: kostal-ksem-inverter
|
||||
usage: grid
|
||||
- template: kostal-ksem
|
||||
usage: grid
|
||||
excludetemplate: kostal-ksem-inverter
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "pv" ]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
template: kostal-piko
|
||||
products:
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Piko
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Piko BA
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Piko
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Piko BA
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv" ]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: usage
|
||||
choice: ["grid", "pv"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
template: kostal-plenticore
|
||||
products:
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Plenticore Hybrid
|
||||
- brand: Kostal
|
||||
description:
|
||||
generic: Plenticore Hybrid
|
||||
guidedsetup:
|
||||
enable: true
|
||||
linked:
|
||||
- template: kostal-ksem-inverter
|
||||
usage: grid
|
||||
- template: kostal-ksem
|
||||
usage: grid
|
||||
excludetemplate: kostal-ksem-inverter
|
||||
- template: kostal-ksem-inverter
|
||||
usage: grid
|
||||
- template: kostal-ksem
|
||||
usage: grid
|
||||
excludetemplate: kostal-ksem-inverter
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "pv", "battery" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
id: 71
|
||||
port: 1502
|
||||
- name: usage
|
||||
choice: ["pv", "battery"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 71
|
||||
port: 1502
|
||||
render: |
|
||||
{{- if eq .usage "pv" }}
|
||||
type: custom
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
template: lg-ess-home-8-10
|
||||
products:
|
||||
- brand: LG
|
||||
description:
|
||||
generic: ESS Home 8/10
|
||||
- brand: LG
|
||||
description:
|
||||
generic: ESS Home 8/10
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: registration
|
||||
required: true
|
||||
example: "DE200..."
|
||||
help:
|
||||
en: Registration number of the LG ESS HOME inverter.
|
||||
de: Registriernummer des LG ESS HOME Wechselrichters.
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: registration
|
||||
required: true
|
||||
example: "DE200..."
|
||||
help:
|
||||
en: Registration number of the LG ESS HOME inverter.
|
||||
de: Registriernummer des LG ESS HOME Wechselrichters.
|
||||
render: |
|
||||
type: lgess
|
||||
usage: {{ .usage }}
|
||||
|
|
|
|||
|
|
@ -1,70 +1,70 @@
|
|||
template: mqtt-meter
|
||||
products:
|
||||
- description:
|
||||
de: MQTT Strommessgerät
|
||||
en: MQTT Meter
|
||||
- description:
|
||||
de: MQTT Strommessgerät
|
||||
en: MQTT Meter
|
||||
group: generic
|
||||
requirements:
|
||||
requirements:
|
||||
evcc: ["mqtt"]
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "charge", "battery" ]
|
||||
- name: power
|
||||
description:
|
||||
de: MQTT Topic für die Leistung (W)
|
||||
en: MQTT Topic for power (W)
|
||||
required: true
|
||||
- name: scalepower
|
||||
description:
|
||||
de: Skalierung der Leistungswerte
|
||||
en: Scaling of the power value
|
||||
default: 1
|
||||
help:
|
||||
de: Die Leistung wird in Watt erwartet. Falls z.b. kW geliefert wird, kann dies hier mit dem Wert 1000 angepasst werden
|
||||
en: Power is expected to be provided in Watt. If it is provided in kW instead, set this value to 1000 to correct it
|
||||
- name: energy
|
||||
description:
|
||||
de: MQTT Topic für Energiemenge (Wh)
|
||||
en: MQTT Topic for energy (Wh)
|
||||
- name: scaleenergy
|
||||
dependencies:
|
||||
- name: energy
|
||||
check: notempty
|
||||
description:
|
||||
de: Skalierung der Energiement
|
||||
en: Scaling of the energy value
|
||||
default: 1
|
||||
help:
|
||||
de: Die Energiemenge wird in kWh erwartet. Falls z.b. Wh geliefert wird, kann dies hier mit dem Wert 0.001 angepasst werden
|
||||
en: Power is expected to be provided in kWh. If it is provided in Wh instead, set this value to 0.001 to correct it
|
||||
- name: soc
|
||||
description:
|
||||
de: MQTT Topic für den SoC der Batterie (%)
|
||||
en: MQTT Topic for battery SoC (%)
|
||||
dependencies:
|
||||
- name: usage
|
||||
check: equal
|
||||
value: battery
|
||||
- name: currentp1
|
||||
description:
|
||||
de: MQTT Topic Stromstärke (A) Phase 1
|
||||
en: MQTT Topic Amperage (A) phase 1
|
||||
- name: currentp2
|
||||
description:
|
||||
de: MQTT Topic Stromstärke (A) Phase 2
|
||||
en: MQTT Topic Amperage (A) phase 2
|
||||
dependencies:
|
||||
- name: currentp1
|
||||
check: notempty
|
||||
- name: currentp3
|
||||
description:
|
||||
de: MQTT Topic Stromstärke (A) Phase 3
|
||||
en: MQTT Topic Amperage (A) phase 3
|
||||
dependencies:
|
||||
- name: currentp1
|
||||
check: notempty
|
||||
- name: timeout
|
||||
default: 30s
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "charge", "battery"]
|
||||
- name: power
|
||||
description:
|
||||
de: MQTT Topic für die Leistung (W)
|
||||
en: MQTT Topic for power (W)
|
||||
required: true
|
||||
- name: scalepower
|
||||
description:
|
||||
de: Skalierung der Leistungswerte
|
||||
en: Scaling of the power value
|
||||
default: 1
|
||||
help:
|
||||
de: Die Leistung wird in Watt erwartet. Falls z.b. kW geliefert wird, kann dies hier mit dem Wert 1000 angepasst werden
|
||||
en: Power is expected to be provided in Watt. If it is provided in kW instead, set this value to 1000 to correct it
|
||||
- name: energy
|
||||
description:
|
||||
de: MQTT Topic für Energiemenge (Wh)
|
||||
en: MQTT Topic for energy (Wh)
|
||||
- name: scaleenergy
|
||||
dependencies:
|
||||
- name: energy
|
||||
check: notempty
|
||||
description:
|
||||
de: Skalierung der Energiement
|
||||
en: Scaling of the energy value
|
||||
default: 1
|
||||
help:
|
||||
de: Die Energiemenge wird in kWh erwartet. Falls z.b. Wh geliefert wird, kann dies hier mit dem Wert 0.001 angepasst werden
|
||||
en: Power is expected to be provided in kWh. If it is provided in Wh instead, set this value to 0.001 to correct it
|
||||
- name: soc
|
||||
description:
|
||||
de: MQTT Topic für den SoC der Batterie (%)
|
||||
en: MQTT Topic for battery SoC (%)
|
||||
dependencies:
|
||||
- name: usage
|
||||
check: equal
|
||||
value: battery
|
||||
- name: currentp1
|
||||
description:
|
||||
de: MQTT Topic Stromstärke (A) Phase 1
|
||||
en: MQTT Topic Amperage (A) phase 1
|
||||
- name: currentp2
|
||||
description:
|
||||
de: MQTT Topic Stromstärke (A) Phase 2
|
||||
en: MQTT Topic Amperage (A) phase 2
|
||||
dependencies:
|
||||
- name: currentp1
|
||||
check: notempty
|
||||
- name: currentp3
|
||||
description:
|
||||
de: MQTT Topic Stromstärke (A) Phase 3
|
||||
en: MQTT Topic Amperage (A) phase 3
|
||||
dependencies:
|
||||
- name: currentp1
|
||||
check: notempty
|
||||
- name: timeout
|
||||
default: 30s
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
template: openems
|
||||
products:
|
||||
- brand: OpenEMS
|
||||
- brand: FENECON
|
||||
- brand: OpenEMS
|
||||
- brand: FENECON
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: password
|
||||
mask: true
|
||||
default: user
|
||||
advanced: true
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: password
|
||||
mask: true
|
||||
default: user
|
||||
advanced: true
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: powerdog
|
||||
products:
|
||||
- description:
|
||||
generic: Powerdog
|
||||
- description:
|
||||
generic: Powerdog
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
- name: usage
|
||||
choice: ["grid", "pv"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
template: powerfox-poweropti
|
||||
products:
|
||||
- brand: Powerfox
|
||||
description:
|
||||
generic: Poweropti (Cloud)
|
||||
- brand: Powerfox
|
||||
description:
|
||||
generic: Poweropti (Cloud)
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid" ]
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
- name: usage
|
||||
choice: ["grid"]
|
||||
- name: user
|
||||
required: true
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
template: rct-power
|
||||
products:
|
||||
- brand: RCT
|
||||
description:
|
||||
generic: Power
|
||||
- brand: RCT
|
||||
description:
|
||||
generic: Power
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: rct
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
template: senec-home
|
||||
products:
|
||||
- brand: SENEC
|
||||
description:
|
||||
generic: .Home
|
||||
- brand: SENEC
|
||||
description:
|
||||
generic: .Home
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
template: shelly-3em
|
||||
products:
|
||||
- brand: Shelly
|
||||
description:
|
||||
generic: 3EM
|
||||
- brand: Shelly
|
||||
description:
|
||||
generic: 3EM
|
||||
group: sockets
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "charge" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "charge"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,28 +1,28 @@
|
|||
template: sma-data-manager-m-lite
|
||||
products:
|
||||
- brand: SMA
|
||||
description:
|
||||
generic: Data Manager M Lite
|
||||
- brand: SMA
|
||||
description:
|
||||
generic: Data Manager M Lite
|
||||
guidedsetup:
|
||||
enable: true
|
||||
linked:
|
||||
- template: sma-energy-meter
|
||||
usage: grid
|
||||
- template: sma-inverter
|
||||
usage: battery
|
||||
multiple: true
|
||||
linked:
|
||||
- template: sma-energy-meter
|
||||
usage: grid
|
||||
- template: sma-inverter
|
||||
usage: battery
|
||||
multiple: true
|
||||
requirements:
|
||||
description:
|
||||
de: In der Weboberfläche des SMA Data Manager muss im Bereich "Externe Kommunikation" der Schalter "Modbus Server aktivieren" eingeschaltet sein.
|
||||
en: In the web interface of the SMA Data Manager you need to activate "Modbus Server activated" in the section "External communication".
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
@ -32,4 +32,4 @@ render: |
|
|||
register:
|
||||
address: 30775 # Aktuelle PV-Einspeiseleistung
|
||||
type: holding
|
||||
decode: int32
|
||||
decode: int32
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: sma-energy-meter
|
||||
products:
|
||||
- brand: SMA
|
||||
description:
|
||||
generic: Energy Meter
|
||||
- brand: SMA
|
||||
description:
|
||||
generic: Energy Meter
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
render: |
|
||||
type: sma
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
template: sma-home-manager
|
||||
products:
|
||||
- brand: SMA
|
||||
description:
|
||||
generic: Sunny Home Manager 2.0
|
||||
- brand: SMA
|
||||
description:
|
||||
generic: Sunny Home Manager 2.0
|
||||
capabilities: ["smahems"]
|
||||
guidedsetup:
|
||||
enable: true
|
||||
linked:
|
||||
- template: sma-energy-meter
|
||||
usage: pv
|
||||
- template: sma-inverter
|
||||
usage: pv
|
||||
multiple: true
|
||||
excludetemplate: sma-energy-meter
|
||||
- template: sma-inverter
|
||||
usage: battery
|
||||
multiple: true
|
||||
linked:
|
||||
- template: sma-energy-meter
|
||||
usage: pv
|
||||
- template: sma-inverter
|
||||
usage: pv
|
||||
multiple: true
|
||||
excludetemplate: sma-energy-meter
|
||||
- template: sma-inverter
|
||||
usage: battery
|
||||
multiple: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["grid"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: usage
|
||||
choice: ["grid"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
render: |
|
||||
type: sma
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
template: sma-inverter
|
||||
products:
|
||||
- brand: SMA
|
||||
description:
|
||||
de: Wechselrichter
|
||||
en: Inverter
|
||||
- brand: SMA
|
||||
description:
|
||||
de: Wechselrichter
|
||||
en: Inverter
|
||||
params:
|
||||
- name: usage
|
||||
choice: ["pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: password
|
||||
mask: true
|
||||
help:
|
||||
en: Only required if the default password was changed
|
||||
de: Wird nur benötigt, wenn das Standardpasswort geändert wurde
|
||||
- name: usage
|
||||
choice: ["pv", "battery"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: password
|
||||
mask: true
|
||||
help:
|
||||
en: Only required if the default password was changed
|
||||
de: Wird nur benötigt, wenn das Standardpasswort geändert wurde
|
||||
render: |
|
||||
type: sma
|
||||
uri: {{ .host }} # IP address or hostname
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
template: solaredge-hybrid
|
||||
products:
|
||||
- brand: Solaredge
|
||||
description:
|
||||
generic: Hybrid
|
||||
- brand: Solaredge
|
||||
description:
|
||||
generic: Hybrid
|
||||
guidedsetup:
|
||||
enable: true
|
||||
requirements:
|
||||
|
|
@ -10,17 +10,17 @@ requirements:
|
|||
de: Nur ein System kann auf den Wechselrichter zugreifen!
|
||||
en: Only one system may access the inverter!
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
help:
|
||||
en: Port 502 (SetApp) or 1502 (LCD)
|
||||
de: Port 502 (SetApp) oder 1502 (LCD)
|
||||
- name: timeout
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
help:
|
||||
en: Port 502 (SetApp) or 1502 (LCD)
|
||||
de: Port 502 (SetApp) oder 1502 (LCD)
|
||||
- name: timeout
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
template: solaredge-inverter
|
||||
products:
|
||||
- brand: Solaredge
|
||||
description:
|
||||
de: Wechselrichter
|
||||
en: Inverter
|
||||
- brand: Solaredge
|
||||
description:
|
||||
de: Wechselrichter
|
||||
en: Inverter
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
id: 1
|
||||
port: 1502
|
||||
- name: timeout
|
||||
- name: usage
|
||||
choice: ["grid", "pv"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
id: 1
|
||||
port: 1502
|
||||
- name: timeout
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
template: solarlog
|
||||
products:
|
||||
- description:
|
||||
generic: Solarlog
|
||||
- description:
|
||||
generic: Solarlog
|
||||
guidedsetup:
|
||||
enable: true
|
||||
requirements:
|
||||
|
|
@ -13,13 +13,13 @@ requirements:
|
|||
We recommend to use this device for grid power values only, if no other device is available providing this data.
|
||||
If you have a home battery installed, please do not use this device at all for grid power values.
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv" ]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
- name: usage
|
||||
choice: ["grid", "pv"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: solarwatt-myreserve-matrix
|
||||
products:
|
||||
- brand: Solarwatt
|
||||
description:
|
||||
generic: MyReserve Matrix (LAN oder PowerGateway)
|
||||
- brand: Solarwatt
|
||||
description:
|
||||
generic: MyReserve Matrix (LAN oder PowerGateway)
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 8080
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 8080
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
template: solarwatt-myreserve
|
||||
products:
|
||||
- brand: Solarwatt
|
||||
description:
|
||||
generic: MyReserve
|
||||
- brand: Solarwatt
|
||||
description:
|
||||
generic: MyReserve
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
template: solax-hybrid-cloud
|
||||
products:
|
||||
- brand: Solax
|
||||
description:
|
||||
generic: Hybrid (Cloud)
|
||||
- brand: Solax
|
||||
description:
|
||||
generic: Hybrid (Cloud)
|
||||
requirements:
|
||||
description:
|
||||
de: |
|
||||
|
|
@ -16,23 +16,23 @@ requirements:
|
|||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: tokenid
|
||||
required: true
|
||||
description:
|
||||
generic: SolaxCloud TokenID
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/api den Wert von "ObtaintokenID" hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/api and take the value of "ObtaintokenID".
|
||||
- name: serial
|
||||
required: true
|
||||
description:
|
||||
de: Seriennummer
|
||||
en: Serial number
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/inverter die Registriernummer hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/inverter and take the value of registration number
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: tokenid
|
||||
required: true
|
||||
description:
|
||||
generic: SolaxCloud TokenID
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/api den Wert von "ObtaintokenID" hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/api and take the value of "ObtaintokenID".
|
||||
- name: serial
|
||||
required: true
|
||||
description:
|
||||
de: Seriennummer
|
||||
en: Serial number
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/inverter die Registriernummer hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/inverter and take the value of registration number
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
template: solax-inverter-cloud
|
||||
products:
|
||||
- brand: Solax
|
||||
description:
|
||||
de: Wechselrichter (Cloud)
|
||||
en: Inverter (Cloud)
|
||||
- brand: Solax
|
||||
description:
|
||||
de: Wechselrichter (Cloud)
|
||||
en: Inverter (Cloud)
|
||||
requirements:
|
||||
description:
|
||||
de: |
|
||||
|
|
@ -15,23 +15,23 @@ requirements:
|
|||
|
||||
**Attention**: Values can only be fetched every 150s and then also can be 5 minutes old. Charging by PV will not be optimal because of this!
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "pv" ]
|
||||
- name: tokenid
|
||||
required: true
|
||||
description:
|
||||
generic: SolaxCloud TokenID
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/api den Wert von "ObtaintokenID" hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/api and take the value of "ObtaintokenID".
|
||||
- name: serial
|
||||
required: true
|
||||
description:
|
||||
de: Seriennummer
|
||||
en: Serial number
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/inverter die Registriernummer hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/inverter and take the value of registration number
|
||||
- name: usage
|
||||
choice: ["pv"]
|
||||
- name: tokenid
|
||||
required: true
|
||||
description:
|
||||
generic: SolaxCloud TokenID
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/api den Wert von "ObtaintokenID" hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/api and take the value of "ObtaintokenID".
|
||||
- name: serial
|
||||
required: true
|
||||
description:
|
||||
de: Seriennummer
|
||||
en: Serial number
|
||||
help:
|
||||
de: Auf https://www.solaxcloud.com/#/inverter die Registriernummer hier eintragen.
|
||||
en: Go to https://www.solaxcloud.com/#/inverter and take the value of registration number
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
template: solax-x3
|
||||
products:
|
||||
- brand: Solax
|
||||
description:
|
||||
generic: Hybrid X3
|
||||
- brand: Solax
|
||||
description:
|
||||
generic: Hybrid X3
|
||||
requirements:
|
||||
description:
|
||||
de: Der Solax Inverter muss via Ethernet an das lokale Netzwerk angeschlossen sein.
|
||||
|
|
@ -10,14 +10,14 @@ requirements:
|
|||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
required: true
|
||||
default: 502
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
required: true
|
||||
default: 502
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: sonnenbatterie-eco10
|
||||
products:
|
||||
- brand: Sonnenbatterie
|
||||
description:
|
||||
generic: Eco/10
|
||||
- brand: Sonnenbatterie
|
||||
description:
|
||||
generic: Eco/10
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 8080
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 8080
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
@ -32,4 +32,3 @@ render: |
|
|||
uri: http://{{ .host }}:{{ .port }}/api/v1/status
|
||||
jq: .USOC
|
||||
{{- end }}
|
||||
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
template: sungrow-dongle
|
||||
products:
|
||||
- brand: Sungrow (Wifi dongle)
|
||||
description:
|
||||
generic: Inverter (Beta)
|
||||
- brand: Sungrow (Wifi dongle)
|
||||
description:
|
||||
generic: Inverter (Beta)
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: modbus
|
||||
choice: [ "rs485", "tcpip" ]
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: modbus
|
||||
choice: ["rs485", "tcpip"]
|
||||
render: |
|
||||
type: custom
|
||||
{{- if eq .usage "grid" }}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
template: sungrow
|
||||
products:
|
||||
- brand: Sungrow (LAN)
|
||||
description:
|
||||
generic: Inverter (Beta)
|
||||
- brand: Sungrow (LAN)
|
||||
description:
|
||||
generic: Inverter (Beta)
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: modbus
|
||||
choice: [ "rs485", "tcpip" ]
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: modbus
|
||||
choice: ["rs485", "tcpip"]
|
||||
render: |
|
||||
type: custom
|
||||
{{- if eq .usage "grid" }}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: sunspec
|
||||
products:
|
||||
- description:
|
||||
de: Wechselrichter (SunSpec)
|
||||
en: Inverter (SunSpec)
|
||||
- description:
|
||||
de: Wechselrichter (SunSpec)
|
||||
en: Inverter (SunSpec)
|
||||
group: generic
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: modbus
|
||||
choice: [ "tcpip" ]
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: modbus
|
||||
choice: ["tcpip"]
|
||||
render: |
|
||||
type: modbus
|
||||
model: sunspec
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
template: tasmota
|
||||
products:
|
||||
- description:
|
||||
generic: Tasmota
|
||||
- description:
|
||||
generic: Tasmota
|
||||
group: sockets
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "charge" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "charge"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
render: |
|
||||
type: custom
|
||||
power: # power reading (W)
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
template: tesla-powerwall
|
||||
products:
|
||||
- brand: Tesla
|
||||
description:
|
||||
generic: Powerwall
|
||||
- brand: Tesla
|
||||
description:
|
||||
generic: Powerwall
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
help:
|
||||
en: Password of the user "customer"
|
||||
de: Passwort des Benutzers "Kunde"
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: password
|
||||
required: true
|
||||
mask: true
|
||||
help:
|
||||
en: Password of the user "customer"
|
||||
de: Passwort des Benutzers "Kunde"
|
||||
render: |
|
||||
type: tesla
|
||||
uri: {{ .host }}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: varta-energiespeicher
|
||||
products:
|
||||
- brand: VARTA
|
||||
description:
|
||||
generic: Energiespeicher
|
||||
- brand: VARTA
|
||||
description:
|
||||
generic: Energiespeicher
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: victron-energy
|
||||
products:
|
||||
- brand: Victron
|
||||
description:
|
||||
generic: Energy
|
||||
- brand: Victron
|
||||
description:
|
||||
generic: Energy
|
||||
guidedsetup:
|
||||
enable: true
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid", "pv", "battery" ]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
- name: usage
|
||||
choice: ["grid", "pv", "battery"]
|
||||
- name: host
|
||||
required: true
|
||||
example: 192.0.2.2
|
||||
- name: port
|
||||
default: 502
|
||||
render: |
|
||||
type: custom
|
||||
power:
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
template: volkszaehler-http
|
||||
products:
|
||||
- description:
|
||||
generic: Volkszähler (HTTP API)
|
||||
- description:
|
||||
generic: Volkszähler (HTTP API)
|
||||
group: generic
|
||||
params:
|
||||
- name: usage
|
||||
choice: [ "grid" ]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 80
|
||||
- name: uuid
|
||||
required: true
|
||||
- name: usage
|
||||
choice: ["grid"]
|
||||
- name: host
|
||||
example: 192.0.2.2
|
||||
required: true
|
||||
- name: port
|
||||
default: 80
|
||||
- name: uuid
|
||||
required: true
|
||||
render: |
|
||||
type: custom
|
||||
power: # power reading
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue