Add cli-configure templates and generated docs (#1951)

Add the current template definitions for the upcoming cli configure command, and the generated documentation files that will be included in the documentation website
This commit is contained in:
Andreas Linde 2021-11-28 19:36:16 +01:00 • committed by GitHub
parent 51d412c504
commit aeb67da85f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
207 changed files with 2542 additions and 0 deletions

View file

@ -0,0 +1,10 @@
template: abl
description: ABL eMH / SENEC.Wallbox pro
requirements:
sponsorship: true
params:
- name: modbus
choice: ["rs485"]
render: |
type: abl
{{include "modbus" .}}

View file

@ -0,0 +1,10 @@
template: cfos_charger
description: cFos PowerBrain
requirements:
sponsorship: true
params:
- name: modbus
choice: ["tcpip"]
render: |
type: cfos
{{include "modbus" .}}

View file

@ -0,0 +1,18 @@
template: easee
description: Easee Home (Cloud API)
requirements:
sponsorship: true
params:
- name: user
required: true
- name: password
required: true
mask: true
- name: charger
required: true
example: EH______
render: |
type: easee
user: {{ .user }}
password: {{ .password }}
charger: {{ .charger }}

View file

@ -0,0 +1,22 @@
template: eebus
description: EEBUS kompatible Wallbox
generic: true
requirements:
eebus: true
params:
- name: ski
required: true
example:
help:
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
- name: enforcePVLimits
default: true
valuetype: bool
help:
en: Use PV charging via overload protection (just as usual wallboxes do it) with vehicles supporting ISO15519
de: Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118
render: |
type: eebus
ski: {{ .ski }}
forcePVLimits: {{ .enforcePVLimits }}

View file

@ -0,0 +1,8 @@
template: evse_din
description: EVSE DIN
params:
- name: modbus
choice: ["rs485"]
render: |
type: simpleevse
{{include "modbus" .}}

View file

@ -0,0 +1,9 @@
template: evsewifi
description: EVSE-Wifi
params:
- name: host
required: true
example: 192.0.2.2
render: |
type: evsewifi
uri: http://{{ .host }}

View file

@ -0,0 +1,26 @@
template: fritzdect
description: FritzDECT
params:
- name: uri
default: https://fritz.box
- name: user
required: true
- name: password
required: true
mask: true
- name: ain
required: true
mask: true
example: '007788992233'
help:
en: The AIN is printed on the type label on the back of the device.
de: Die AIN ist auf dem Typenschild auf der Geräterückseite aufgedruckt.
- name: standbypower
default: 15
render: |
type: fritzdect
uri: {{ .uri }}
user: {{ .user }}
password: {{ .password }}
ain: {{ .ain }} # switch actor identification number without blanks (see AIN number on switch sticker)
standbypower: {{ .standbypower }} # treat as charging above this power

View file

@ -0,0 +1,14 @@
template: go-e
description: go-eCharger Home/Pro/V3
requirements:
description:
en: Models Home and Pro required firmware 040.0 or later.
de: Bei den Modellen Home und Pro ist mindestens Firmware 040.0 oder höher erforderlich.
uri: https://docs.evcc.io/docs/devices/chargers#go-echarger-homeprov3
params:
- name: host
required: true
example: 192.0.2.2
render: |
type: go-e
uri: http://{{ .host }}

View file

@ -0,0 +1,10 @@
template: heidelberg
description: Heidelberg Energy Control (Modbus RTU)
requirements:
sponsorship: true
params:
- name: modbus
choice: ["rs485"]
render: |
type: heidelberg
{{include "modbus" .}}

View file

@ -0,0 +1,35 @@
template: ichargecion
description: i-CHARGE CION (Modbus RTU-over-TCP)
params:
- name: modbus
choice: ["tcpip"]
render: |
type: custom
status:
source: modbus
{{include "modbus" . | indent 2}}
register: # manual register configuration
address: 139 # CP-Status
type: holding
decode: uint16
enabled:
source: modbus
{{include "modbus" . | indent 2}}
register: # manual register configuration
address: 100 # Zustand
type: holding
decode: uint16
enable:
source: modbus
{{include "modbus" . | indent 2}}
register: # manual register configuration
address: 100 # ein / aus
type: writesingle
decode: uint16
maxcurrent:
source: modbus
{{include "modbus" . | indent 2}}
register: # manual register configuration
address: 127 # Strom max
type: writesingle
decode: uint16

View file

@ -0,0 +1,19 @@
template: keba
description: KEBA Connect
requirements:
description:
en: This requires the UDP function to be enabled with DIP 1.3 = ON, see the installation manual.
de: Es muss eine sogenannte UDP Funktion über den DIP Schalter 1.3 eingeschaltet (ON) werden. Die Installationsanleitung der Wallbox hilft hier weiter.
uri: https://docs.evcc.io/docs/devices/chargers#keba-connect
params:
- name: host
required: true
example: 192.0.2.2
- name: rfid
render: |
type: keba
uri: {{ .host }}
{{ if ne .rfid "" }}
rfid:
tag: {{ .rfid }}
{{ end }}

View file

@ -0,0 +1,11 @@
template: nrgkick-bluetooth
description: NRGKick Bluetooth
params:
- name: mac
required: true
- name: pin
required: true
render: |
type: nrgkick-bluetooth
mac: {{ .mac }}
pin: {{ .pin }}

View file

@ -0,0 +1,16 @@
template: nrgkick-connect
description: NRGKick Connect
params:
- name: host
required: true
example: 192.0.2.2
- name: mac
required: true
- name: password
required: true
mask: true
render: |
type: nrgkick-connect
uri: http://{{ .host }}
mac: {{ .mac }} # BT device MAC address (sudo hcitool lescan)
password: {{ .password }}

View file

@ -0,0 +1,17 @@
template: openwb
description: openWB (MQTT)
requirements:
description:
en: The wallbox has to be configured running as a loadpoint.
de: Die Wallbox muss als Ladepunkt konfiguriert sein.
uri: https://docs.evcc.io/docs/devices/chargers#openwb
params:
- name: host
required: true
example: 192.0.2.2
- name: loadpointid
default: 1
render: |
type: openwb
broker: {{ .host }}
id: {{ .loadpointid }} # loadpoint id

View file

@ -0,0 +1,21 @@
template: phoenix-em-eth
description: Phoenix EM-CP-PP-ETH Controller (Modbus TCP)
generic: true
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#phoenix-contact
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: phoenix-em-eth
uri: {{ .host }}:{{ .port }}
meter: # only if a charge meter is connected to the controller
power: true
energy: true
currents: true

View file

@ -0,0 +1,21 @@
template: phoenix-ev-eth
description: Phoenix EV-ETH Controller (Modbus TCP)
generic: true
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#phoenix-contact
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: phoenix-ev-eth
uri: {{ .host }}:{{ .port }}
meter: # only if a charge meter is connected to the controller
power: true
energy: true
currents: true

View file

@ -0,0 +1,9 @@
template: phoenix-ev-ser
description: Phoenix EV-SER Controller (Modbus RTU)
generic: true
params:
- name: modbus
choice: ["rs485"]
render: |
type: phoenix-ev-ser
{{include "modbus" .}}

View file

@ -0,0 +1,21 @@
template: pmcc
description: Porsche Mobile Charger Connect
loglevel: eebus
requirements:
eebus: true
params:
- name: ski
required: true
help:
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
- name: enforcePVLimits
default: true
valuetype: bool
help:
en: Use PV charging via overload protection (just as usual wallboxes do it) with vehicles supporting ISO15519
de: Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118
render: |
type: eebus
ski: {{ .ski }}
forcePVLimits: {{ .enforcePVLimits }}

View file

@ -0,0 +1,14 @@
template: pmcc_http
description: Porsche Mobile Charger Connect (HTTP API)
loglevel: mcc
params:
- name: host
required: true
example: 192.0.2.2
- name: password
mask: true
required: true
render: |
type: mcc
uri: https://{{ .host }}
password: {{ .password }}

View file

@ -0,0 +1,15 @@
template: pmcp
description: Porsche Mobile Charger Plus
loglevel: eebus
requirements:
eebus: true
params:
- name: ski
required: true
help:
en: The SKI of the wallbox, can usually be found on the web interface of the wallbox
de: Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
render: |
type: eebus
ski: {{ .ski }}
forcePVLimits: true

View file

@ -0,0 +1,13 @@
template: shelly
description: Shelly
params:
- name: host
required: true
example: 192.0.2.2
- name: standbypower
default: 15
render: |
type: shelly
uri: http://{{ .host }} # shelly device ip address (local)
channel: 0 # shelly device relay channel
standbypower: {{ .standbypower }} # treat as charging above this power

View file

@ -0,0 +1,27 @@
template: tasmota
description: Tasmota
params:
- name: host
required: true
example: 192.0.2.2
- name: user
help:
en: (optional) in case user + password are defined
de: (optional) nur erforderlich falls diese Werte im Gerät gesetzt sind
- name: password
mask: true
help:
en: (optional) in case user + password are defined
de: (optional) nur erforderlich falls diese Werte im Gerät gesetzt sind
- name: standbypower
default: 15
render: |
type: tasmota
uri: http://{{ .host }} # shelly device ip address (local)
{{ if ne .user "" }}
user: {{ .user }}
{{ end }}
{{ if ne .password "" }}
password: {{ .password }}
{{ end }}
standbypower: {{ .standbypower }} # treat as charging above this power

View file

@ -0,0 +1,23 @@
template: tinkerforge_warp
description: TinkerForge WARP Charger
requirements:
description:
en: A MQTT Broker software needs to be running on a computer. The MQTT connection also needs to be configured in the wallbox.
de: Es muss ein sogennanter MQTT Broker auf einem Computer installiert sein. Die MQTT Verbindung muss in der Wallbox eingerichtet sein.
uri: https://docs.evcc.io/docs/devices/chargers#tinkerforge-warp-charger
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 1883
- name: topic
default: warp
- name: timeout
default: 30s
render: |
type: warp
broker: {{ .host }}:{{ .port }}
topic: {{ .topic }}
useMeter: false
timeout: {{ .timeout }}

View file

@ -0,0 +1,23 @@
template: tinkerforge_warp_pro
description: TinkerForge WARP Charger
requirements:
description:
en: A MQTT Broker software needs to be running on a computer. The MQTT connection also needs to be configured in the wallbox.
de: Es muss ein sogennanter MQTT Broker auf einem Computer installiert sein. Die MQTT Verbindung muss in der Wallbox eingerichtet sein.
uri: https://docs.evcc.io/docs/devices/chargers#tinkerforge-warp-charger
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 1883
- name: topic
default: warp
- name: timeout
default: 30s
render: |
type: warp
broker: {{ .host }}:{{ .port }}
topic: {{ .topic }}
useMeter: true
timeout: {{ .timeout }}

View file

@ -0,0 +1,12 @@
template: tplink
description: TP-LINK Smart Plug
params:
- name: host
required: true
example: 192.0.2.2
- name: standbypower
default: 15
render: |
type: tasmota
uri: {{ .host }}
standbypower: {{ .standbypower }} # treat as charging above this power

View file

@ -0,0 +1,17 @@
template: wallbe
description: Wallbe (Eco, Pro)
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 1883
render: |
type: wallbe
uri: {{ .host }}:{{ .port }}
legacy: false # set only for older Wallbe devices (pre ~2019, old controller firmware)

View file

@ -0,0 +1,17 @@
template: wallbe_pre2019
description: Wallbe (Eco, Pro) (pre ~2019)
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: wallbe
uri: {{ .host }}:{{ .port }}
legacy: true # set only for older Wallbe devices (pre ~2019, old controller firmware)

View file

@ -0,0 +1,21 @@
template: wallbe_pre2019_meter
description: Wallbe (Eco, Pro) (pre ~2019) with Meter
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: wallbe
uri: {{ .host }}:{{ .port }}
legacy: true # set only for older Wallbe devices (pre ~2019, old controller firmware)
meter: # only if a charge meter is connected to the controller
power: true
energy: true
currents: true

View file

@ -0,0 +1,21 @@
template: wallbe_meter
description: Wallbe (Eco, Pro) with Meter
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: wallbe
uri: {{ .host }}:{{ .port }}
legacy: false # set only for older Wallbe devices (pre ~2019, old controller firmware)
meter: # only if a charge meter is connected to the controller
power: true
energy: true
currents: true

View file

@ -0,0 +1,22 @@
template: wallbe_sdm
description: Wallbe (Eco, Pro) with SDM Meter
requirements:
description:
en: The Wallbe must be connected using Ethernet and the DIP switch 10 must be set to 'ON'.
de: Die Wallbox muss über ein Netzwerkkabel angebunden sein und im Gerät muss der DIP Schalter 10 auf 'ON' gestellt sein.
uri: https://docs.evcc.io/docs/devices/chargers#wallbe-ecopro
params:
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: wallbe
uri: {{ .host }}:{{ .port }}
legacy: false # set only for older Wallbe devices (pre ~2019, old controller firmware)
meter: # only if a charge meter is connected to the controller
power: true
energy: true
currents: true
encoding: sdm # add only when SDM meter is connected, see https://github.com/evcc-io/evcc/discussions/1398

View file

@ -0,0 +1,12 @@
template: cfos_meter
description: cFos PowerBrain
requirements:
sponsorship: true
params:
- name: usage
choice: [ "charger" ]
- name: modbus
choice: ["tcpip"]
render: |
type: cfos
{{include "modbus" .}}

View file

@ -0,0 +1,21 @@
template: discovergy
description: Discovergy (Cloud)
params:
- name: usage
choice: ["grid", "pv"]
- name: user
required: true
- name: password
required: true
mask: true
- name: meter
required: true
example: 1ESY1161229886
render: |
type: discovergy
user: {{ .user }}
password: {{ .password }} # password
meter: {{ .meter }}
{{- if eq .usage "pv" }}
scale: -1
{{- end }}

View file

@ -0,0 +1,37 @@
template: e3dc
description: E3DC
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 502
render: |
type: custom
power:
source: modbus
uri: {{ .host }}:{{ .port }}
register: # manual register configuration for E3/DC "Simple-Mode"
type: holding
decode: int32s
{{- if eq .usage "grid" }}
address: 40073 # Hausverbrauchs-Leistung in Watt
{{- end}}
{{- if eq .usage "pv" }}
address: 40067 # Photovoltaikleistung in Watt
{{- end}}
{{- if eq .usage "battery" }}
address: 40069 # Batterie-Leistung in Watt
scale: -1 # reverse direction
soc:
source: modbus
uri: {{ .host }}:{{ .port }}
register: # manual register configuration for E3/DC "Simple-Mode"
address: 40082 # Batterie-SOC in Prozent
type: holding
decode: uint16
{{- end}}

View file

@ -0,0 +1,14 @@
template: eastron
description: Eastron SDM Modbus Meter
params:
- name: usage
choice: ["grid", "pv", "battery", "charge"]
- name: modbus
choice: ["rs485"]
render: |
type: modbus
model: sdm # specific non-sunspec meter
{{- if eq .usage "charge" }}
energy: Sum # only required for charge meter usage
{{- end }}
{{include "modbus" .}}

View file

@ -0,0 +1,45 @@
template: fronius-gen24
description: Fronius Symo GEN24 Plus
guidedsetup:
enable: true
params:
- name: usage
choice: ["grid", "pv", "battery"]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 502
render: |
{{- if eq .usage "grid" }}
type: modbus
model: sunspec
uri: {{ .host }}:{{ .port }}
id: 200
power: 213:W # sunspec model 203 meter
{{- end }}
{{- if or (eq .usage "pv") (eq .usage "battery") }}
type: custom
power:
source: calc
add:
- source: modbus
model: sunspec
uri: {{ .host }}:{{ .port }}
id: 1
value: 160:3:DCW # mppt 3 charge
scale: -1
- source: modbus
model: sunspec
uri: {{ .host }}:{{ .port }}
id: 1
value: 160:4:DCW # mppt 4 discharge
{{- end }}
{{- if eq .usage "battery" }}
soc:
source: modbus
model: sunspec
uri: {{ .host }}:{{ .port }}
id: 1
value: ChargeState
{{- end }}

View file

@ -0,0 +1,28 @@
template: fronius-solarapi-v1
description: Fronius Solar API V1
guidedsetup:
enable: true
params:
- name: usage
choice: ["grid", "pv", "battery"]
- name: host
example: 192.0.2.2
required: true
render: |
type: custom
power:
source: http
uri: http://{{ .host }}/solar_api/v1/GetPowerFlowRealtimeData.fcgi
{{- if eq .usage "grid" }}
jq: if .Body.Data.Site.P_Grid == null then 0 else .Body.Data.Site.P_Grid end
{{- end }}
{{- if eq .usage "pv" }}
jq: if .Body.Data.Site.P_PV == null then 0 else .Body.Data.Site.P_PV end
{{- end }}
{{- if eq .usage "battery" }}
jq: if .Body.Data.Site.P_Akku == null then 0 else .Body.Data.Site.P_Akku end
soc:
source: http
uri: http://{{ .host }}/solar_api/v1/GetPowerFlowRealtimeData.fcgi
jq: .Body.Data.Inverters."1".SOC
{{- end }}

View file

@ -0,0 +1,17 @@
template: huawei_sun2000_8ktl
description: Huawei SUN2000-8KTL
params:
- name: usage
choice: [ "pv" ]
- name: modbus
choice: ["rs485"]
render: |
type: custom
power:
source: modbus
{{include "modbus" . | indent 2}}
# register details
register:
address: 40525
type: holding
decode: int32

View file

@ -0,0 +1,20 @@
template: kostal_piko_energy_meter
description: Kostal Piko (BA) Energy Meter
params:
- name: usage
choice: [ "grid" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 1502
render: |
type: custom
power:
source: modbus # use ModBus plugin
uri: {{ .host }}:{{ .port }} # inverter port
id: 71
register: # manual non-sunspec register configuration
address: 252 # (see ba_kostal_interface_modbus-tcp_sunspec.pdf)
type: holding
decode: float32s # may be float32 on specific firmware/devices

View file

@ -0,0 +1,34 @@
template: kostal_piko
description: Kostal Piko + Piko BA
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv" ]
- name: host
example: 192.0.2.2
required: true
render: |
type: custom
power:
{{- if eq .usage "grid" }}
# Grid
source: calc
add:
- source: http
uri: http://{{ .host }}/api/dxs.json?dxsEntries=67109120 # PV AC Ausgang
jq: .dxsEntries[0].value
scale: -1.0
- source: http
uri: http://{{ .host }}/api/dxs.json?dxsEntries=83886848 # Netzbezug
jq: .dxsEntries[0].value
- source: http
uri: http://{{ .host }}/api/dxs.json?dxsEntries=83886336 # PV Eigenverbrauch
jq: .dxsEntries[0].value
{{- end -}}
{{- if eq .usage "pv" }}
# PV
source: http
uri: http://{{ .host }}/api/dxs.json?dxsEntries=67109120 # PV AC Ausgang
jq: .dxsEntries[0].value
{{- end -}}

View file

@ -0,0 +1,24 @@
template: kostal_plenticore
description: Kostal Plenticore Hybrid
guidedsetup:
enable: true
linked:
- template: kostal_smart_energy_meter
usage: grid
params:
- name: usage
choice: [ "pv", "battery" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 1502
render: |
type: modbus
model: sunspec
uri: {{ .host }}:{{ .port }}
id: 71 # kostal default sunspec modbus id
{{- if eq .usage "battery" }}
power: 802:W # sunspec model 802 battery
soc: 802:SoC # sunspec model 802 battery
{{- end }}

View file

@ -0,0 +1,15 @@
template: kostal_smart_energy_meter
description: Kostal Smart Energy Meter
params:
- name: usage
choice: [ "grid" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 502
render: |
type: modbus
model: sunspec
uri: {{ .host }}:{{ .port }}
id: 71 # kostal default sunspec modbus id

View file

@ -0,0 +1,22 @@
template: lg_ess_home_8_10
description: LG ESS Home 8/10
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
- name: registration
required: true
example: "DE200..."
help:
en: Registration number of the LG ESS HOME inverter.
de: Registriernummer des LG ESS HOME Wechselrichters.
render: |
type: lgess
usage: {{ .usage }}
# uri and password are only required once if multiple lgess usages are defined
uri: https://{{ .host }}
password: {{ .registration }}

View file

@ -0,0 +1,43 @@
template: powerdog
description: Powerdog
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv" ]
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: custom
power:
{{- if eq .usage "grid" }}
source: calc #calculate current overall consumption + (current pv effort * (-1) )
add:
- source: modbus
uri: {{ .host }}:{{ .port }} #ip-adress and port (default-port: 502)
id: 1
register:
address: 40026 #register for overall consumption
type: holding
decode: int32
- source: modbus
uri: {{ .host }}:{{ .port }} #ip-adress and port (default-port: 502)
id: 1
register:
address: 40002 #register for pv effort
type: holding
decode: int32
scale: -1 #scale with -1 to get a substraction
{{- end }}
{{- if eq .usage "pv" }}
type: modbus
uri: {{ .host }}:{{ .port }} #ip-adress and port (default-port: 502)
id: 1
register:
address: 40002 #register for pv effort
type: holding
decode: int32
{{- end }}

View file

@ -0,0 +1,19 @@
template: powerfox_poweropti
description: Powerfox Poweropti (Cloud)
params:
- name: usage
choice: [ "grid" ]
- name: user
required: true
- name: password
required: true
render: |
type: custom
power:
source: http
uri: https://backend.powerfox.energy/api/2.0/my/main/current
auth:
type: basic
user: {{ .user }}
password: {{ .password }}
jq: .Watt

View file

@ -0,0 +1,15 @@
template: rct_power
description: RCT Power
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
render: |
type: rct
uri: {{ .host }}
usage: {{ .usage }}
cache: 2s

View file

@ -0,0 +1,34 @@
template: senec_home_linux
description: SENEC.Home (Linux)
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
- name: port
default: 8080
render: |
type: custom
power:
source: script
timeout: 5s
cmd: >
{{- if eq .usage "grid" }}
/bin/bash -c "set +H; curl --data '{\"ENERGY\":{\"GUI_GRID_POW\":\"\"}}' --header \"Content-Type: application/json\" --request POST http://{{ .host }}/lala.cgi | jq .ENERGY.GUI_GRID_POW | python3 -c 'import struct;print(struct.unpack(\"!f\",bytes.fromhex(input()[4:12]))[0])'"
scale: -1
{{- end }}
{{- if eq .usage "pv" }}
/bin/bash -c "set +H; curl --data '{\"ENERGY\":{\"GUI_INVERTER_POWER\":\"\"}}' --header \"Content-Type: application/json\" --request POST http://{{ .host }}/lala.cgi | jq .ENERGY.GUI_INVERTER_POWER | python3 -c 'import struct;print(struct.unpack(\"!f\",bytes.fromhex(input()[4:12]))[0])'"
{{- end }}
{{- if eq .usage "battery" }}
/bin/bash -c "set +H; curl --data '{\"ENERGY\":{\"GUI_BAT_DATA_POWER\":\"\"}}' --header \"Content-Type: application/json\" --request POST http://{{ .host }}/lala.cgi | jq .ENERGY.GUI_BAT_DATA_POWER | python3 -c 'import struct;print(struct.unpack(\"!f\",bytes.fromhex(input()[4:12]))[0])'"
scale: -1
soc:
source: script
cmd: >
/bin/bash -c "set +H; curl --data '{\"ENERGY\":{\"GUI_BAT_DATA_FUEL_CHARGE\":\"\"}}' --header \"Content-Type: application/json\" --request POST http://{{ .host }}/lala.cgi | jq .ENERGY.GUI_BAT_DATA_FUEL_CHARGE | python3 -c 'import struct;print(struct.unpack(\"!f\",bytes.fromhex(input()[4:12]))[0])'"
timeout: 5s
{{- end }}

View file

@ -0,0 +1,29 @@
template: shelly_3em
description: Shelly 3EM
params:
- name: usage
choice: [ "grid" ]
- name: host
required: true
example: 192.0.2.2
render: |
type: custom
power:
source: http
uri: http://{{ .host }}/status
jq: .emeters | map(.power) | add
energy:
source: http
uri: http://{{ .host }}/status
jq: .emeters | map(.total) | add
scale: 0.001
currents:
- source: http
uri: http://{{ .host }}/emeter/0
jq: .current
- source: http
uri: http://{{ .host }}/emeter/1
jq: .current
- source: http
uri: http://{{ .host }}/emeter/2
jq: .current

View file

@ -0,0 +1,11 @@
template: sma-energy-meter
description: SMA Energy Meter
params:
- name: usage
choice: ["grid", "pv", "battery"]
- name: host
example: 192.0.2.2
required: true
render: |
type: sma
uri: {{ .host }}

View file

@ -0,0 +1,23 @@
template: sma-home-manager
description: SMA Sunny Home Manager 2.0
requirements:
hems: sma
loglevel: sma
guidedsetup:
enable: true
linked:
- template: sma-energy-meter
usage: pv
- template: sma-inverter
usage: pv
- template: sma-inverter
usage: battery
params:
- name: usage
choice: ["grid"]
- name: host
example: 192.0.2.2
required: true
render: |
type: sma
uri: {{ .host }}

View file

@ -0,0 +1,19 @@
template: sma-inverter
description: SMA Inverter/Wechselrichter
params:
- name: usage
choice: ["pv", "battery"]
- name: host
example: 192.0.2.2
required: true
- name: password
mask: true
help:
en: Only required if the default password was changed
de: Wird nur benötigt, wenn das Standardpasswort geändert wurde
render: |
type: sma
uri: {{ .host }} # IP address or hostname
{{- if ne .password "" }}
password: {{ .password }} # optional
{{- end }}

View file

@ -0,0 +1,68 @@
template: solaredge-hybrid
description: Solaredge Hybrid
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
help:
en: Port 502 (SetApp) or 1502 (LCD)
de: Port 502 (SetApp) oder 1502 (LCD)
- name: timeout
default: 3s
render: |
type: custom
power:
{{- if eq .usage "grid" }}
source: modbus
model: sunspec
timeout: {{ .timeout }}
uri: {{ .host }}:{{ .port }} # Port 502 (SetApp) or 1502 (LCD)
id: 1
subdevice: 1 # Metering device
value: 203:W
scale: -1
{{- end }}
{{- if eq .usage "pv" }}
source: calc
add:
- source: modbus
model: sunspec
timeout: {{ .timeout }}
uri: {{ .host }}:{{ .port }} # Port 502 (SetApp) or 1502 (LCD)
id: 1
value: 103:DCW
- source: modbus
timeout: {{ .timeout }}
uri: {{ .host }}:{{ .port }} # Port 502 (SetApp) or 1502 (LCD)
id: 1
register:
address: 62836 # Battery 1 Instantaneous Power
type: holding
decode: float32s
{{- end }}
{{- if eq .usage "battery" }}
source: modbus
timeout: {{ .timeout }}
uri: {{ .host }}:{{ .port }} # Port 502 (SetApp) or 1502 (LCD)
id: 1
register:
address: 62836 # Battery 1 Instantaneous Power
type: holding
decode: float32s
scale: -1
soc:
source: modbus
timeout: {{ .timeout }}
uri: {{ .host }}:{{ .port }} # Port 502 (SetApp) or 1502 (LCD)
id: 1
register:
address: 62852 # Battery 1 State of Energy (SOE)
type: holding
decode: float32s
{{- end }}

View file

@ -0,0 +1,43 @@
template: solarlog
description: Solarlog
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 502
render: |
type: custom
power:
{{- if eq .usage "grid" }}
source: calc
add:
- source: modbus
uri: {{ .host }}:{{ .port }}
id: 1
register:
address: 3502 # Pac
type: input
decode: uint32s
scale: -1
- source: modbus
uri: {{ .host }}:{{ .port }}
id: 1
register:
address: 3518 # Pac consumption
type: input
decode: uint32s
{{- end }}
{{- if eq .usage "pv" }}
source: modbus
uri: {{ .host }}:{{ .port }}
id: 1
register:
address: 3502 # Pac
type: input
decode: uint32s
{{- end}}

View file

@ -0,0 +1,28 @@
template: solarwatt_myreserve
description: Solarwatt MyReserve
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
render: |
type: custom
power:
source: http
uri: http://{{ .host }}/rest/kiwigrid/wizard/devices # EnergyManager
{{- if eq .usage "grid" }}
jq: .result.items[] | select(.deviceModel[].deviceClass == "com.kiwigrid.devices.location.Location" ) | .tagValues.PowerConsumedFromGrid.value - .tagValues.PowerOut.value
{{- end }}
{{- if eq .usage "pv" }}
jq: .result.items[] | select(.deviceModel[].deviceClass == "com.kiwigrid.devices.location.Location" ) | .tagValues.PowerProduced.value
{{- end }}
{{- if eq .usage "battery" }}
jq: .result.items[] | select(.deviceModel[].deviceClass == "com.kiwigrid.devices.location.Location" ) | .tagValues.PowerConsumedFromStorage.value - .tagValues.PowerBuffered.value
soc:
source: http
uri: http://{{ .host }}/rest/kiwigrid/wizard/devices # EnergyManager
jq: .result.items[] | select(.deviceModel[].deviceClass == "com.kiwigrid.devices.solarwatt.MyReserve") | .tagValues.StateOfCharge.value
{{- end }}

View file

@ -0,0 +1,31 @@
template: sonnenbatterie_eco10
description: Sonnenbatterie Eco/10
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
- name: port
default: 8080
render: |
type: custom
power:
source: http
uri: http://{{ .host }}:{{ .port }}/api/v1/status
{{- if eq .usage "grid" }}
jq: .GridFeedIn_W
scale: -1 # reverse direction
{{- end }}
{{- if eq .usage "pv" }}
jq: .Production_W
{{- end }}
{{- if eq .usage "battery" }}
jq: .Pac_total_W
soc:
source: http
uri: http://{{ .host }}:{{ .port }}/api/v1/status
jq: .USOC
{{- end }}

View file

@ -0,0 +1,23 @@
template: sunspec
description: SunSpec compliant inverter
generic: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
example: 192.0.2.2
required: true
- name: id
default: 1
valuetype: number
render: |
type: modbus
model: sunspec
uri: {{ .host }}
id: {{ .id }}
{{- if eq .usage "grid" }}
power: 203:W # sunspec 3-phase meter power reading
{{- end -}}
{{- if eq .usage "battery" }}
soc: ChargeState
{{- end -}}

View file

@ -0,0 +1,21 @@
template: tesla_powerwall
description: Tesla Powerwall
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
- name: password
required: true
mask: true
help:
en: Password of the user customer
de: Passwort des Benutzers Kunde
render: |
type: tesla
uri: https://{{ .host }}/
usage: {{ .usage }}
password: {{ .password }} # for user 'customer'

View file

@ -0,0 +1,48 @@
template: varta_energiespeicher
description: VARTA Energiespeicher
guidedsetup:
enable: true
params:
- name: usage
choice: [ "grid", "pv", "battery" ]
- name: host
required: true
example: 192.0.2.2
- name: port
default: 502
render: |
type: custom
power:
source: modbus
uri: {{ .host }}:{{ .port }}
{{- if eq .usage "grid" }}
id: 255
register:
address: 1078 # grid power
type: input
decode: int16
scale: -1
{{- end }}
{{- if eq .usage "pv" }}
id: 255
register:
address: 1102 # PV-sensor power
type: input
decode: uint16
{{- end }}
{{- if eq .usage "battery" }}
id: 1
register:
address: 1066 # active power
type: input
decode: int16
scale: -1
soc:
source: modbus
uri: {{ .host }}:{{ .port }}
id: 1
register:
address: 1068 # SOC
type: input
decode: int16
{{- end }}

View file

@ -0,0 +1,19 @@
template: vzlogger_http
description: vzlogger (HTTP)
generic: true
params:
- name: usage
choice: [ "grid" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 80
- name: uuid
required: true
render: |
type: custom
power: # power reading
source: http # use http plugin
uri: http://{{ .host }}:{{ .port }}/api/data/{{ .uuid }}.json?from=now
jq: .data.tuples[0][1] # parse response json

View file

@ -0,0 +1,27 @@
template: vzlogger_importexport
description: vzlogger (Import & Export getrennt)
generic: true
params:
- name: usage
choice: [ "grid" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 80
- name: importuuid
required: true
- name: exportuuid
required: true
render: |
type: custom
power:
source: calc # use calc plugin
add:
- source: http # import channel
uri: http://{{ .host }}:{{ .port }}/api/data/{{ .importuuid }}.json?from=now
jq: .data.tuples[0][1] # parse response json
- source: http # export channel
uri: http://{{ .host }}:{{ .port }}/api/data/{{ .exportuuid }}.json?from=now
jq: .data.tuples[0][1] # parse response json
scale: -1 # export must result in negative values

View file

@ -0,0 +1,21 @@
template: vzlogger_ws
description: vzlogger (Websocket)
generic: true
params:
- name: usage
choice: [ "grid" ]
- name: host
example: 192.0.2.2
required: true
- name: port
default: 8082
- name: uuid
required: true
render: |
type: custom
power: # power reading
source: ws # use websocket plugin
uri: ws://{{ .host }}:{{ .port }}/socket
jq: .data | select(.uuid=="{{ .uuid }}") .tuples[0][1] # parse response json
timeout: 30s
scale: 1

View file

@ -0,0 +1,19 @@
template: audi
description: Audi
paramsbase: vehicle
params:
- name: vin
example: WAUZZZ...
- name: capacity
default: 60
render: |
type: audi
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,19 @@
template: bmw
description: BMW
paramsbase: vehicle
params:
- name: vin
example: WBMW...
- name: capacity
default: 65
render: |
type: bmw
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,17 @@
template: carwings
description: Nissan Leaf (pre 2019)
paramsbase: vehicle
params:
- name: capacity
default: 50
render: |
type: carwings
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,17 @@
template: citroen
description: Citroen
paramsbase: vehicle
params:
- name: capacity
default: 50
render: |
type: citroen
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,17 @@
template: ds
description: DS
paramsbase: vehicle
params:
- name: capacity
default: 50
render: |
type: ds
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,22 @@
template: evnotify
description: evNotify
params:
- name: title
- name: akey
required: true
- name: token
required: true
- name: capacity
default: 64
valuetype: float
render: |
type: custom
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
capacity: {{ .capacity }}
charge:
type: http
uri: https://app.evnotify.de/soc?akey={{ .akey }}&token={{ .token }} # evNotify Server + AKEY
method: GET
jq: .soc_display

View file

@ -0,0 +1,23 @@
template: fiat
description: Fiat
paramsbase: vehicle
params:
- name: pin
- name: vin
example: ZFAE...
- name: capacity
default: 42
render: |
type: fiat
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}
{{- if ne .pin "" }}
pin: {{ .pin }} #mandatory to deep refresh SoC
{{- end }}

View file

@ -0,0 +1,19 @@
template: ford
description: Ford
paramsbase: vehicle
params:
- name: vin
example: WF0FXX...
- name: capacity
default: 10
render: |
type: ford
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,14 @@
template: hyundai
description: Hyundai
paramsbase: vehicle
params:
- name: capacity
default: 64
render: |
type: hyundai
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}

View file

@ -0,0 +1,14 @@
template: kia
description: Kia
paramsbase: vehicle
params:
- name: capacity
default: 64
render: |
type: kia
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}

View file

@ -0,0 +1,19 @@
template: mini
description: Mini
paramsbase: vehicle
params:
- name: vin
example: WBMW...
- name: capacity
default: 32
render: |
type: mini
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,14 @@
template: nissan
description: Nissan
paramsbase: vehicle
params:
- name: capacity
default: 60
render: |
type: nissan
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}

View file

@ -0,0 +1,20 @@
template: niu
description: NIU E-Scooter
params:
- name: title
- name: user
required: true
- name: password
required: true
mask: true
- name: serial
required: true
render: |
type: niu
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }} # NIU app user
password: {{ .password }} # NIU app password
serial: {{ .serial }} # NIU E-Scooter serial number like shown in app
capacity: 4

