Autoupdate Supported Brands on Website (#3133)

This commit is contained in:
Michael Geers 2022-04-12 16:35:37 +02:00 • committed by GitHub
parent e3a598add8
commit d356298d53
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
60 changed files with 307 additions and 117 deletions

47
.github/workflows/website.yml vendored Normal file
View file

@ -0,0 +1,47 @@
name: Deploy data to website
on:
push:
branches: [master]
paths: "templates/evcc.io/**"
workflow_dispatch:
jobs:
brandupdate:
name: Deploy data to website
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ^1.18
id: go
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install tools
run: make install
- name: Build docs
run: make docs
- name: Clean git
run: |
git checkout go.*
rm -rf flags buildflags
- name: Deploy to evcc.io repo
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.GH_REPO }}
publish_dir: ./templates/evcc.io/
external_repository: evcc-io/evcc.io
publish_branch: main
destination_dir: data
allow_empty_commit: false
commit_message: Brand data update
if: ${{ success() }}

View file

@ -1,7 +1,6 @@
template: shelly
products:
- description:
generic: Shelly
- brand: Shelly
group: switchsockets
params:
- name: host

View file

@ -1,7 +1,6 @@
template: tasmota
products:
- description:
generic: Tasmota
- brand: Tasmota
group: switchsockets
params:
- name: host

View file

@ -82,7 +82,7 @@ params:
help:
de: Akku-Kapazität in kWh
en: Battery capacity in kWh
example: "41.5"
example: "50"
valuetype: float
- name: vin
description:

View file

@ -1,6 +1,6 @@
template: solaredge-hybrid
products:
- brand: Solaredge
- brand: SolarEdge
description:
generic: Hybrid
guidedsetup:

View file

@ -1,6 +1,6 @@
template: solaredge-inverter
products:
- brand: Solaredge
- brand: SolarEdge
description:
de: Wechselrichter
en: Inverter

View file

@ -8,8 +8,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WAUZZZ...
- name: capacity
default: 60
- preset: vehiclecloud
render: |
type: etron

View file

@ -2,15 +2,13 @@ template: audi
products:
- brand: Audi
description:
de: andere
en: others
de: Andere
en: Others
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: vin
example: WAUZZZ...
- name: capacity
default: 60
- preset: vehiclecloud
render: |
type: audi

View file

@ -6,8 +6,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WBMW...
- name: capacity
default: 65
- preset: vehiclecloud
render: |
type: bmw

View file

@ -6,8 +6,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: carwings

View file

@ -1,11 +1,9 @@
template: citroen
products:
- brand: Citroen
- brand: Citroën
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: citroen

View file

@ -4,8 +4,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: ds

View file

@ -10,7 +10,6 @@ params:
- name: token
required: true
- name: capacity
default: 64
valuetype: float
- name: phases
advanced: true

View file

@ -5,8 +5,6 @@ params:
- preset: vehiclebase
- name: vin
example: ZFAE...
- name: capacity
default: 42
- name: pin
mask: true
- preset: vehicleidentify

View file

@ -6,8 +6,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WF0FXX...
- name: capacity
default: 10
- preset: vehiclecloud
render: |
type: ford

View file

@ -7,8 +7,6 @@ params:
- preset: vehiclebase
- preset: vehiclelanguage
- preset: vehicleidentify
- name: capacity
default: 64
- preset: vehiclecloud
render: |
type: hyundai

View file

@ -5,11 +5,7 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: vin
example: W...
- name: capacity
- preset: vehiclecloud
default: 60
render: |
type: jaguar
{{ include "vehicle-base" . }}

View file

@ -7,8 +7,6 @@ params:
- preset: vehiclebase
- preset: vehiclelanguage
- preset: vehicleidentify
- name: capacity
default: 64
- preset: vehiclecloud
render: |
type: kia

View file

@ -6,8 +6,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WBMW...
- name: capacity
default: 32
- preset: vehiclecloud
render: |
type: mini

View file

@ -6,8 +6,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 60
- preset: vehiclecloud
render: |
type: nissan

View file

@ -6,8 +6,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WP0...
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: opel

View file

@ -4,8 +4,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: peugeot

View file

@ -4,8 +4,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 83.4
- preset: vehiclecloud
render: |
type: porsche

View file

@ -6,8 +6,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WREN...
- name: capacity
default: 60
- preset: vehiclecloud
render: |
type: renault

View file

@ -6,8 +6,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 10
- preset: vehiclecloud
render: |
type: cupra

View file

@ -2,12 +2,11 @@ template: seat
products:
- brand: Seat
description:
generic: Cupra, Mii
de: Andere
en: Others
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 10
- preset: vehiclecloud
render: |
type: seat

View file

@ -1,13 +1,11 @@
template: enyaq
products:
- brand: Skoda
- brand: Škoda
description:
generic: Enyaq
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: enyaq

View file

@ -1,13 +1,12 @@
template: skoda
products:
- brand: Skoda
- brand: Škoda
description:
generic: Citigo
de: Andere
en: Others
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 10
- preset: vehiclecloud
render: |
type: skoda

View file

@ -32,7 +32,6 @@ params:
- name: vin
example: W...
- name: capacity
default: 90
- name: phases
advanced: true
- preset: vehicleidentify

View file

@ -4,8 +4,6 @@ products:
params:
- preset: vehiclebase
- preset: vehicleidentify
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: volvo

View file

@ -12,8 +12,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WVWZZZ...
- name: capacity
default: 50
- preset: vehiclecloud
render: |
type: id

View file

@ -12,8 +12,6 @@ params:
- preset: vehicleidentify
- name: vin
example: WVWZZZ...
- name: capacity
default: 10
- preset: vehiclecloud
render: |
type: vw

View file

@ -1,5 +1,5 @@
product:
description: Shelly
brand: Shelly
group: Schaltbare Steckdosen
render:
- default: |

View file

@ -1,5 +1,5 @@
product:
description: Tasmota
brand: Tasmota
group: Schaltbare Steckdosen
render:
- default: |

View file

@ -1,5 +1,5 @@
product:
brand: Solaredge
brand: SolarEdge
description: Hybrid
description: |
Nur ein System kann auf den Wechselrichter zugreifen!

View file

@ -1,5 +1,5 @@
product:
brand: Solaredge
brand: SolarEdge
description: Wechselrichter
render:
- usage: grid

View file

@ -1,6 +1,6 @@
product:
brand: Audi
description: andere
description: Andere
render:
- default: |
type: template
@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: audi
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 65 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: bmw
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 65 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -1,5 +1,5 @@
product:
brand: Citroen
brand: Citroën
render:
- default: |
type: template

View file

@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: cupra
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -1,5 +1,5 @@
product:
brand: Skoda
brand: Škoda
description: Enyaq
render:
- default: |

View file

@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: etron
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WAUZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -8,14 +8,14 @@ render:
title: # Wird in der Benutzeroberfläche angezeigt # Optional
akey:
token:
capacity: 64 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: evnotify
title: # Wird in der Benutzeroberfläche angezeigt # Optional
akey:
token:
capacity: 64 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 42 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
pin: # Optional
advanced: |
type: template
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: ZFAE... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 42 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
pin: # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WF0FXX... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: ford
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WF0FXX... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 64 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
language: en # 'de' für Deutsch und 'en' für Englisch # Optional
advanced: |
type: template
@ -18,7 +18,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 64 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
language: en # 'de' für Deutsch und 'en' für Englisch # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 41.5 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: jaguar-landrover
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 41.5 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 41.5 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: jaguar-landrover
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 41.5 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 64 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
language: en # 'de' für Deutsch und 'en' für Englisch # Optional
advanced: |
type: template
@ -18,7 +18,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 64 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
language: en # 'de' für Deutsch und 'en' für Englisch # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 32 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: mini
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WBMW... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 32 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: nissan
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 83.4 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: porsche
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 83.4 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -8,7 +8,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WREN... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: renault
@ -16,7 +16,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WREN... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 60 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -1,6 +1,6 @@
product:
brand: Seat
description: Cupra, Mii
description: Andere
render:
- default: |
type: template
@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: seat
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -1,6 +1,6 @@
product:
brand: Skoda
description: Citigo
brand: Škoda
description: Andere
render:
- default: |
type: template
@ -9,7 +9,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: skoda
@ -17,7 +17,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -16,7 +16,7 @@ render:
accessToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla
refreshToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 90 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: tesla
@ -24,7 +24,7 @@ render:
accessToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla
refreshToken: # Siehe https://docs.evcc.io/docs/devices/vehicles#tesla
vin: W... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 90 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

View file

@ -11,7 +11,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
advanced: |
type: template
template: vw
@ -19,7 +19,7 @@ render:
user: # Benutzerkonto (bspw. E-Mail Adresse, User Id, etc.)
password: # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen)
vin: WVWZZZ... # Erforderlich, wenn mehrere Fahrzeuge des Herstellers vorhanden sind # Optional
capacity: 10 # Akku-Kapazität in kWh # Optional
capacity: 50 # Akku-Kapazität in kWh # Optional
phases: 3 # Die maximale Anzahl der Phasen welche genutzt werden können # Optional
mode: # Möglich sind Off, Now, MinPV und PV, oder leer wenn keiner definiert werden soll # Optional
minSoC: 25 # Lade sofort mit maximaler Geschwindigkeit bis zu dem angegeben Ladestand, wenn der Lademodus nicht auf 'Aus' steht # Optional

1
templates/evcc.io/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
!*.json

View file

