Autoupdate Supported Brands on Website (#3133)
This commit is contained in:
parent
e3a598add8
commit
d356298d53
60 changed files with 307 additions and 117 deletions
47
.github/workflows/website.yml
vendored
Normal file
47
.github/workflows/website.yml
vendored
Normal 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() }}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
template: shelly
|
||||
products:
|
||||
- description:
|
||||
generic: Shelly
|
||||
- brand: Shelly
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: host
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
template: tasmota
|
||||
products:
|
||||
- description:
|
||||
generic: Tasmota
|
||||
- brand: Tasmota
|
||||
group: switchsockets
|
||||
params:
|
||||
- name: host
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
template: solaredge-hybrid
|
||||
products:
|
||||
- brand: Solaredge
|
||||
- brand: SolarEdge
|
||||
description:
|
||||
generic: Hybrid
|
||||
guidedsetup:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
template: solaredge-inverter
|
||||
products:
|
||||
- brand: Solaredge
|
||||
- brand: SolarEdge
|
||||
description:
|
||||
de: Wechselrichter
|
||||
en: Inverter
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WAUZZZ...
|
||||
- name: capacity
|
||||
default: 60
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: etron
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WBMW...
|
||||
- name: capacity
|
||||
default: 65
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: bmw
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 50
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: carwings
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 50
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: ds
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ params:
|
|||
- name: token
|
||||
required: true
|
||||
- name: capacity
|
||||
default: 64
|
||||
valuetype: float
|
||||
- name: phases
|
||||
advanced: true
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ params:
|
|||
- preset: vehiclebase
|
||||
- name: vin
|
||||
example: ZFAE...
|
||||
- name: capacity
|
||||
default: 42
|
||||
- name: pin
|
||||
mask: true
|
||||
- preset: vehicleidentify
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WF0FXX...
|
||||
- name: capacity
|
||||
default: 10
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: ford
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ params:
|
|||
- preset: vehiclebase
|
||||
- preset: vehiclelanguage
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 64
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: hyundai
|
||||
|
|
|
|||
|
|
@ -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" . }}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ params:
|
|||
- preset: vehiclebase
|
||||
- preset: vehiclelanguage
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 64
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: kia
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WBMW...
|
||||
- name: capacity
|
||||
default: 32
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: mini
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 60
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: nissan
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WP0...
|
||||
- name: capacity
|
||||
default: 50
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: opel
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 50
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: peugeot
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 83.4
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: porsche
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WREN...
|
||||
- name: capacity
|
||||
default: 60
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: renault
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 10
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: cupra
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ params:
|
|||
- name: vin
|
||||
example: W...
|
||||
- name: capacity
|
||||
default: 90
|
||||
- name: phases
|
||||
advanced: true
|
||||
- preset: vehicleidentify
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ products:
|
|||
params:
|
||||
- preset: vehiclebase
|
||||
- preset: vehicleidentify
|
||||
- name: capacity
|
||||
default: 50
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: volvo
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WVWZZZ...
|
||||
- name: capacity
|
||||
default: 50
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: id
|
||||
|
|
|
|||
|
|
@ -12,8 +12,6 @@ params:
|
|||
- preset: vehicleidentify
|
||||
- name: vin
|
||||
example: WVWZZZ...
|
||||
- name: capacity
|
||||
default: 10
|
||||
- preset: vehiclecloud
|
||||
render: |
|
||||
type: vw
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
product:
|
||||
description: Shelly
|
||||
brand: Shelly
|
||||
group: Schaltbare Steckdosen
|
||||
render:
|
||||
- default: |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
product:
|
||||
description: Tasmota
|
||||
brand: Tasmota
|
||||
group: Schaltbare Steckdosen
|
||||
render:
|
||||
- default: |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
product:
|
||||
brand: Solaredge
|
||||
brand: SolarEdge
|
||||
description: Hybrid
|
||||
description: |
|
||||
Nur ein System kann auf den Wechselrichter zugreifen!
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
product:
|
||||
brand: Solaredge
|
||||
brand: SolarEdge
|
||||
description: Wechselrichter
|
||||
render:
|
||||
- usage: grid
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
product:
|
||||
brand: Citroen
|
||||
brand: Citroën
|
||||
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: 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
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
product:
|
||||
brand: Skoda
|
||||
brand: Škoda
|
||||
description: Enyaq
|
||||
render:
|
||||
- default: |
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
1
templates/evcc.io/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
!*.json
|
||||
117
templates/evcc.io/brands.json
Normal file
117
templates/evcc.io/brands.json
Normal 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"
|
||||
]
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue