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