@ -0,0 +1,117 @@
{
"Chargers": [
"ABL",
"Alfen",
"Alphatec",
"Bender",
"BMW",
"cFos",
"DaheimLaden",
"Easee",
"Ebee",
"Ensto",
"Garo",
"go-eCharger",
"HardyBarth",
"Heidelberg",
"i-CHARGE",
"Innogy",
"Juice",
"KEBA",
"Mennekes",
"Mennekes AMTRON",
"NRGKick",
"openWB",
"Optec",
"PC Electric",
"Phoenix",
"Porsche",
"SENEC",
"TechniSat",
"TinkerForge",
"Ubitricity",
"Vestel",
"Wallbe",
"Walther Werke",
"Webasto"
],
"SmartPlugs": [
"AVM",
"Shelly",
"Tasmota",
"TP-Link"
],
"Meters": [
"AVM",
"cFos",
"Eastron",
"FENECON",
"Fronius",
"Huawei",
"Kostal",
"LG",
"OpenEMS",
"Powerfox",
"RCT",
"SENEC",
"Shelly",
"SMA",
"SolarEdge",
"Solarwatt",
"Solax",
"Sonnenbatterie",
"Sungrow",
"Tesla",
"VARTA",
"Victron",
"Volkszähler"
],
"PVBattery": [
"AVM",
"Eastron",
"FENECON",
"Fronius",
"Huawei",
"Kostal",
"LG",
"OpenEMS",
"RCT",
"SENEC",
"Shelly",
"SMA",
"SolarEdge",
"Solarwatt",
"Solax",
"Sonnenbatterie",
"Sungrow",
"Tesla",
"VARTA",
"Victron"
],
"Vehicles": [
"Audi",
"BMW",
"Citroën",
"Dacia",
"DS",
"Fiat",
"Ford",
"Hyundai",
"Jaguar",
"Kia",
"Land Rover",
"Mini",
"Nissan",
"NIU",
"Opel",
"Peugeot",
"Porsche",
"Renault",
"Seat",
"Smart",
"Tesla",
"Volkswagen",
"Volvo",
"Škoda"
]
}

View file

@ -1,21 +1,26 @@
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"path"
"sort"
"strings"
"github.com/evcc-io/evcc/util/templates"
"golang.org/x/exp/maps"
)
const basePath = "../../../templates/docs"
const docsPath = "../../../templates/docs"
const websitePath = "../../../templates/evcc.io"
//go:generate go run generate.go
func main() {
for _, class := range []string{templates.Meter, templates.Charger, templates.Vehicle} {
path := fmt.Sprintf("%s/%s", basePath, class)
path := fmt.Sprintf("%s/%s", docsPath, class)
_, err := os.Stat(path)
if os.IsNotExist(err) {
if err := os.MkdirAll(path, 0755); err != nil {
@ -30,6 +35,10 @@ func main() {
panic(err)
}
}
if err := generateBrandJSON(); err != nil {
panic(err)
}
}
func generateClass(class string) error {
@ -59,7 +68,7 @@ func writeTemplate(class string, index int, product templates.Product, tmpl temp
return err
}
filename := fmt.Sprintf("%s/%s/%s_%d.yaml", basePath, class, tmpl.Template, index)
filename := fmt.Sprintf("%s/%s/%s_%d.yaml", docsPath, class, tmpl.Template, index)
if err := os.WriteFile(filename, b, 0644); err != nil {
return err
}
@ -80,3 +89,71 @@ func clearDir(dir string) error {
return nil
}
func sortedKeys(data map[string]bool) []string {
keys := maps.Keys(data)
sort.Slice(keys, func(i, j int) bool { return strings.ToLower(keys[i]) < strings.ToLower(keys[j]) })
return keys
}
func generateBrandJSON() error {
chargers := make(map[string]bool)
smartPlugs := make(map[string]bool)
for _, tmpl := range templates.ByClass(templates.Charger) {
for _, product := range tmpl.Products {
if product.Brand != "" {
if tmpl.Group == "switchsockets" {
smartPlugs[product.Brand] = true
} else {
chargers[product.Brand] = true
}
}
}
}
vehicles := make(map[string]bool)
for _, tmpl := range templates.ByClass(templates.Vehicle) {
for _, product := range tmpl.Products {
if product.Brand != "" {
vehicles[product.Brand] = true
}
}
}
meters := make(map[string]bool)
pvBattery := make(map[string]bool)
for _, tmpl := range templates.ByClass(templates.Meter) {
for i := range tmpl.Params {
if tmpl.Params[i].Name == "usage" {
for j := range tmpl.Params[i].Choice {
usage := tmpl.Params[i].Choice[j]
for _, product := range tmpl.Products {
if product.Brand != "" {
switch usage {
case "grid", "charge":
meters[product.Brand] = true
case "pv", "battery":
pvBattery[product.Brand] = true
}
}
}
}
}
}
}
brands := struct {
Chargers, SmartPlugs, Meters, PVBattery, Vehicles []string
}{
Chargers: sortedKeys(chargers),
SmartPlugs: sortedKeys(smartPlugs),
Meters: sortedKeys(meters),
PVBattery: sortedKeys(pvBattery),
Vehicles: sortedKeys(vehicles),
}
file, _ := json.MarshalIndent(brands, "", " ")
error := ioutil.WriteFile(websitePath+"/brands.json", file, 0644)
return error
}