diff --git a/cmd/configure/configure.go b/cmd/configure/configure.go index 1c748c147..2d1dbcd82 100644 --- a/cmd/configure/configure.go +++ b/cmd/configure/configure.go @@ -3,11 +3,9 @@ package configure import ( "bytes" _ "embed" - "fmt" "text/template" "github.com/Masterminds/sprig/v3" - "github.com/thoas/go-funk" ) type device struct { @@ -40,7 +38,6 @@ type config struct { PVs []string Batteries []string } - LogLevels []string Hems string EEBUS string SponsorToken string @@ -50,26 +47,13 @@ type Configure struct { config config } -// AddLogLevel adds a log level for a specific device name to the configuration -func (c *Configure) AddLogLevel(name string) { - if name == "" || funk.ContainsString(c.config.LogLevels, name) { - return - } - c.config.LogLevels = append(c.config.LogLevels, name) -} - // AddDevice adds a device reference of a specific category to the configuration // e.g. a PV meter to site.PVs func (c *Configure) AddDevice(d device, category DeviceCategory) { switch DeviceCategories[category].class { case DeviceClassCharger: - c.AddLogLevel(d.LogLevel) - if c.config.EEBUS != "" { - c.AddLogLevel("eebus") - } c.config.Chargers = append(c.config.Chargers, d) case DeviceClassMeter: - c.AddLogLevel(d.LogLevel) c.config.Meters = append(c.config.Meters, d) switch DeviceCategories[category].categoryFilter { case DeviceCategoryGridMeter: @@ -80,7 +64,6 @@ func (c *Configure) AddDevice(d device, category DeviceCategory) { c.config.Site.Batteries = append(c.config.Site.Batteries, d.Name) } case DeviceClassVehicle: - c.AddLogLevel(d.LogLevel) c.config.Vehicles = append(c.config.Vehicles, d) } } @@ -101,7 +84,6 @@ func (c *Configure) DevicesOfClass(class DeviceClass) []device { // AddLoadpoint adds a loadpoint to the configuration func (c *Configure) AddLoadpoint(l loadpoint) { c.config.Loadpoints = append(c.config.Loadpoints, l) - c.AddLogLevel(fmt.Sprintf("lp-%d", 1+len(c.config.Loadpoints))) } // MetersOfCategory returns the number of configured meters of a given DeviceCategory diff --git a/cmd/configure/configure.tpl b/cmd/configure/configure.tpl index a79d53350..08df387d2 100644 --- a/cmd/configure/configure.tpl +++ b/cmd/configure/configure.tpl @@ -2,13 +2,6 @@ uri: 0.0.0.0:7070 # uri for ui interval: 10s # control cycle interval log: info -levels: - core: info -{{- if ne (len .LogLevels) 0 }} -{{- range .LogLevels }} - {{ . }}: info -{{- end }} -{{- end }} {{- if ne (len .Meters) 0 }} meters: diff --git a/cmd/configure/helper.go b/cmd/configure/helper.go index 5fce7eded..90a973ae3 100644 --- a/cmd/configure/helper.go +++ b/cmd/configure/helper.go @@ -107,7 +107,6 @@ func (c *CmdConfigure) processDeviceValues(values map[string]interface{}, templa // processDeviceRequirements handles device requirements func (c *CmdConfigure) processDeviceRequirements(templateItem templates.Template) error { if len(templateItem.Requirements.Description.String(c.lang)) > 0 { - fmt.Println() fmt.Println(c.localizedString("Requirements_Title", nil)) fmt.Println(" ", templateItem.Requirements.Description.String(c.lang)) if len(templateItem.Requirements.URI) > 0 { @@ -117,6 +116,7 @@ func (c *CmdConfigure) processDeviceRequirements(templateItem templates.Template // check if sponsorship is required if templateItem.Requirements.Sponsorship && c.configuration.config.SponsorToken == "" { + fmt.Println("-- Sponsorship -----------------------------") fmt.Println() fmt.Println(c.localizedString("Requirements_Sponsorship_Title", nil)) fmt.Println() @@ -128,6 +128,8 @@ func (c *CmdConfigure) processDeviceRequirements(templateItem templates.Template required: true}) c.configuration.config.SponsorToken = sponsortoken sponsor.Subject = sponsortoken + fmt.Println() + fmt.Println("--------------------------------------------") } // check if we need to setup a HEMS @@ -141,6 +143,9 @@ func (c *CmdConfigure) processDeviceRequirements(templateItem templates.Template // check if we need to setup an EEBUS HEMS if templateItem.Requirements.Eebus { if c.configuration.config.EEBUS == "" { + fmt.Println() + fmt.Println("-- EEBUS -----------------------------------") + fmt.Println() eebusConfig, err := c.eebusCertificate() if err != nil { return fmt.Errorf("%s: %s", c.localizedString("Requirements_EEBUS_Cert_Error", nil), err) @@ -156,6 +161,8 @@ func (c *CmdConfigure) processDeviceRequirements(templateItem templates.Template return err } c.configuration.config.EEBUS = string(eebusYaml) + fmt.Println() + fmt.Println("--------------------------------------------") } fmt.Println() diff --git a/templates/README.md b/templates/README.md new file mode 100644 index 000000000..5191eddba --- /dev/null +++ b/templates/README.md @@ -0,0 +1,125 @@ +# Templates folder documentation + +## Folders + +- defintion: hold all device templates definitons in yaml files + - charger: all charger templates + - meter: all meter templates + - vehicle: all vehicle templates +- docs: content is generated via `go generate ./..` using the above templates for the evcc documentation page to be used + +## Template Documentation + +The following describes each possible element in a yaml file + +## `template` + +`template` expects a unique template name for the current device class (charger, meter, vehicle are device classes) + +## `description` + +`description` expects a human readable description of the device, best language neutral and containing the name of the product + +## `generic` + +`generic: true` defines templates that are typically not a hardware product, but rather generic implementations that can be used by a variety of products (e.g. inverters with sunspec support) or for software components like vzlogger. + +## `guidedsetup` + +`guidedsetup` if the device can be used for a guided setup, which are devices that provide multiple meter usages, or meter devices that are typically installed with specific other devices. Mostly used for meter devices that provided multiple usage data with the same user input. These devices are then sorted at the bottom of the product list. + +### `enable` + +`enable: true` to define that this device can be used for `guidedsetup` + +### `linked` + +Allows to define a list of meter devices that are typically installed with this device + +#### `template` + +`template` expects the linked device `template` value + +#### `usage` + +`usage` expects the meter usage type this device will be used for + +**Possible values**: + +- `grid`: for grid meters +- `pv`: for pv inverter/meter +- `battery`: for battery inverter/meter + +## `requirements` + +`requirements` provides an option to define various requirements / dependencies that need to be setup + +**Possible Values**: + +- `sponsorshipt: true`: If the device requires a sponsorship token +- `eebus: true`: If the device is accessed via the eebus protocol and thus requires the corresponding setup +- `hems: sma`: If the device can be used as an SMA HEMS device, only used for the SMA Home Manager 2.0 right now +- `description`: expects language specific texts via `de`, `en` to provide specific things the user has to do, e.g. minimum firmware versions or specific hardware setup requirements +- `uri`: a link providing more help on the requirements + +## `loglevel` + +`loglevel` defindes the name that can be used in the `levels` configuration for adjusting the log level of individual devices/components/... + +## `paramsbase` + +`paramsbase` allows to use a predefined set of params, so they don't need to be redefined in each template. The `example` and `default` values for each predefined value can be overwritten. + +**Possible values**: + +- `vehicle`: Provides a set of params that are used in most vehicles + +## ´params` + +`params` describes the set of parameters the user needs to provide a value for. + +### `name` + +`name` expects a name for the parameter, which will be used in the `render` section to reference the param and provide the user entered value. + +**Note**: There a few default `name` values with specific internal meaning and consequences! + +**Predefined name values**: + +- `usage`: specifies a list of meter classes, the device can be used for. Possible values are `grid`, `pv`, `battery`, and `charger` +- `modbus`: specifies that this device is accessed via modbus. It requires the `choice` property to have a list of possible interface values the device provides. These values can be `rs485` and `tcpip`. The command will use either to ask the appropriate questions and settings. The `render` section needs to include the string `{{include "modbus" .}}` in all places where the configuration needs modbus settings. + +### `required` + +`required: true` defines if the user has to provide a value. Default is `false` + +### `mask` + +`mask: true` defines if the user input should be masked, e.g. for passwords. Defaut is `false` + +### `default` + +`default` defines a default value to be used. For these cases the user can then simply press enter in the CLI. + +### `example` + +`example` provides an example value, so the user can get an idea of what is expected and what to look out for + +### `valuetype` + +`valuetype` allows to define the value type to let the CLI verify the user provided content + +**Possible values**: + +- `string`: for string values (default) +- `bool`: for `true` and `false` values +- `number`: for int values +- `float`: for float values + +### `help` + +`help` expects language specific help texts via `de`, `en` + +## `render` + +`render` contains the internal device configuration. All `param` `name` values can be used as a template variable, e.g. `{{ .host }}` for a param named `host`. The content is a go template, so all of go template feature can be used, e.g. `{{- if ... }}` statements, etc. diff --git a/templates/definition/charger/eebus.yaml b/templates/definition/charger/eebus.yaml index 2834ea05c..50d68ac1e 100644 --- a/templates/definition/charger/eebus.yaml +++ b/templates/definition/charger/eebus.yaml @@ -6,7 +6,6 @@ requirements: 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 diff --git a/templates/definition/charger/porsche_pmcc.yaml b/templates/definition/charger/porsche_pmcc.yaml deleted file mode 100644 index 12d132f71..000000000 --- a/templates/definition/charger/porsche_pmcc.yaml +++ /dev/null @@ -1,21 +0,0 @@ -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 }} diff --git a/templates/definition/charger/porsche_pmcc_http.yaml b/templates/definition/charger/porsche_pmcc_http.yaml deleted file mode 100644 index 8c399afed..000000000 --- a/templates/definition/charger/porsche_pmcc_http.yaml +++ /dev/null @@ -1,14 +0,0 @@ -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 }} diff --git a/templates/definition/charger/porsche_pmcp.yaml b/templates/definition/charger/porsche_pmcp.yaml deleted file mode 100644 index 89d58c18e..000000000 --- a/templates/definition/charger/porsche_pmcp.yaml +++ /dev/null @@ -1,15 +0,0 @@ -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 diff --git a/templates/definition/charger/tinkerforge_warp.yaml b/templates/definition/charger/tinkerforge_warp.yaml deleted file mode 100644 index 4921b2a02..000000000 --- a/templates/definition/charger/tinkerforge_warp.yaml +++ /dev/null @@ -1,23 +0,0 @@ -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 }} diff --git a/templates/definition/charger/tinkerforge_warp_pro.yaml b/templates/definition/charger/tinkerforge_warp_pro.yaml deleted file mode 100644 index 36b3cd2a5..000000000 --- a/templates/definition/charger/tinkerforge_warp_pro.yaml +++ /dev/null @@ -1,23 +0,0 @@ -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 }} diff --git a/templates/definition/charger/wallbe_pre2019.yaml b/templates/definition/charger/wallbe_pre2019.yaml deleted file mode 100644 index d7e072a67..000000000 --- a/templates/definition/charger/wallbe_pre2019.yaml +++ /dev/null @@ -1,17 +0,0 @@ -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) diff --git a/templates/definition/charger/wallbe_pre2019_with_meter.yaml b/templates/definition/charger/wallbe_pre2019_with_meter.yaml deleted file mode 100644 index 859fbb8bd..000000000 --- a/templates/definition/charger/wallbe_pre2019_with_meter.yaml +++ /dev/null @@ -1,21 +0,0 @@ -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 diff --git a/templates/definition/charger/wallbe_with_meter.yaml b/templates/definition/charger/wallbe_with_meter.yaml deleted file mode 100644 index 95b48512f..000000000 --- a/templates/definition/charger/wallbe_with_meter.yaml +++ /dev/null @@ -1,21 +0,0 @@ -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 diff --git a/templates/definition/charger/wallbe_with_sdm_meter.yaml b/templates/definition/charger/wallbe_with_sdm_meter.yaml deleted file mode 100644 index 0642fd0ca..000000000 --- a/templates/definition/charger/wallbe_with_sdm_meter.yaml +++ /dev/null @@ -1,22 +0,0 @@ -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 diff --git a/templates/definition/meter/cfos.yaml b/templates/definition/meter/cfos.yaml index a15450ad3..24b6771aa 100644 --- a/templates/definition/meter/cfos.yaml +++ b/templates/definition/meter/cfos.yaml @@ -1,4 +1,4 @@ -template: cfos_meter +template: cfos-meter description: cFos PowerBrain requirements: sponsorship: true diff --git a/templates/definition/meter/huawei-sun2000-8ktl.yaml b/templates/definition/meter/huawei-sun2000-8ktl.yaml index e308a65f9..40c50e8e9 100644 --- a/templates/definition/meter/huawei-sun2000-8ktl.yaml +++ b/templates/definition/meter/huawei-sun2000-8ktl.yaml @@ -1,4 +1,4 @@ -template: huawei_sun2000_8ktl +template: huawei-sun2000-8ktl description: Huawei SUN2000-8KTL params: - name: usage diff --git a/templates/definition/meter/kostal-energy-meter-inverter.yaml b/templates/definition/meter/kostal-energy-meter-inverter.yaml index 14efa470c..a67519b9b 100644 --- a/templates/definition/meter/kostal-energy-meter-inverter.yaml +++ b/templates/definition/meter/kostal-energy-meter-inverter.yaml @@ -1,4 +1,4 @@ -template: kostal_piko_energy_meter +template: kostal-piko-energy-meter description: Kostal Piko (BA) Energy Meter params: - name: usage diff --git a/templates/definition/meter/kostal-piko.yaml b/templates/definition/meter/kostal-piko.yaml index 94ac3a301..65bcab575 100644 --- a/templates/definition/meter/kostal-piko.yaml +++ b/templates/definition/meter/kostal-piko.yaml @@ -1,4 +1,4 @@ -template: kostal_piko +template: kostal-piko description: Kostal Piko + Piko BA guidedsetup: enable: true diff --git a/templates/definition/meter/kostal-plenticore.yaml b/templates/definition/meter/kostal-plenticore.yaml index 1033cb4da..b67e4adef 100644 --- a/templates/definition/meter/kostal-plenticore.yaml +++ b/templates/definition/meter/kostal-plenticore.yaml @@ -1,9 +1,9 @@ -template: kostal_plenticore +template: kostal-plenticore description: Kostal Plenticore Hybrid guidedsetup: enable: true linked: - - template: kostal_smart_energy_meter + - template: kostal-smart-energy-meter usage: grid params: - name: usage diff --git a/templates/definition/meter/kostal-smart-energy-meter.yaml b/templates/definition/meter/kostal-smart-energy-meter.yaml index b75575bff..fc3192f6d 100644 --- a/templates/definition/meter/kostal-smart-energy-meter.yaml +++ b/templates/definition/meter/kostal-smart-energy-meter.yaml @@ -1,4 +1,4 @@ -template: kostal_smart_energy_meter +template: kostal-smart-energy-meter description: Kostal Smart Energy Meter params: - name: usage diff --git a/templates/definition/meter/lg-ess-home-8_10.yaml b/templates/definition/meter/lg-ess-home-8_10.yaml deleted file mode 100644 index 79d8b39a4..000000000 --- a/templates/definition/meter/lg-ess-home-8_10.yaml +++ /dev/null @@ -1,22 +0,0 @@ -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 }} diff --git a/templates/definition/meter/powerfox-poweropti.yaml b/templates/definition/meter/powerfox-poweropti.yaml index e6f4e400d..5f03aba7b 100644 --- a/templates/definition/meter/powerfox-poweropti.yaml +++ b/templates/definition/meter/powerfox-poweropti.yaml @@ -1,4 +1,4 @@ -template: powerfox_poweropti +template: powerfox-poweropti description: Powerfox Poweropti (Cloud) params: - name: usage diff --git a/templates/definition/meter/rct_power.yaml b/templates/definition/meter/rct_power.yaml deleted file mode 100644 index 2db886ff7..000000000 --- a/templates/definition/meter/rct_power.yaml +++ /dev/null @@ -1,15 +0,0 @@ -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 diff --git a/templates/definition/meter/senec-home.yaml b/templates/definition/meter/senec-home.yaml index d0186609a..b6d356aef 100644 --- a/templates/definition/meter/senec-home.yaml +++ b/templates/definition/meter/senec-home.yaml @@ -1,5 +1,5 @@ -template: senec_home_linux -description: SENEC.Home (Linux) +template: senec-home +description: SENEC.Home guidedsetup: enable: true params: @@ -13,22 +13,34 @@ params: render: | type: custom power: - source: script - timeout: 5s - cmd: > + source: http + unpack: hex + decode: float32 + uri: http://{{ .host }}/lala.cgi + method: POST + headers: + - content-type: application/json {{- 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])'" + body: '{"ENERGY":{"GUI_GRID_POW":""}}' + jq: .ENERGY.GUI_GRID_POW | sub("fl_"; "") 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])'" + body: '{"ENERGY":{"GUI_INVERTER_POWER":""}}' + jq: .ENERGY.GUI_INVERTER_POWER | sub("fl_"; "") {{- 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])'" + body: '{"ENERGY":{"GUI_BAT_DATA_POWER":""}}' + jq: .ENERGY.GUI_BAT_DATA_POWER | sub("fl_"; "") 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 + source: http + uri: http://{{ .host }}/lala.cgi + method: POST + headers: + - content-type: application/json + body: '{"ENERGY":{"GUI_BAT_DATA_FUEL_CHARGE":""}}' + jq: .ENERGY.GUI_BAT_DATA_FUEL_CHARGE | sub("fl_"; "") + unpack: hex + decode: float32 {{- end }} diff --git a/templates/definition/meter/shelly_3em.yaml b/templates/definition/meter/shelly_3em.yaml deleted file mode 100644 index eef2441d0..000000000 --- a/templates/definition/meter/shelly_3em.yaml +++ /dev/null @@ -1,29 +0,0 @@ -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 diff --git a/templates/definition/meter/solarwatt_myreserve.yaml b/templates/definition/meter/solarwatt_myreserve.yaml deleted file mode 100644 index 6b21b8b07..000000000 --- a/templates/definition/meter/solarwatt_myreserve.yaml +++ /dev/null @@ -1,28 +0,0 @@ -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 }} diff --git a/templates/definition/meter/sonnenbatterie_eco10.yaml b/templates/definition/meter/sonnenbatterie_eco10.yaml deleted file mode 100644 index 07d2a1ccf..000000000 --- a/templates/definition/meter/sonnenbatterie_eco10.yaml +++ /dev/null @@ -1,31 +0,0 @@ -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 }} diff --git a/templates/definition/meter/sunspec.yaml b/templates/definition/meter/sunspec.yaml index 0b0c2de9b..cc74fe8d2 100644 --- a/templates/definition/meter/sunspec.yaml +++ b/templates/definition/meter/sunspec.yaml @@ -1,5 +1,5 @@ template: sunspec -description: SunSpec compliant inverter +description: Inverter / Wechselrichter (SunSpec) generic: true params: - name: usage diff --git a/templates/definition/meter/tesla-powerwall.yaml b/templates/definition/meter/tesla-powerwall.yaml index dd9fbc640..c25a7b272 100644 --- a/templates/definition/meter/tesla-powerwall.yaml +++ b/templates/definition/meter/tesla-powerwall.yaml @@ -1,4 +1,4 @@ -template: tesla_powerwall +template: tesla-powerwall description: Tesla Powerwall guidedsetup: enable: true diff --git a/templates/definition/meter/varta-energiespeicher.yaml b/templates/definition/meter/varta-energiespeicher.yaml index 15c26fe05..d42cbbead 100644 --- a/templates/definition/meter/varta-energiespeicher.yaml +++ b/templates/definition/meter/varta-energiespeicher.yaml @@ -1,4 +1,4 @@ -template: varta_energiespeicher +template: varta-energiespeicher description: VARTA Energiespeicher guidedsetup: enable: true diff --git a/templates/definition/meter/vzlogger-http.yaml b/templates/definition/meter/volkszaehler-http.yaml similarity index 85% rename from templates/definition/meter/vzlogger-http.yaml rename to templates/definition/meter/volkszaehler-http.yaml index 8388f5721..84e0a4063 100644 --- a/templates/definition/meter/vzlogger-http.yaml +++ b/templates/definition/meter/volkszaehler-http.yaml @@ -1,5 +1,5 @@ -template: vzlogger_http -description: vzlogger (HTTP) +template: volkszaehler-http +description: Volkszähler (HTTP API) generic: true params: - name: usage diff --git a/templates/definition/meter/vzlogger-importexport.yaml b/templates/definition/meter/volkszaehler-importexport.yaml similarity index 88% rename from templates/definition/meter/vzlogger-importexport.yaml rename to templates/definition/meter/volkszaehler-importexport.yaml index 86433172a..6c57e24cc 100644 --- a/templates/definition/meter/vzlogger-importexport.yaml +++ b/templates/definition/meter/volkszaehler-importexport.yaml @@ -1,5 +1,5 @@ -template: vzlogger_importexport -description: vzlogger (Import & Export getrennt) +template: volkszaehler-importexport +description: Volkszähler (HTTP API, Import & Export) generic: true params: - name: usage diff --git a/templates/definition/meter/vzlogger-ws.yaml b/templates/definition/meter/volkszaehler-ws.yaml similarity index 85% rename from templates/definition/meter/vzlogger-ws.yaml rename to templates/definition/meter/volkszaehler-ws.yaml index ea8a93945..f57bb46ca 100644 --- a/templates/definition/meter/vzlogger-ws.yaml +++ b/templates/definition/meter/volkszaehler-ws.yaml @@ -1,5 +1,5 @@ -template: vzlogger_ws -description: vzlogger (Websocket) +template: volkszaehler-ws +description: Volkszähler (WebSocket API) generic: true params: - name: usage diff --git a/templates/definition/meter/vzlogger.yaml b/templates/definition/meter/vzlogger.yaml new file mode 100644 index 000000000..8ef3c2f39 --- /dev/null +++ b/templates/definition/meter/vzlogger.yaml @@ -0,0 +1,19 @@ +template: vzlogger +description: vzlogger +generic: true +params: +- name: usage + choice: [ "grid" ] +- name: host + example: 192.0.2.2 + required: true +- name: port + default: 8081 +- name: uuid + required: true +render: | + type: custom + power: # power reading + source: http # use http plugin + uri: http://{{ .host }}:{{ .port }}/ + jq: .data[] | select(.uuid=="{{ .uuid }}") | .tuples[0][1] # parse response json diff --git a/templates/definition/vehicle/niu_e-scooter.yaml b/templates/definition/vehicle/niu_e-scooter.yaml deleted file mode 100644 index 90e2b8c90..000000000 --- a/templates/definition/vehicle/niu_e-scooter.yaml +++ /dev/null @@ -1,20 +0,0 @@ -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 diff --git a/templates/docs/charger/pmcc.yaml b/templates/docs/charger/pmcc.yaml deleted file mode 100644 index 592c00422..000000000 --- a/templates/docs/charger/pmcc.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: pmcc -description: Porsche Mobile Charger Connect -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 \ No newline at end of file diff --git a/templates/docs/charger/pmcc_http.yaml b/templates/docs/charger/pmcc_http.yaml deleted file mode 100644 index 32c3f1330..000000000 --- a/templates/docs/charger/pmcc_http.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: pmcc_http -description: Porsche Mobile Charger Connect (HTTP API) -host: 192.0.2.2 -password: \ No newline at end of file diff --git a/templates/docs/charger/pmcp.yaml b/templates/docs/charger/pmcp.yaml deleted file mode 100644 index 57b894842..000000000 --- a/templates/docs/charger/pmcp.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: template -template: pmcp -description: Porsche Mobile Charger Plus -ski: # Die SKI der Wallbox, ist üblicherweise im Web Interface der Wallbox zu finden \ No newline at end of file diff --git a/templates/docs/charger/tinkerforge_warp.yaml b/templates/docs/charger/tinkerforge_warp.yaml deleted file mode 100644 index 7f01c0886..000000000 --- a/templates/docs/charger/tinkerforge_warp.yaml +++ /dev/null @@ -1,7 +0,0 @@ -type: template -template: tinkerforge_warp -description: TinkerForge WARP Charger -host: 192.0.2.2 -port: 1883 -topic: warp -timeout: 30s \ No newline at end of file diff --git a/templates/docs/charger/tinkerforge_warp_pro.yaml b/templates/docs/charger/tinkerforge_warp_pro.yaml deleted file mode 100644 index 60353d0ba..000000000 --- a/templates/docs/charger/tinkerforge_warp_pro.yaml +++ /dev/null @@ -1,7 +0,0 @@ -type: template -template: tinkerforge_warp_pro -description: TinkerForge WARP Charger -host: 192.0.2.2 -port: 1883 -topic: warp -timeout: 30s \ No newline at end of file diff --git a/templates/docs/charger/wallbe_meter.yaml b/templates/docs/charger/wallbe_meter.yaml deleted file mode 100644 index f448a3559..000000000 --- a/templates/docs/charger/wallbe_meter.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: wallbe_meter -description: Wallbe (Eco, Pro) with Meter -host: 192.0.2.2 -port: 502 \ No newline at end of file diff --git a/templates/docs/charger/wallbe_pre2019.yaml b/templates/docs/charger/wallbe_pre2019.yaml deleted file mode 100644 index a062b550e..000000000 --- a/templates/docs/charger/wallbe_pre2019.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: wallbe_pre2019 -description: Wallbe (Eco, Pro) (pre ~2019) -host: 192.0.2.2 -port: 502 \ No newline at end of file diff --git a/templates/docs/charger/wallbe_pre2019_meter.yaml b/templates/docs/charger/wallbe_pre2019_meter.yaml deleted file mode 100644 index 5dc60ab6b..000000000 --- a/templates/docs/charger/wallbe_pre2019_meter.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: wallbe_pre2019_meter -description: Wallbe (Eco, Pro) (pre ~2019) with Meter -host: 192.0.2.2 -port: 502 \ No newline at end of file diff --git a/templates/docs/charger/wallbe_sdm.yaml b/templates/docs/charger/wallbe_sdm.yaml deleted file mode 100644 index a7b578468..000000000 --- a/templates/docs/charger/wallbe_sdm.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: wallbe_sdm -description: Wallbe (Eco, Pro) with SDM Meter -host: 192.0.2.2 -port: 502 \ No newline at end of file diff --git a/templates/docs/meter/cfos_meter-charger.yaml b/templates/docs/meter/cfos-meter-charger.yaml similarity index 55% rename from templates/docs/meter/cfos_meter-charger.yaml rename to templates/docs/meter/cfos-meter-charger.yaml index ba5f3bcad..e654d99ca 100644 --- a/templates/docs/meter/cfos_meter-charger.yaml +++ b/templates/docs/meter/cfos-meter-charger.yaml @@ -1,4 +1,4 @@ type: template -template: cfos_meter +template: cfos-meter description: cFos PowerBrain usage: charger \ No newline at end of file diff --git a/templates/docs/meter/huawei_sun2000_8ktl-pv.yaml b/templates/docs/meter/huawei-sun2000-8ktl-pv.yaml similarity index 55% rename from templates/docs/meter/huawei_sun2000_8ktl-pv.yaml rename to templates/docs/meter/huawei-sun2000-8ktl-pv.yaml index 3e5e303da..96aba7cc5 100644 --- a/templates/docs/meter/huawei_sun2000_8ktl-pv.yaml +++ b/templates/docs/meter/huawei-sun2000-8ktl-pv.yaml @@ -1,4 +1,4 @@ type: template -template: huawei_sun2000_8ktl +template: huawei-sun2000-8ktl description: Huawei SUN2000-8KTL usage: pv \ No newline at end of file diff --git a/templates/docs/meter/kostal_piko_energy_meter-grid.yaml b/templates/docs/meter/kostal-piko-energy-meter-grid.yaml similarity index 66% rename from templates/docs/meter/kostal_piko_energy_meter-grid.yaml rename to templates/docs/meter/kostal-piko-energy-meter-grid.yaml index c539b73cf..9792e22d3 100644 --- a/templates/docs/meter/kostal_piko_energy_meter-grid.yaml +++ b/templates/docs/meter/kostal-piko-energy-meter-grid.yaml @@ -1,5 +1,5 @@ type: template -template: kostal_piko_energy_meter +template: kostal-piko-energy-meter description: Kostal Piko (BA) Energy Meter usage: grid host: 192.0.2.2 diff --git a/templates/docs/meter/kostal_piko-grid.yaml b/templates/docs/meter/kostal-piko-grid.yaml similarity index 63% rename from templates/docs/meter/kostal_piko-grid.yaml rename to templates/docs/meter/kostal-piko-grid.yaml index 65cda0e4d..b489ef9fa 100644 --- a/templates/docs/meter/kostal_piko-grid.yaml +++ b/templates/docs/meter/kostal-piko-grid.yaml @@ -1,5 +1,5 @@ type: template -template: kostal_piko +template: kostal-piko description: Kostal Piko + Piko BA usage: grid host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/kostal_piko-pv.yaml b/templates/docs/meter/kostal-piko-pv.yaml similarity index 62% rename from templates/docs/meter/kostal_piko-pv.yaml rename to templates/docs/meter/kostal-piko-pv.yaml index 807f00626..ddb2ee1d6 100644 --- a/templates/docs/meter/kostal_piko-pv.yaml +++ b/templates/docs/meter/kostal-piko-pv.yaml @@ -1,5 +1,5 @@ type: template -template: kostal_piko +template: kostal-piko description: Kostal Piko + Piko BA usage: pv host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/kostal_plenticore-battery.yaml b/templates/docs/meter/kostal-plenticore-battery.yaml similarity index 69% rename from templates/docs/meter/kostal_plenticore-battery.yaml rename to templates/docs/meter/kostal-plenticore-battery.yaml index 651d818af..cfcad019a 100644 --- a/templates/docs/meter/kostal_plenticore-battery.yaml +++ b/templates/docs/meter/kostal-plenticore-battery.yaml @@ -1,5 +1,5 @@ type: template -template: kostal_plenticore +template: kostal-plenticore description: Kostal Plenticore Hybrid usage: battery host: 192.0.2.2 diff --git a/templates/docs/meter/kostal_plenticore-pv.yaml b/templates/docs/meter/kostal-plenticore-pv.yaml similarity index 68% rename from templates/docs/meter/kostal_plenticore-pv.yaml rename to templates/docs/meter/kostal-plenticore-pv.yaml index 14a045fe1..5814c1c72 100644 --- a/templates/docs/meter/kostal_plenticore-pv.yaml +++ b/templates/docs/meter/kostal-plenticore-pv.yaml @@ -1,5 +1,5 @@ type: template -template: kostal_plenticore +template: kostal-plenticore description: Kostal Plenticore Hybrid usage: pv host: 192.0.2.2 diff --git a/templates/docs/meter/kostal_smart_energy_meter-grid.yaml b/templates/docs/meter/kostal-smart-energy-meter-grid.yaml similarity index 65% rename from templates/docs/meter/kostal_smart_energy_meter-grid.yaml rename to templates/docs/meter/kostal-smart-energy-meter-grid.yaml index 25d88a760..eb87f94e5 100644 --- a/templates/docs/meter/kostal_smart_energy_meter-grid.yaml +++ b/templates/docs/meter/kostal-smart-energy-meter-grid.yaml @@ -1,5 +1,5 @@ type: template -template: kostal_smart_energy_meter +template: kostal-smart-energy-meter description: Kostal Smart Energy Meter usage: grid host: 192.0.2.2 diff --git a/templates/docs/meter/lg_ess_home_8_10-battery.yaml b/templates/docs/meter/lg_ess_home_8_10-battery.yaml deleted file mode 100644 index 12f80a06e..000000000 --- a/templates/docs/meter/lg_ess_home_8_10-battery.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: lg_ess_home_8_10 -description: LG ESS Home 8/10 -usage: battery -host: 192.0.2.2 -registration: DE200... # Registriernummer des LG ESS HOME Wechselrichters. \ No newline at end of file diff --git a/templates/docs/meter/lg_ess_home_8_10-grid.yaml b/templates/docs/meter/lg_ess_home_8_10-grid.yaml deleted file mode 100644 index 2d1db5de0..000000000 --- a/templates/docs/meter/lg_ess_home_8_10-grid.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: lg_ess_home_8_10 -description: LG ESS Home 8/10 -usage: grid -host: 192.0.2.2 -registration: DE200... # Registriernummer des LG ESS HOME Wechselrichters. \ No newline at end of file diff --git a/templates/docs/meter/lg_ess_home_8_10-pv.yaml b/templates/docs/meter/lg_ess_home_8_10-pv.yaml deleted file mode 100644 index 4ae65e168..000000000 --- a/templates/docs/meter/lg_ess_home_8_10-pv.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: lg_ess_home_8_10 -description: LG ESS Home 8/10 -usage: pv -host: 192.0.2.2 -registration: DE200... # Registriernummer des LG ESS HOME Wechselrichters. \ No newline at end of file diff --git a/templates/docs/meter/powerfox_poweropti-grid.yaml b/templates/docs/meter/powerfox-poweropti-grid.yaml similarity index 66% rename from templates/docs/meter/powerfox_poweropti-grid.yaml rename to templates/docs/meter/powerfox-poweropti-grid.yaml index 955c6b4a6..de46500f3 100644 --- a/templates/docs/meter/powerfox_poweropti-grid.yaml +++ b/templates/docs/meter/powerfox-poweropti-grid.yaml @@ -1,5 +1,5 @@ type: template -template: powerfox_poweropti +template: powerfox-poweropti description: Powerfox Poweropti (Cloud) usage: grid user: diff --git a/templates/docs/meter/rct_power-battery.yaml b/templates/docs/meter/rct_power-battery.yaml deleted file mode 100644 index 10f59e832..000000000 --- a/templates/docs/meter/rct_power-battery.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: rct_power -description: RCT Power -usage: battery -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/rct_power-grid.yaml b/templates/docs/meter/rct_power-grid.yaml deleted file mode 100644 index c253e5ea0..000000000 --- a/templates/docs/meter/rct_power-grid.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: rct_power -description: RCT Power -usage: grid -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/rct_power-pv.yaml b/templates/docs/meter/rct_power-pv.yaml deleted file mode 100644 index 310dc1dc7..000000000 --- a/templates/docs/meter/rct_power-pv.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: rct_power -description: RCT Power -usage: pv -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/senec-home-battery.yaml b/templates/docs/meter/senec-home-battery.yaml new file mode 100644 index 000000000..051ef2e26 --- /dev/null +++ b/templates/docs/meter/senec-home-battery.yaml @@ -0,0 +1,6 @@ +type: template +template: senec-home +description: SENEC.Home +usage: battery +host: 192.0.2.2 +port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/senec-home-grid.yaml b/templates/docs/meter/senec-home-grid.yaml new file mode 100644 index 000000000..efc8f2065 --- /dev/null +++ b/templates/docs/meter/senec-home-grid.yaml @@ -0,0 +1,6 @@ +type: template +template: senec-home +description: SENEC.Home +usage: grid +host: 192.0.2.2 +port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/senec-home-pv.yaml b/templates/docs/meter/senec-home-pv.yaml new file mode 100644 index 000000000..a8829bcac --- /dev/null +++ b/templates/docs/meter/senec-home-pv.yaml @@ -0,0 +1,6 @@ +type: template +template: senec-home +description: SENEC.Home +usage: pv +host: 192.0.2.2 +port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/senec_home_linux-battery.yaml b/templates/docs/meter/senec_home_linux-battery.yaml deleted file mode 100644 index 235196be9..000000000 --- a/templates/docs/meter/senec_home_linux-battery.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: senec_home_linux -description: SENEC.Home (Linux) -usage: battery -host: 192.0.2.2 -port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/senec_home_linux-grid.yaml b/templates/docs/meter/senec_home_linux-grid.yaml deleted file mode 100644 index cea20b022..000000000 --- a/templates/docs/meter/senec_home_linux-grid.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: senec_home_linux -description: SENEC.Home (Linux) -usage: grid -host: 192.0.2.2 -port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/senec_home_linux-pv.yaml b/templates/docs/meter/senec_home_linux-pv.yaml deleted file mode 100644 index bf85b182b..000000000 --- a/templates/docs/meter/senec_home_linux-pv.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: senec_home_linux -description: SENEC.Home (Linux) -usage: pv -host: 192.0.2.2 -port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/shelly_3em-grid.yaml b/templates/docs/meter/shelly_3em-grid.yaml deleted file mode 100644 index 1c2ada323..000000000 --- a/templates/docs/meter/shelly_3em-grid.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: shelly_3em -description: Shelly 3EM -usage: grid -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/solarwatt_myreserve-battery.yaml b/templates/docs/meter/solarwatt_myreserve-battery.yaml deleted file mode 100644 index 429b17713..000000000 --- a/templates/docs/meter/solarwatt_myreserve-battery.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: solarwatt_myreserve -description: Solarwatt MyReserve -usage: battery -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/solarwatt_myreserve-grid.yaml b/templates/docs/meter/solarwatt_myreserve-grid.yaml deleted file mode 100644 index 19507a45e..000000000 --- a/templates/docs/meter/solarwatt_myreserve-grid.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: solarwatt_myreserve -description: Solarwatt MyReserve -usage: grid -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/solarwatt_myreserve-pv.yaml b/templates/docs/meter/solarwatt_myreserve-pv.yaml deleted file mode 100644 index eaa0b07e9..000000000 --- a/templates/docs/meter/solarwatt_myreserve-pv.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: template -template: solarwatt_myreserve -description: Solarwatt MyReserve -usage: pv -host: 192.0.2.2 \ No newline at end of file diff --git a/templates/docs/meter/sonnenbatterie_eco10-battery.yaml b/templates/docs/meter/sonnenbatterie_eco10-battery.yaml deleted file mode 100644 index 7a6eeef9d..000000000 --- a/templates/docs/meter/sonnenbatterie_eco10-battery.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: sonnenbatterie_eco10 -description: Sonnenbatterie Eco/10 -usage: battery -host: 192.0.2.2 -port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/sonnenbatterie_eco10-grid.yaml b/templates/docs/meter/sonnenbatterie_eco10-grid.yaml deleted file mode 100644 index e5f0ff4ea..000000000 --- a/templates/docs/meter/sonnenbatterie_eco10-grid.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: sonnenbatterie_eco10 -description: Sonnenbatterie Eco/10 -usage: grid -host: 192.0.2.2 -port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/sonnenbatterie_eco10-pv.yaml b/templates/docs/meter/sonnenbatterie_eco10-pv.yaml deleted file mode 100644 index 54f7a7fa3..000000000 --- a/templates/docs/meter/sonnenbatterie_eco10-pv.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: sonnenbatterie_eco10 -description: Sonnenbatterie Eco/10 -usage: pv -host: 192.0.2.2 -port: 8080 \ No newline at end of file diff --git a/templates/docs/meter/sunspec-battery.yaml b/templates/docs/meter/sunspec-battery.yaml index 5f9ead371..11563dea2 100644 --- a/templates/docs/meter/sunspec-battery.yaml +++ b/templates/docs/meter/sunspec-battery.yaml @@ -1,6 +1,6 @@ type: template template: sunspec -description: SunSpec compliant inverter +description: Inverter / Wechselrichter (SunSpec) usage: battery host: 192.0.2.2 id: 1 \ No newline at end of file diff --git a/templates/docs/meter/sunspec-grid.yaml b/templates/docs/meter/sunspec-grid.yaml index 9387b193b..9c05894d8 100644 --- a/templates/docs/meter/sunspec-grid.yaml +++ b/templates/docs/meter/sunspec-grid.yaml @@ -1,6 +1,6 @@ type: template template: sunspec -description: SunSpec compliant inverter +description: Inverter / Wechselrichter (SunSpec) usage: grid host: 192.0.2.2 id: 1 \ No newline at end of file diff --git a/templates/docs/meter/sunspec-pv.yaml b/templates/docs/meter/sunspec-pv.yaml index fc192704b..d39367cc6 100644 --- a/templates/docs/meter/sunspec-pv.yaml +++ b/templates/docs/meter/sunspec-pv.yaml @@ -1,6 +1,6 @@ type: template template: sunspec -description: SunSpec compliant inverter +description: Inverter / Wechselrichter (SunSpec) usage: pv host: 192.0.2.2 id: 1 \ No newline at end of file diff --git a/templates/docs/meter/tesla_powerwall-battery.yaml b/templates/docs/meter/tesla-powerwall-battery.yaml similarity index 53% rename from templates/docs/meter/tesla_powerwall-battery.yaml rename to templates/docs/meter/tesla-powerwall-battery.yaml index 7b7d5f3ca..ff3144d7a 100644 --- a/templates/docs/meter/tesla_powerwall-battery.yaml +++ b/templates/docs/meter/tesla-powerwall-battery.yaml @@ -1,5 +1,5 @@ type: template -template: tesla_powerwall +template: tesla-powerwall description: Tesla Powerwall usage: battery host: 192.0.2.2 diff --git a/templates/docs/meter/tesla_powerwall-grid.yaml b/templates/docs/meter/tesla-powerwall-grid.yaml similarity index 52% rename from templates/docs/meter/tesla_powerwall-grid.yaml rename to templates/docs/meter/tesla-powerwall-grid.yaml index d96d33b8c..6df8f16a5 100644 --- a/templates/docs/meter/tesla_powerwall-grid.yaml +++ b/templates/docs/meter/tesla-powerwall-grid.yaml @@ -1,5 +1,5 @@ type: template -template: tesla_powerwall +template: tesla-powerwall description: Tesla Powerwall usage: grid host: 192.0.2.2 diff --git a/templates/docs/meter/tesla_powerwall-pv.yaml b/templates/docs/meter/tesla-powerwall-pv.yaml similarity index 52% rename from templates/docs/meter/tesla_powerwall-pv.yaml rename to templates/docs/meter/tesla-powerwall-pv.yaml index 9b3ef445f..8cde7ca0e 100644 --- a/templates/docs/meter/tesla_powerwall-pv.yaml +++ b/templates/docs/meter/tesla-powerwall-pv.yaml @@ -1,5 +1,5 @@ type: template -template: tesla_powerwall +template: tesla-powerwall description: Tesla Powerwall usage: pv host: 192.0.2.2 diff --git a/templates/docs/meter/varta_energiespeicher-battery.yaml b/templates/docs/meter/varta-energiespeicher-battery.yaml similarity index 66% rename from templates/docs/meter/varta_energiespeicher-battery.yaml rename to templates/docs/meter/varta-energiespeicher-battery.yaml index 8ac175bb0..5b72b81b7 100644 --- a/templates/docs/meter/varta_energiespeicher-battery.yaml +++ b/templates/docs/meter/varta-energiespeicher-battery.yaml @@ -1,5 +1,5 @@ type: template -template: varta_energiespeicher +template: varta-energiespeicher description: VARTA Energiespeicher usage: battery host: 192.0.2.2 diff --git a/templates/docs/meter/varta_energiespeicher-grid.yaml b/templates/docs/meter/varta-energiespeicher-grid.yaml similarity index 66% rename from templates/docs/meter/varta_energiespeicher-grid.yaml rename to templates/docs/meter/varta-energiespeicher-grid.yaml index a3a94c2fa..6297e134d 100644 --- a/templates/docs/meter/varta_energiespeicher-grid.yaml +++ b/templates/docs/meter/varta-energiespeicher-grid.yaml @@ -1,5 +1,5 @@ type: template -template: varta_energiespeicher +template: varta-energiespeicher description: VARTA Energiespeicher usage: grid host: 192.0.2.2 diff --git a/templates/docs/meter/varta_energiespeicher-pv.yaml b/templates/docs/meter/varta-energiespeicher-pv.yaml similarity index 65% rename from templates/docs/meter/varta_energiespeicher-pv.yaml rename to templates/docs/meter/varta-energiespeicher-pv.yaml index bae6c98ba..7c72a7653 100644 --- a/templates/docs/meter/varta_energiespeicher-pv.yaml +++ b/templates/docs/meter/varta-energiespeicher-pv.yaml @@ -1,5 +1,5 @@ type: template -template: varta_energiespeicher +template: varta-energiespeicher description: VARTA Energiespeicher usage: pv host: 192.0.2.2 diff --git a/templates/docs/meter/volkszaehler-http-grid.yaml b/templates/docs/meter/volkszaehler-http-grid.yaml new file mode 100644 index 000000000..6d53f3104 --- /dev/null +++ b/templates/docs/meter/volkszaehler-http-grid.yaml @@ -0,0 +1,7 @@ +type: template +template: volkszaehler-http +description: Volkszähler (HTTP API) +usage: grid +host: 192.0.2.2 +port: 80 +uuid: \ No newline at end of file diff --git a/templates/docs/meter/volkszaehler-importexport-grid.yaml b/templates/docs/meter/volkszaehler-importexport-grid.yaml new file mode 100644 index 000000000..f62cd0d38 --- /dev/null +++ b/templates/docs/meter/volkszaehler-importexport-grid.yaml @@ -0,0 +1,8 @@ +type: template +template: volkszaehler-importexport +description: Volkszähler (HTTP API, Import & Export) +usage: grid +host: 192.0.2.2 +port: 80 +importuuid: +exportuuid: \ No newline at end of file diff --git a/templates/docs/meter/volkszaehler-ws-grid.yaml b/templates/docs/meter/volkszaehler-ws-grid.yaml new file mode 100644 index 000000000..0ef01bc37 --- /dev/null +++ b/templates/docs/meter/volkszaehler-ws-grid.yaml @@ -0,0 +1,7 @@ +type: template +template: volkszaehler-ws +description: Volkszähler (WebSocket API) +usage: grid +host: 192.0.2.2 +port: 8082 +uuid: \ No newline at end of file diff --git a/templates/docs/meter/vzlogger-grid.yaml b/templates/docs/meter/vzlogger-grid.yaml new file mode 100644 index 000000000..bd50a91a4 --- /dev/null +++ b/templates/docs/meter/vzlogger-grid.yaml @@ -0,0 +1,7 @@ +type: template +template: vzlogger +description: vzlogger +usage: grid +host: 192.0.2.2 +port: 8081 +uuid: \ No newline at end of file diff --git a/templates/docs/meter/vzlogger_http-grid.yaml b/templates/docs/meter/vzlogger_http-grid.yaml deleted file mode 100644 index 9ab1a2cf3..000000000 --- a/templates/docs/meter/vzlogger_http-grid.yaml +++ /dev/null @@ -1,7 +0,0 @@ -type: template -template: vzlogger_http -description: vzlogger (HTTP) -usage: grid -host: 192.0.2.2 -port: 80 -uuid: \ No newline at end of file diff --git a/templates/docs/meter/vzlogger_importexport-grid.yaml b/templates/docs/meter/vzlogger_importexport-grid.yaml deleted file mode 100644 index 0843b99eb..000000000 --- a/templates/docs/meter/vzlogger_importexport-grid.yaml +++ /dev/null @@ -1,8 +0,0 @@ -type: template -template: vzlogger_importexport -description: vzlogger (Import & Export getrennt) -usage: grid -host: 192.0.2.2 -port: 80 -importuuid: -exportuuid: \ No newline at end of file diff --git a/templates/docs/meter/vzlogger_ws-grid.yaml b/templates/docs/meter/vzlogger_ws-grid.yaml deleted file mode 100644 index 0ccf2787b..000000000 --- a/templates/docs/meter/vzlogger_ws-grid.yaml +++ /dev/null @@ -1,7 +0,0 @@ -type: template -template: vzlogger_ws -description: vzlogger (Websocket) -usage: grid -host: 192.0.2.2 -port: 8082 -uuid: \ No newline at end of file diff --git a/templates/docs/vehicle/niu.yaml b/templates/docs/vehicle/niu.yaml deleted file mode 100644 index abffc5fba..000000000 --- a/templates/docs/vehicle/niu.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: template -template: niu -description: NIU E-Scooter -user: -password: -serial: \ No newline at end of file