View file

@ -0,0 +1,19 @@
template: opel
description: Opel
paramsbase: vehicle
params:
- name: vin
example: WP0...
- name: capacity
default: 50
render: |
type: opel
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,24 @@
template: ovms
description: Open Vehicle Monitoring System
params:
- name: title
- name: user
required: true
- name: password
required: true
mask: true
- name: vehicleid
required: true
- name: capacity
default: 12
render: |
type: ovms
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
vehicleid: {{ .vehicleid }} # vehicle id
capacity: {{ .capacity }}
server: dexters-web.de # used ovms server [dexters-web.de or api.openvehicles.com]

View file

@ -0,0 +1,17 @@
template: peugeot
description: Peugeot
paramsbase: vehicle
params:
- name: capacity
default: 50
render: |
type: peugeot
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,20 @@
template: porsche
description: Porsche
loglevel: porsche
paramsbase: vehicle
params:
- name: capacity
default: 83.4
render: |
type: porsche
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if .capacity }}
capacity: {{ .capacity }}
{{- end }}
{{- if .vin }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,19 @@
template: renault
description: Renault
paramsbase: vehicle
params:
- name: vin
example: WREN...
- name: capacity
default: 60
render: |
type: renault
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,19 @@
template: seat
description: Seat (Cupra, Mii)
paramsbase: vehicle
params:
- name: capacity
default: 10
render: |
type: seat
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if ne .capacity "" }}
capacity: {{ .capacity }}
{{- end }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,19 @@
template: skoda
description: Skoda (Citigo)
paramsbase: vehicle
params:
- name: capacity
default: 10
render: |
type: skoda
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if ne .capacity "" }}
capacity: {{ .capacity }}
{{- end }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,19 @@
template: enyaq
description: Skoda (Enyaq)
paramsbase: vehicle
params:
- name: capacity
default: 50
render: |
type: enyaq
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if ne .capacity "" }}
capacity: {{ .capacity }}
{{- end }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,30 @@
template: tesla
description: Tesla
params:
- name: title
- name: accessToken
required: true
help:
en: "See https://docs.evcc.io/docs/devices/vehicles#tesla"
de: "Siehe https://docs.evcc.io/docs/devices/vehicles#tesla"
- name: refreshToken
required: true
help:
en: "See https://docs.evcc.io/docs/devices/vehicles#tesla"
de: "Siehe https://docs.evcc.io/docs/devices/vehicles#tesla"
- name: vin
example: W...
- name: capacity
default: 90
render: |
type: tesla
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
tokens:
access: {{ .accessToken }}
refresh: {{ .refreshToken }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,33 @@
template: tronity
description: Tronity
requirements:
sponsorship: true
params:
- name: title
- name: userid
required: true
- name: secret
required: true
- name: accessToken
required: true
- name: refreshToken
required: true
- name: vin
example: W...
- name: capacity
default: 10
render: |
type: tronity
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
credentials:
id: {{ .userid }}
secret: {{ .secret }}
tokens:
access: {{ .accessToken }}
refresh: {{ .refreshToken }}
capacity: {{ .capacity }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,19 @@
template: volvo
description: Volvo
paramsbase: vehicle
params:
- name: capacity
default: 50
render: |
type: volvo
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if ne .capacity "" }}
capacity: {{ .capacity }}
{{- end }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,21 @@
template: vw
description: Volkswagen (We Connect)
paramsbase: vehicle
params:
- name: vin
example: WVWZZZ...
- name: capacity
default: 10
render: |
type: vw
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if ne .capacity "" }}
capacity: {{ .capacity }}
{{- end }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,22 @@
template: id
description: Volkswagen (We Connect ID)
loglevel: id
paramsbase: vehicle
params:
- name: vin
example: WVWZZZ...
- name: capacity
default: 50
render: |
type: id
{{- if ne .title "" }}
title: {{ .title }}
{{- end }}
user: {{ .user }}
password: {{ .password }}
{{- if ne .capacity "" }}
capacity: {{ .capacity }}
{{- end }}
{{- if ne .vin "" }}
vin: {{ .vin }}
{{- end }}

View file

@ -0,0 +1,3 @@
type: template
template: abl
description: ABL eMH / SENEC.Wallbox pro

View file

@ -0,0 +1,3 @@
type: template
template: cfos_charger
description: cFos PowerBrain

View file

@ -0,0 +1,6 @@
type: template
template: easee
description: Easee Home (Cloud API)
user:
password:
charger: EH______

View file

@ -0,0 +1,5 @@
type: template
template: eebus
description: EEBUS kompatible Wallbox
ski: # Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden
enforcePVLimits: true # Verwende PV Laden über eine Ladebegrenzung (wie herkömmliche Wallboxen) bei Fahrzeugen mit Unterstützung von ISO15118

View file

@ -0,0 +1,3 @@
type: template
template: evse_din
description: EVSE DIN

View file

@ -0,0 +1,4 @@
type: template
template: evsewifi
description: EVSE-Wifi
host: 192.0.2.2

View file

@ -0,0 +1,8 @@
type: template
template: fritzdect
description: FritzDECT
uri: https://fritz.box
user:
password:
ain: 007788992233 # Die AIN ist auf dem Typenschild auf der Geräterückseite aufgedruckt.
standbypower: 15

View file

@ -0,0 +1,4 @@
type: template
template: go-e
description: go-eCharger Home/Pro/V3
host: 192.0.2.2

View file

@ -0,0 +1,3 @@
type: template
template: heidelberg
description: Heidelberg Energy Control (Modbus RTU)

View file

@ -0,0 +1,3 @@
type: template
template: ichargecion
description: i-CHARGE CION (Modbus RTU-over-TCP)

View file

@ -0,0 +1,4 @@
type: template
template: keba
description: KEBA Connect
host: 192.0.2.2

View file

@ -0,0 +1,5 @@
type: template
template: nrgkick-bluetooth
description: NRGKick Bluetooth
mac:
pin:

View file

@ -0,0 +1,6 @@
type: template
template: nrgkick-connect
description: NRGKick Connect
host: 192.0.2.2
mac:
password:

View file

@ -0,0 +1,5 @@
type: template
template: openwb
description: openWB (MQTT)
host: 192.0.2.2
loadpointid: 1

Some files were not shown because too many files have changed in this diff Show more