Add demo templates (#15386)
Some checks failed
Release / Hassio Addon (push) Has been cancelled
Release / call-build-workflow (push) Has been cancelled
Release / Publish Docker :release (push) Has been cancelled
Release / Github & APT (push) Has been cancelled
Release / Demo (push) Has been cancelled

This commit is contained in:
Michael Geers 2024-08-18 12:31:41 +02:00 • committed by GitHub
parent 15a3deef0a
commit 8b539adf3c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 228 additions and 5 deletions

View file

@ -78,6 +78,7 @@ export default {
return `${this.fmtKw(value[0])} / ${this.fmtKw(value[1])}`;
case "currentRange":
return `${this.fmtNumber(value[0], 1)} A / ${this.fmtNumber(value[1], 1)} A`;
case "controllable":
case "configured":
return value
? this.$t("config.deviceValue.yes")

View file

@ -116,6 +116,11 @@ func (d *dumper) Dump(name string, v interface{}) {
}
}
// controllable battery
if _, ok := v.(api.BatteryController); ok {
fmt.Fprintf(w, "Controllable:\ttrue\n")
}
if v, ok := v.(api.Charger); ok {
if enabled, err := v.Enabled(); err != nil {
fmt.Fprintf(w, "Enabled:\t%v\n", err)

View file

@ -24,8 +24,8 @@ never = "nur mit genug PV-Überschuss."
[config]
[config.battery]
titleAdd = "Batterie Zähler hinzufügen"
titleEdit = "Batterie Zähler bearbeiten"
titleAdd = "Batterie hinzufügen"
titleEdit = "Batterie bearbeiten"
[config.circuits]
description = "Stellt sicher, dass die Summe aller Ladepunkte, die an einen Stromkreis angeschlossen sind, die konfigurierten Leistungs- und Stromgrenzen nicht überschreitet. Stromkreise können verschachtelt werden, um eine Hierarchie aufzubauen."
@ -54,10 +54,11 @@ chargeStatusF = "Fehler"
chargedEnergy = "Geladen"
co2 = "Netz-CO₂"
configured = "Konfiguriert"
controllable = "Steuerbar"
currency = "Währung"
current = "Strom"
currentRange = "Strom"
enabled = "Aktiviert"
enabled = "Ladebereit"
energy = "Energie"
feedinPrice = "Einspeisevergütung"
gridPrice = "Netzpreis"

View file

@ -24,8 +24,8 @@ never = "only with enough surplus."
[config]
[config.battery]
titleAdd = "Add Battery Meter"
titleEdit = "Edit Battery Meter"
titleAdd = "Add Battery"
titleEdit = "Edit Battery"
[config.circuits]
description = "Ensures, that the sum of all loadpoints connected to a circuit does not exceed the configured power and current limits. Circuits can be nested to build a hierarchy."
@ -54,6 +54,7 @@ chargeStatusF = "error"
chargedEnergy = "Charged"
co2 = "Grid CO₂"
configured = "Configured"
controllable = "Controllable"
currency = "Currency"
current = "Current"
currentRange = "Current"

View file

@ -141,6 +141,10 @@ func testInstance(instance any) map[string]testResult {
res[key] = makeResult(val, err)
}
if _, ok := instance.(api.BatteryController); ok {
res["controllable"] = makeResult(true, nil)
}
if dev, ok := instance.(api.VehicleOdometer); ok {
val, err := dev.Odometer()
res["odometer"] = makeResult(val, err)

View file

@ -0,0 +1,56 @@
template: demo-charger
group: generic
products:
- description:
de: Demowallbox
en: Demo charger
requirements:
description:
en: For demonstration purposes. Charger with a fixed set of values.
de: Zu Demonstrationszwecken. Wallbox mit festen Werten.
params:
- name: status
description:
de: Ladezustand
en: Charge status
validvalues: [A, B, C, D, E, F]
default: A
- name: power
description:
de: Leistung
en: Power
type: number
default: 0
- name: enabled
description:
de: Ladebereit
en: Enabled
type: bool
default: true
- name: maxcurrent
description:
de: Maximale Stromstärke (A)
en: Maximum amperage (A)
help:
example: 16
type: number
advanced: true
render: |
type: custom
enable:
source: js
script:
enabled:
source: const
value: {{ .enabled }}
status:
source: const
value: {{ .status }}
maxcurrent:
source: js
script: |
{{ .maxcurrent }}
power:
source: const
value: {{ .power }}

View file

@ -0,0 +1,89 @@
template: demo-battery
group: generic
products:
- description:
de: Demobatterie
en: Demo battery
requirements:
description:
en: For demonstration purposes. Battery with a fixed set of values.
de: Zu Demonstrationszwecken. Hausbatterie mit festen Werten.
params:
- name: usage
choice: ["battery"]
- name: power
description:
de: Leistung (W)
en: Power (W)
type: number
- name: soc
description:
de: Ladestand (%)
en: Charge (%)
type: number
- name: controllable
description:
de: Steuerbar
en: Controllable
type: bool
help:
de: "Unterstützt aktive Batteriesteuerung"
en: "Supports active battery control"
- name: energy
description:
de: Zählerstand (kWh)
en: Meter reading (kWh)
type: number
advanced: true
- name: currentL1
description:
de: L1 Stromstärke (A)
en: L1 current (A)
type: number
advanced: true
- name: currentL2
description:
de: L2 Stromstärke (A)
en: L2 current (A)
type: number
advanced: true
- name: currentL3
description:
de: L3 Stromstärke (A)
en: L3 current (A)
type: number
advanced: true
render: |
type: custom
power:
source: const
value: {{ .power }}
{{- if .energy }}
energy:
source: const
value: {{ .energy}}
{{- end }}
soc:
source: const
value: {{ .soc }}
{{- if .controllable }}
batterymode:
source: js
vm: shared
script: |
1
{{- end }}
{{- if .currentL1 }}
currents:
- source: const
value: {{ .currentL1 }}
{{- if .currentL2 }}
- source: const
value: {{ .currentL2 }}
{{- end }}
{{- if .currentL3 }}
- source: const
value: {{ .currentL3 }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,66 @@
template: demo-meter
group: generic
products:
- description:
de: Demozähler
en: Demo meter
requirements:
description:
en: For demonstration purposes. Meter with a fixed set of values.
de: Zu Demonstrationszwecken. Zähler mit festen Werten.
params:
- name: usage
choice: ["grid", "pv", "aux", "charge"]
- name: power
description:
de: Leistung (W)
en: Power (W)
type: number
- name: energy
description:
de: Zählerstand (kWh)
en: Meter reading (kWh)
type: number
advanced: true
- name: currentL1
description:
de: L1 Stromstärke (A)
en: L1 current (A)
type: number
advanced: true
- name: currentL2
description:
de: L2 Stromstärke (A)
en: L2 current (A)
type: number
advanced: true
- name: currentL3
description:
de: L3 Stromstärke (A)
en: L3 current (A)
type: number
advanced: true
render: |
type: custom
power:
source: const
value: {{ .power }}
{{- if .energy }}
energy:
source: const
value: {{ .energy}}
{{- end }}
{{- if .currentL1 }}
currents:
- source: const
value: {{ .currentL1 }}
{{- if .currentL2 }}
- source: const
value: {{ .currentL2 }}
{{- end }}
{{- if .currentL3 }}
- source: const
value: {{ .currentL3 }}
{{- end }}
{{- end }}