From 33b780b4e9b56d45e55bb80e0872ad89af88fc04 Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 1 Apr 2023 12:37:50 +0200 Subject: [PATCH] chore: simplify templates and filter usage-bounded parameters (#7145) --- cmd/configure/configure.tpl | 50 +++---- templates/docs/meter/alpha-ess-smile_0.yaml | 2 - templates/docs/meter/e3dc_0.yaml | 2 - templates/docs/meter/fronius-gen24_0.yaml | 2 - templates/docs/meter/fronius-gen24_1.yaml | 2 - .../docs/meter/fronius-solarapi-v1_0.yaml | 2 - templates/docs/meter/goodwe-hybrid_0.yaml | 2 - .../docs/meter/growatt-hybrid-tlxh_0.yaml | 2 - templates/docs/meter/growatt-hybrid_0.yaml | 2 - .../meter/huawei-dongle-powersensor_0.yaml | 2 - .../docs/meter/huawei-sun2000-rs485_0.yaml | 2 - templates/docs/meter/kostal-piko_0.yaml | 2 - templates/docs/meter/kostal-plenticore_0.yaml | 1 - templates/docs/meter/lg-ess-home-8-10_0.yaml | 2 - templates/docs/meter/openems_0.yaml | 2 - templates/docs/meter/openems_1.yaml | 2 - templates/docs/meter/rct-power_0.yaml | 2 - templates/docs/meter/senec-home_0.yaml | 2 - templates/docs/meter/sma-data-manager_0.yaml | 2 - templates/docs/meter/sma-hybrid_0.yaml | 1 - templates/docs/meter/sma-inverter_0.yaml | 1 - templates/docs/meter/sofarsolar-g3_0.yaml | 2 - templates/docs/meter/sofarsolar-g3_1.yaml | 2 - templates/docs/meter/sofarsolar-g3_2.yaml | 2 - templates/docs/meter/sofarsolar-g3_3.yaml | 2 - templates/docs/meter/sofarsolar_0.yaml | 2 - templates/docs/meter/sofarsolar_1.yaml | 2 - templates/docs/meter/solaredge-hybrid_0.yaml | 2 - .../docs/meter/solarmax-maxstorage_0.yaml | 2 - .../meter/solarwatt-myreserve-matrix_0.yaml | 2 - templates/docs/meter/solarwatt_0.yaml | 2 - templates/docs/meter/solarwatt_1.yaml | 2 - .../docs/meter/solax-hybrid-cloud_0.yaml | 2 - templates/docs/meter/solax_0.yaml | 2 - templates/docs/meter/solax_1.yaml | 2 - templates/docs/meter/sonnenbatterie_0.yaml | 2 - templates/docs/meter/sungrow-hybrid_0.yaml | 2 - templates/docs/meter/sunspec-hybrid_0.yaml | 2 - templates/docs/meter/varta_0.yaml | 2 - templates/docs/meter/victron-energy_0.yaml | 2 - util/templates/documentation.tpl | 126 ++++++++---------- util/templates/includes/eebus-meter.tpl | 2 +- util/templates/includes/eebus-no-meter.tpl | 2 +- util/templates/includes/ocpp.tpl | 4 +- util/templates/includes/switchsocket.tpl | 2 +- util/templates/includes/vehicle-base.tpl | 12 +- util/templates/includes/vehicle-identify.tpl | 16 +-- 47 files changed, 98 insertions(+), 191 deletions(-) diff --git a/cmd/configure/configure.tpl b/cmd/configure/configure.tpl index 0d5514b31..1bc1e6d7b 100644 --- a/cmd/configure/configure.tpl +++ b/cmd/configure/configure.tpl @@ -12,7 +12,7 @@ levels: plant: {{ .Plant }} interval: 10s # control cycle interval -{{- if ne (len .SponsorToken) 0 }} +{{- if .SponsorToken }} sponsortoken: {{ .SponsorToken }} @@ -20,45 +20,45 @@ sponsortoken: {{ .SponsorToken }} # see https://github.com/evcc-io/evcc/discussions/4554 telemetry: {{ .Telemetry }} {{- end}} -{{- if ne (len .Meters) 0 }} +{{- if .Meters }} meters: -{{- range .Meters }} +{{- range .Meters }} - {{ .Yaml | indent 2 | trim }} -{{- end }} {{- end }} -{{- if ne (len .Chargers) 0 }} +{{- end }} +{{- if .Chargers }} chargers: -{{- range .Chargers }} +{{- range .Chargers }} - {{ .Yaml | indent 2 | trim }} -{{- end }} {{- end }} -{{- if ne (len .Vehicles) 0 }} +{{- end }} +{{- if .Vehicles }} vehicles: -{{- range .Vehicles }} +{{- range .Vehicles }} - {{ .Yaml | indent 2 | trim }} -{{- end }} {{- end }} -{{- if ne (len .Chargers) 0 }} +{{- end }} +{{- if .Chargers }} loadpoints: -{{- range .Loadpoints }} +{{- range .Loadpoints }} - title: {{ .Title }} charger: {{ .Charger }} -{{- if .ChargeMeter }} +{{- if .ChargeMeter }} meter: {{ .ChargeMeter }} -{{- end }} -{{- if .Vehicle }} +{{- end }} +{{- if .Vehicle }} vehicle: {{ .Vehicle }} -{{- end }} +{{- end }} mode: {{ .Mode }} phases: {{ .Phases }} mincurrent: {{ .MinCurrent }} maxcurrent: {{ .MaxCurrent }} resetOnDisconnect: {{ .ResetOnDisconnect }} -{{- end }} +{{- end }} {{- end }} site: @@ -67,24 +67,24 @@ site: {{- if .Site.Grid }} grid: {{ .Site.Grid }} {{- end }} -{{- if len .Site.PVs }} +{{- if .Site.PVs }} pv: -{{- range .Site.PVs }} + {{- range .Site.PVs }} - {{ . }} -{{- end }} + {{- end }} {{- end }} -{{- if len .Site.Batteries }} +{{- if .Site.Batteries }} battery: -{{- range .Site.Batteries }} + {{- range .Site.Batteries }} - {{ . }} -{{- end }} + {{- end }} {{- end }} -{{- if ne (len .Hems) 0 }} +{{- if .Hems }} hems: {{ .Hems | indent 2 }} {{- end }} -{{- if ne (len .EEBUS) 0 }} +{{- if .EEBUS }} eebus: {{ .EEBUS | indent 2 }} diff --git a/templates/docs/meter/alpha-ess-smile_0.yaml b/templates/docs/meter/alpha-ess-smile_0.yaml index 5f40111b0..be9809df9 100644 --- a/templates/docs/meter/alpha-ess-smile_0.yaml +++ b/templates/docs/meter/alpha-ess-smile_0.yaml @@ -49,7 +49,6 @@ render: id: 85 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 85 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/e3dc_0.yaml b/templates/docs/meter/e3dc_0.yaml index 64f95b135..b2612c40e 100644 --- a/templates/docs/meter/e3dc_0.yaml +++ b/templates/docs/meter/e3dc_0.yaml @@ -14,7 +14,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -28,7 +27,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/fronius-gen24_0.yaml b/templates/docs/meter/fronius-gen24_0.yaml index 6b99d96ed..74defad4e 100644 --- a/templates/docs/meter/fronius-gen24_0.yaml +++ b/templates/docs/meter/fronius-gen24_0.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/fronius-gen24_1.yaml b/templates/docs/meter/fronius-gen24_1.yaml index bd68960bd..70bcebf4c 100644 --- a/templates/docs/meter/fronius-gen24_1.yaml +++ b/templates/docs/meter/fronius-gen24_1.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/fronius-solarapi-v1_0.yaml b/templates/docs/meter/fronius-solarapi-v1_0.yaml index ec7bf1122..8afa95c94 100644 --- a/templates/docs/meter/fronius-solarapi-v1_0.yaml +++ b/templates/docs/meter/fronius-solarapi-v1_0.yaml @@ -13,7 +13,6 @@ render: template: fronius-solarapi-v1 usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -25,7 +24,6 @@ render: template: fronius-solarapi-v1 usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/goodwe-hybrid_0.yaml b/templates/docs/meter/goodwe-hybrid_0.yaml index 1638337a7..13e203afc 100644 --- a/templates/docs/meter/goodwe-hybrid_0.yaml +++ b/templates/docs/meter/goodwe-hybrid_0.yaml @@ -49,7 +49,6 @@ render: id: 247 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 247 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/growatt-hybrid-tlxh_0.yaml b/templates/docs/meter/growatt-hybrid-tlxh_0.yaml index 8ecce3732..3fa1ebbf0 100644 --- a/templates/docs/meter/growatt-hybrid-tlxh_0.yaml +++ b/templates/docs/meter/growatt-hybrid-tlxh_0.yaml @@ -49,7 +49,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/growatt-hybrid_0.yaml b/templates/docs/meter/growatt-hybrid_0.yaml index 85ac60b26..857299e3a 100644 --- a/templates/docs/meter/growatt-hybrid_0.yaml +++ b/templates/docs/meter/growatt-hybrid_0.yaml @@ -49,7 +49,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/huawei-dongle-powersensor_0.yaml b/templates/docs/meter/huawei-dongle-powersensor_0.yaml index a285f68cd..283f74da1 100644 --- a/templates/docs/meter/huawei-dongle-powersensor_0.yaml +++ b/templates/docs/meter/huawei-dongle-powersensor_0.yaml @@ -25,7 +25,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port timeout: 15s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -49,7 +48,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port timeout: 15s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/huawei-sun2000-rs485_0.yaml b/templates/docs/meter/huawei-sun2000-rs485_0.yaml index 40b3e1f2c..36cbcc6f8 100644 --- a/templates/docs/meter/huawei-sun2000-rs485_0.yaml +++ b/templates/docs/meter/huawei-sun2000-rs485_0.yaml @@ -50,7 +50,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port storageunit: 1 # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -99,7 +98,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port storageunit: 1 # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/kostal-piko_0.yaml b/templates/docs/meter/kostal-piko_0.yaml index 562dd8a33..b12ed4607 100644 --- a/templates/docs/meter/kostal-piko_0.yaml +++ b/templates/docs/meter/kostal-piko_0.yaml @@ -13,7 +13,6 @@ render: template: kostal-piko usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -25,7 +24,6 @@ render: template: kostal-piko usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/kostal-plenticore_0.yaml b/templates/docs/meter/kostal-plenticore_0.yaml index 08af79233..4c3cea22f 100644 --- a/templates/docs/meter/kostal-plenticore_0.yaml +++ b/templates/docs/meter/kostal-plenticore_0.yaml @@ -23,7 +23,6 @@ render: id: 71 host: 192.0.2.2 # Hostname port: 1502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/lg-ess-home-8-10_0.yaml b/templates/docs/meter/lg-ess-home-8-10_0.yaml index 272a5ef95..77b32b3f7 100644 --- a/templates/docs/meter/lg-ess-home-8-10_0.yaml +++ b/templates/docs/meter/lg-ess-home-8-10_0.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname registration: DE200... # Registriernummer des LG ESS HOME Wechselrichters. - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname registration: DE200... # Registriernummer des LG ESS HOME Wechselrichters. - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/openems_0.yaml b/templates/docs/meter/openems_0.yaml index 1c14a8805..94b9c8f1c 100644 --- a/templates/docs/meter/openems_0.yaml +++ b/templates/docs/meter/openems_0.yaml @@ -13,7 +13,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname password: user # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -26,7 +25,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname password: user # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/openems_1.yaml b/templates/docs/meter/openems_1.yaml index 50494c46d..2ee47db09 100644 --- a/templates/docs/meter/openems_1.yaml +++ b/templates/docs/meter/openems_1.yaml @@ -13,7 +13,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname password: user # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -26,7 +25,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname password: user # Passwort des Benutzerkontos (bei führenden Nullen bitte in einfache Hochkommata setzen) # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/rct-power_0.yaml b/templates/docs/meter/rct-power_0.yaml index ddf9336f9..87cd7cf66 100644 --- a/templates/docs/meter/rct-power_0.yaml +++ b/templates/docs/meter/rct-power_0.yaml @@ -13,7 +13,6 @@ render: template: rct-power usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -25,7 +24,6 @@ render: template: rct-power usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/senec-home_0.yaml b/templates/docs/meter/senec-home_0.yaml index 494fd0ed6..2632c556e 100644 --- a/templates/docs/meter/senec-home_0.yaml +++ b/templates/docs/meter/senec-home_0.yaml @@ -13,7 +13,6 @@ render: template: senec-home usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -25,7 +24,6 @@ render: template: senec-home usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sma-data-manager_0.yaml b/templates/docs/meter/sma-data-manager_0.yaml index 1efa64fce..aec6d2eb8 100644 --- a/templates/docs/meter/sma-data-manager_0.yaml +++ b/templates/docs/meter/sma-data-manager_0.yaml @@ -17,7 +17,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -31,7 +30,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sma-hybrid_0.yaml b/templates/docs/meter/sma-hybrid_0.yaml index 76446c8af..d280364ba 100644 --- a/templates/docs/meter/sma-hybrid_0.yaml +++ b/templates/docs/meter/sma-hybrid_0.yaml @@ -23,7 +23,6 @@ render: id: 3 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sma-inverter_0.yaml b/templates/docs/meter/sma-inverter_0.yaml index 02ecc7ee6..8a4c0a2f3 100644 --- a/templates/docs/meter/sma-inverter_0.yaml +++ b/templates/docs/meter/sma-inverter_0.yaml @@ -15,7 +15,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname password: # Passwort für Benutzergruppe Benutzer # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sofarsolar-g3_0.yaml b/templates/docs/meter/sofarsolar-g3_0.yaml index de5ca9179..816db6572 100644 --- a/templates/docs/meter/sofarsolar-g3_0.yaml +++ b/templates/docs/meter/sofarsolar-g3_0.yaml @@ -51,7 +51,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -101,7 +100,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sofarsolar-g3_1.yaml b/templates/docs/meter/sofarsolar-g3_1.yaml index 511c67b9a..e100909fc 100644 --- a/templates/docs/meter/sofarsolar-g3_1.yaml +++ b/templates/docs/meter/sofarsolar-g3_1.yaml @@ -51,7 +51,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -101,7 +100,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sofarsolar-g3_2.yaml b/templates/docs/meter/sofarsolar-g3_2.yaml index 768fcbf3c..e66a8c4f1 100644 --- a/templates/docs/meter/sofarsolar-g3_2.yaml +++ b/templates/docs/meter/sofarsolar-g3_2.yaml @@ -51,7 +51,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -101,7 +100,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sofarsolar-g3_3.yaml b/templates/docs/meter/sofarsolar-g3_3.yaml index 7ad973773..aef744986 100644 --- a/templates/docs/meter/sofarsolar-g3_3.yaml +++ b/templates/docs/meter/sofarsolar-g3_3.yaml @@ -51,7 +51,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -101,7 +100,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port delay: 1s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sofarsolar_0.yaml b/templates/docs/meter/sofarsolar_0.yaml index d960d7464..26a46c173 100644 --- a/templates/docs/meter/sofarsolar_0.yaml +++ b/templates/docs/meter/sofarsolar_0.yaml @@ -49,7 +49,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sofarsolar_1.yaml b/templates/docs/meter/sofarsolar_1.yaml index 547e8a21e..adbc4a23b 100644 --- a/templates/docs/meter/sofarsolar_1.yaml +++ b/templates/docs/meter/sofarsolar_1.yaml @@ -49,7 +49,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solaredge-hybrid_0.yaml b/templates/docs/meter/solaredge-hybrid_0.yaml index a742d2d4b..bd465eadd 100644 --- a/templates/docs/meter/solaredge-hybrid_0.yaml +++ b/templates/docs/meter/solaredge-hybrid_0.yaml @@ -52,7 +52,6 @@ render: host: 192.0.2.2 # Hostname port: 1502 # Port timeout: 10s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -101,7 +100,6 @@ render: host: 192.0.2.2 # Hostname port: 1502 # Port timeout: 10s # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solarmax-maxstorage_0.yaml b/templates/docs/meter/solarmax-maxstorage_0.yaml index 50068b8c9..606130310 100644 --- a/templates/docs/meter/solarmax-maxstorage_0.yaml +++ b/templates/docs/meter/solarmax-maxstorage_0.yaml @@ -23,7 +23,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -45,7 +44,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solarwatt-myreserve-matrix_0.yaml b/templates/docs/meter/solarwatt-myreserve-matrix_0.yaml index 233617857..a0ff31737 100644 --- a/templates/docs/meter/solarwatt-myreserve-matrix_0.yaml +++ b/templates/docs/meter/solarwatt-myreserve-matrix_0.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 8080 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 8080 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solarwatt_0.yaml b/templates/docs/meter/solarwatt_0.yaml index ced48b723..b55f276b5 100644 --- a/templates/docs/meter/solarwatt_0.yaml +++ b/templates/docs/meter/solarwatt_0.yaml @@ -13,7 +13,6 @@ render: template: solarwatt usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -25,7 +24,6 @@ render: template: solarwatt usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solarwatt_1.yaml b/templates/docs/meter/solarwatt_1.yaml index 7f3b03cd6..ce136b4d7 100644 --- a/templates/docs/meter/solarwatt_1.yaml +++ b/templates/docs/meter/solarwatt_1.yaml @@ -13,7 +13,6 @@ render: template: solarwatt usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -25,7 +24,6 @@ render: template: solarwatt usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solax-hybrid-cloud_0.yaml b/templates/docs/meter/solax-hybrid-cloud_0.yaml index 8cdb3da63..2b76b1c71 100644 --- a/templates/docs/meter/solax-hybrid-cloud_0.yaml +++ b/templates/docs/meter/solax-hybrid-cloud_0.yaml @@ -20,7 +20,6 @@ render: usage: grid tokenid: # Auf https://www.solaxcloud.com/#/api den Wert von "ObtaintokenID" hier eintragen. serial: # Auf https://www.solaxcloud.com/#/inverter die Registriernummer hier eintragen. - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -34,7 +33,6 @@ render: usage: pv tokenid: # Auf https://www.solaxcloud.com/#/api den Wert von "ObtaintokenID" hier eintragen. serial: # Auf https://www.solaxcloud.com/#/inverter die Registriernummer hier eintragen. - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solax_0.yaml b/templates/docs/meter/solax_0.yaml index 8e9fcbbff..469b0aea8 100644 --- a/templates/docs/meter/solax_0.yaml +++ b/templates/docs/meter/solax_0.yaml @@ -49,7 +49,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/solax_1.yaml b/templates/docs/meter/solax_1.yaml index edfd5f96a..357779055 100644 --- a/templates/docs/meter/solax_1.yaml +++ b/templates/docs/meter/solax_1.yaml @@ -49,7 +49,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -97,7 +96,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sonnenbatterie_0.yaml b/templates/docs/meter/sonnenbatterie_0.yaml index 0d066f6f3..95191ad08 100644 --- a/templates/docs/meter/sonnenbatterie_0.yaml +++ b/templates/docs/meter/sonnenbatterie_0.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 8080 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 8080 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sungrow-hybrid_0.yaml b/templates/docs/meter/sungrow-hybrid_0.yaml index 2dfa95548..2e75eb5c9 100644 --- a/templates/docs/meter/sungrow-hybrid_0.yaml +++ b/templates/docs/meter/sungrow-hybrid_0.yaml @@ -51,7 +51,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -99,7 +98,6 @@ render: id: 1 host: 192.0.2.2 # Hostname port: 502 # Port - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/sunspec-hybrid_0.yaml b/templates/docs/meter/sunspec-hybrid_0.yaml index d56151036..1f43504fb 100644 --- a/templates/docs/meter/sunspec-hybrid_0.yaml +++ b/templates/docs/meter/sunspec-hybrid_0.yaml @@ -24,7 +24,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port integer: # Einstellung Float/Integer im Wechselrichter überprüfen # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -47,7 +46,6 @@ render: host: 192.0.2.2 # Hostname port: 502 # Port integer: # Einstellung Float/Integer im Wechselrichter überprüfen # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/varta_0.yaml b/templates/docs/meter/varta_0.yaml index cbad753e6..26ac1133a 100644 --- a/templates/docs/meter/varta_0.yaml +++ b/templates/docs/meter/varta_0.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/templates/docs/meter/victron-energy_0.yaml b/templates/docs/meter/victron-energy_0.yaml index 58061b921..46ce51623 100644 --- a/templates/docs/meter/victron-energy_0.yaml +++ b/templates/docs/meter/victron-energy_0.yaml @@ -15,7 +15,6 @@ render: usage: grid host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: pv default: | type: template @@ -29,7 +28,6 @@ render: usage: pv host: 192.0.2.2 # IP-Adresse oder Hostname port: 502 # Port # Optional - capacity: 50 # Akkukapazität in kWh # Optional - usage: battery default: | type: template diff --git a/util/templates/documentation.tpl b/util/templates/documentation.tpl index 56ca124e6..7c837ed34 100644 --- a/util/templates/documentation.tpl +++ b/util/templates/documentation.tpl @@ -1,3 +1,44 @@ +{{- define "param" }} + {{ .Name }}: + {{- if .Value }} {{ .Value }} {{- end }} + {{- range .Values }} + - {{ . }} + {{- end }} + {{- if .Help.DE }} # {{ .Help.DE }}{{- end }}{{- if not .IsRequired }} # Optional{{- end }} +{{- end }} + +{{- define "header" }} + type: template + template: {{ $.Template }} + {{- if hasKey . "Usage" }} + usage: {{ .Usage }} + {{- end }} +{{- end }} + +{{- define "default" }} + {{- include "header" . }} + {{- $usage := "" }}{{- if hasKey . "Usage" }}{{ $usage = .Usage }}{{ end }} + {{- range $.Params }} + {{- if eq .Name "modbus" }} + {{- $.Modbus | indent 2 -}} + {{- else if and (not .IsAdvanced) (or (or (not $usage) (not .Usages)) (and $usage .Usages (has $usage .Usages))) }} + {{- template "param" . }} + {{- end }} + {{- end }} +{{- end }} + +{{- define "advanced" }} + {{- include "header" . }} + {{- $usage := "" }}{{- if hasKey . "Usage" }}{{ $usage = .Usage }}{{ end }} + {{- range $.Params }} + {{- if eq .Name "modbus" }} + {{- $.Modbus | indent 2 -}} + {{- else if or (or (not $usage) (not .Usages)) (and $usage .Usages (has $usage .Usages)) }} + {{- template "param" . }} + {{- end -}} + {{- end -}} +{{- end -}} + product: {{- if .ProductBrand }} brand: {{ .ProductBrand }} @@ -19,82 +60,23 @@ description: | {{ .RequirementDescription | indent 2 }} {{- end }} render: -{{- if .Usages -}}{{ range .Usages }} - - usage: {{ . }} +{{- if .Usages -}} +{{- $content := . }} +{{- range $usage := .Usages }} +{{- $_ := set $content "Usage" $usage }} + - usage: {{ $usage }} default: | - type: template - template: {{ $.Template }} - usage: {{ . }} - {{- range $.Params }} - {{- if eq .Name "modbus" -}} -{{ $.Modbus | indent 6 -}} - {{- else if ne .IsAdvanced true }} - {{ .Name }}: - {{- if len .Value }} {{ .Value }} {{- end }} - {{- if ne (len .Values) 0 }} - {{ range .Values }} - - {{ . }} - {{ end }} - {{- end }} - {{- if .Help.DE }} # {{ .Help.DE }}{{ end }}{{ if eq .IsRequired false }} # Optional{{ end }} - {{- end -}} - {{- end -}} -{{- if $.AdvancedParams }} + {{- include "default" $content | indent 4 }} + {{- if $.AdvancedParams }} advanced: | - type: template - template: {{ $.Template }} - usage: {{ . }} - {{- range $.Params }} - {{- if eq .Name "modbus" -}} -{{ $.Modbus | indent 6 -}} - {{- else }} - {{ .Name }}: - {{- if len .Value }} {{ .Value }} {{- end }} - {{- if ne (len .Values) 0 }} - {{ range .Values }} - - {{ . }} - {{- end }} - {{- end }} - {{- if .Help.DE }} # {{ .Help.DE }}{{ end }}{{ if ne .IsRequired true }} # Optional{{ end }} - {{- end -}} - {{- end -}} -{{ end }} + {{- include "advanced" $content | indent 4 }} + {{- end }} {{- end }} {{- else }} - default: | - type: template - template: {{ $.Template }} - {{- range $.Params }} - {{- if eq .Name "modbus" -}} -{{ $.Modbus | indent 6 -}} - {{- else if ne .IsAdvanced true }} - {{ .Name }}: - {{- if len .Value }} {{ .Value }} {{- end }} - {{- if ne (len .Values) 0 }} - {{ range .Values }} - - {{ . }} - {{- end }} - {{- end }} - {{- if .Help.DE }} # {{ .Help.DE }}{{ end }}{{ if ne .IsRequired true }} # Optional{{ end }} - {{- end -}} - {{- end -}} -{{- if $.AdvancedParams }} + {{- include "default" . | indent 4 }} + {{- if $.AdvancedParams }} advanced: | - type: template - template: {{ $.Template }} - {{- range $.Params }} - {{- if eq .Name "modbus" -}} -{{ $.Modbus | indent 6 -}} - {{- else }} - {{ .Name }}: - {{- if len .Value }} {{ .Value }} {{- end }} - {{- if ne (len .Values) 0 }} - {{ range .Values }} - - {{ . }} - {{- end }} - {{- end }} - {{- if .Help.DE }} # {{ .Help.DE }}{{ end }}{{ if ne .IsRequired true }} # Optional{{ end }} - {{- end -}} - {{- end -}} -{{- end }} + {{- include "advanced" . | indent 4 }} + {{- end }} {{- end }} diff --git a/util/templates/includes/eebus-meter.tpl b/util/templates/includes/eebus-meter.tpl index c1a0c4552..a4c5b7e22 100644 --- a/util/templates/includes/eebus-meter.tpl +++ b/util/templates/includes/eebus-meter.tpl @@ -1,6 +1,6 @@ {{ define "eebus-meter" }} type: eebus ski: {{ .ski }} -{{ if ne .ip "" }}ip: {{ .ip }}{{ end }} +{{ if .ip }}ip: {{ .ip }}{{ end }} meter: true {{- end }} diff --git a/util/templates/includes/eebus-no-meter.tpl b/util/templates/includes/eebus-no-meter.tpl index 4d834a45f..93a65bfdb 100644 --- a/util/templates/includes/eebus-no-meter.tpl +++ b/util/templates/includes/eebus-no-meter.tpl @@ -1,5 +1,5 @@ {{ define "eebus-no-meter" }} type: eebus ski: {{ .ski }} -{{ if ne .ip "" }}ip: {{ .ip }}{{ end }} +{{ if .ip }}ip: {{ .ip }}{{ end }} {{- end}} diff --git a/util/templates/includes/ocpp.tpl b/util/templates/includes/ocpp.tpl index 02dc279f9..74153fd03 100644 --- a/util/templates/includes/ocpp.tpl +++ b/util/templates/includes/ocpp.tpl @@ -1,12 +1,12 @@ {{ define "ocpp" }} type: ocpp -{{- if ne .stationid "" }} +{{- if .stationid }} stationid: {{ .stationid }} {{- end }} {{- if ne .connector "1" }} connector: {{ .connector }} {{- end }} -{{- if ne .idtag "" }} +{{- if .idtag }} idtag: {{ .idtag }} {{- end }} connecttimeout: {{ .connecttimeout }} diff --git a/util/templates/includes/switchsocket.tpl b/util/templates/includes/switchsocket.tpl index 23810914a..4d29228be 100644 --- a/util/templates/includes/switchsocket.tpl +++ b/util/templates/includes/switchsocket.tpl @@ -1,5 +1,5 @@ {{ define "switchsocket" }} standbypower: {{ .standbypower }} {{ if eq .integrateddevice "true" }}features: ["integrateddevice"]{{ end }} -{{ if ne .icon "" }}icon: {{ .icon }}{{ end }} +{{ if .icon }}icon: {{ .icon }}{{ end }} {{ end -}} diff --git a/util/templates/includes/vehicle-base.tpl b/util/templates/includes/vehicle-base.tpl index 3fa462ac3..2f1ff9097 100644 --- a/util/templates/includes/vehicle-base.tpl +++ b/util/templates/includes/vehicle-base.tpl @@ -1,22 +1,22 @@ {{ define "vehicle-base" }} -{{- if ne .title "" }} +{{- if .title }} title: {{ .title }} {{- end }} -{{- if ne .icon "" }} +{{- if .icon }} icon: {{ .icon }} {{- end }} user: {{ .user }} password: {{ .password }} -{{- if ne .capacity "" }} +{{- if .capacity }} capacity: {{ .capacity }} {{- end }} -{{- if ne .vin "" }} +{{- if .vin }} vin: {{ .vin }} {{- end }} -{{- if ne .phases "" }} +{{- if .phases }} phases: {{ .phases }} {{- end }} -{{- if ne .cache "" }} +{{- if .cache }} cache: {{ .cache }} {{- end }} {{- end }} diff --git a/util/templates/includes/vehicle-identify.tpl b/util/templates/includes/vehicle-identify.tpl index 6dcf987cd..e67f454db 100644 --- a/util/templates/includes/vehicle-identify.tpl +++ b/util/templates/includes/vehicle-identify.tpl @@ -1,26 +1,26 @@ {{ define "vehicle-identify" }} -{{- if or (ne .mode "") (ne .minSoc "") (ne .targetSoc "") (ne .minCurrent "") (ne .maxCurrent "") (ne .priority "") }} +{{- if or .mode .minSoc .targetSoc .minCurrent .maxCurrent .priority }} onIdentify: -{{- if (ne .mode "") }} +{{- if .mode }} mode: {{ .mode }} {{- end }} -{{- if (ne .minSoc "") }} +{{- if .minSoc }} minSoc: {{ .minSoc }} {{- end }} -{{- if (ne .targetSoc "") }} +{{- if .targetSoc }} targetSoc: {{ .targetSoc }} {{- end }} -{{- if (ne .minCurrent "") }} +{{- if .minCurrent }} minCurrent: {{ .minCurrent }} {{- end }} -{{- if (ne .maxCurrent "") }} +{{- if .maxCurrent }} maxCurrent: {{ .maxCurrent }} {{- end }} -{{- if (ne .priority "") }} +{{- if .priority }} priority: {{ .priority }} {{- end }} {{- end }} -{{- if ne (len .identifiers) 0 }} +{{- if len .identifiers }} identifiers: {{- range .identifiers }} - {{ . }}