diff --git a/templates/definition/charger/iobroker.yaml b/templates/definition/charger/iobroker.yaml new file mode 100644 index 000000000..225166b33 --- /dev/null +++ b/templates/definition/charger/iobroker.yaml @@ -0,0 +1,172 @@ +template: iobroker +group: generic +products: + - brand: ioBroker + description: + generic: Charger +requirements: + evcc: ["skiptest"] + description: + de: | + Auf der verwendeten ioBroker Instanz muss der `rest-api` adapter (nicht `simple-api`) installiert sein. + Authentifiziert werden kann nur mittels `basic` authentication. Wird kein Passwort angegeben, so wird keine Authentifizierung durchgeführt. + Bei der Angabe der Entities für die einzelnen Messwerte ist darauf zu achten, dass diese korrekt URL-Encoded sind. + So wird aus `shelly.0.SHEM-3#8CAAB561991E#1.Total.ConsumedPower shelly.0.SHEM-3%238CAAB561991E%231.Total.ConsumedPower` + en: | + The `rest-api` adapter (not `simple-api`) must be installed on the ioBroker instance being used. + Authentication can only be performed using `basic` authentication. If no password is provided, no authentication will be performed. + When specifying the entities for the individual measured values, ensure that they are correctly URL-encoded. + For example, `shelly.0.SHEM-3#8CAAB561991E#1.Total.ConsumedPower` becomes `shelly.0.SHEM-3%238CAAB561991E%231.Total.ConsumedPower` +params: + - name: uri + required: true + description: + en: The full uri of the host to query + de: Der vollständige URI der ioBroker Instanz + example: https://iobroker.homelab.lan:8082 + - name: cache + - name: user + - name: password + - name: status + description: + de: Ladezustand (Status A, B, C) + en: Charge status (A, B, C) + type: string + required: true + - name: power + description: + de: Leistung + en: Power + unit: W + type: string + - name: enabled + description: + de: Ladebereit + en: Enabled + type: string + required: true + - name: enable + description: + de: Setze ladebereit + en: Set enabled + type: string + required: true + - name: maxcurrent + description: + de: Setze maximale Stromstärke + en: Set maximum amperage + unit: A + type: string + - name: maxcurrentmillis + description: + de: Setze maximale Stromstärke + en: Set maximum amperage + unit: mA + type: string + advanced: true + - name: phases1p3p + description: + de: Setze Phasen(1 oder 3) + en: Set num phases (1 or 3) + type: string +render: | + type: custom + {{- if .status }} + status: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .status }}/plain?extraPlain=true + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .power }} + power: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .power }}/plain + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .enabled }} + enabled: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .enabled }}/plain + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .enable }} + enable: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .enable }}?value=${enable} + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .maxcurrent }} + maxcurrent: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .maxcurrent }}?value=${maxcurrent} + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .maxcurrentmillis }} + maxcurrentmillis: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .maxcurrentmillis }}?value=${maxcurrentmillis} + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .phases1p3p }} + phases1p3p: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .phases1p3p }}?value=${phases} + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + tos: true + {{- end }} diff --git a/templates/definition/meter/iobroker.yaml b/templates/definition/meter/iobroker.yaml new file mode 100644 index 000000000..dba782956 --- /dev/null +++ b/templates/definition/meter/iobroker.yaml @@ -0,0 +1,160 @@ +template: iobroker +products: + - brand: ioBroker +group: generic +requirements: + evcc: ["skiptest"] + description: + de: | + Auf der verwendeten ioBroker Instanz muss der `rest-api` adapter (nicht `simple-api`) installiert sein. + Authentifiziert werden kann nur mittels `basic` authentication. Wird kein Passwort angegeben, so wird keine Authentifizierung durchgeführt. + Bei der Angabe der Entities für die einzelnen Messwerte ist darauf zu achten, dass diese korrekt URL-Encoded sind. + So wird aus `shelly.0.SHEM-3#8CAAB561991E#1.Total.ConsumedPower shelly.0.SHEM-3%238CAAB561991E%231.Total.ConsumedPower` + en: | + The `rest-api` adapter (not `simple-api`) must be installed on the ioBroker instance being used. + Authentication can only be performed using `basic` authentication. If no password is provided, no authentication will be performed. + When specifying the entities for the individual measured values, ensure that they are correctly URL-encoded. + For example, `shelly.0.SHEM-3#8CAAB561991E#1.Total.ConsumedPower` becomes `shelly.0.SHEM-3%238CAAB561991E%231.Total.ConsumedPower` +params: + - name: usage + choice: ["grid", "pv", "battery", "charge"] + - name: uri + required: true + description: + en: The full uri of the host to query + de: Der vollständige URI der ioBroker Instanz + example: https://iobroker.homelab.lan:8082 + - name: cache + - name: user + - name: password + - name: power + description: + de: Leistung + en: Power + unit: W + type: string + - name: soc + description: + de: Ladestand + en: State of Charge + unit: "%" + type: string + - name: energy + description: + de: Zählerstand + en: Meter reading + unit: kWh + type: string + advanced: true + - name: currentL1 + description: + de: L1 Stromstärke + en: L1 current + unit: A + type: string + advanced: true + - name: currentL2 + description: + de: L2 Stromstärke + en: L2 current + unit: A + type: string + advanced: true + - name: currentL3 + description: + de: L3 Stromstärke + en: L3 current + unit: A + type: string + advanced: true + - preset: battery-params + - name: capacity + - name: minsoc + - name: maxsoc + - name: maxchargepower + - name: maxdischargepower + - name: maxacpower +render: | + type: custom + {{- if .power }} + power: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .power }}/plain + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + cache: {{ .cache }} + {{- end }} + {{- if .soc }} + soc: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .soc }}/plain + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + cache: {{ .cache }} + {{- end }} + {{- if .energy }} + energy: + source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .energy }}/plain + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .currentL1 }} + currents: + - source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .currentL1 }}/plain + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- if .currentL2 }} + - source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .currentL2 }}/plain + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- if .currentL3 }} + - source: http + headers: + - accept: text/plain;charset=UTF-8 + uri: {{ .uri }}/rest-api/v1/state/{{ .currentL3 }}/plain + cache: {{ .cache }} + {{- if .user }} + auth: + type: basic + user: {{ .user }} + password: {{ .password }} + {{- end }} + {{- end }} + {{- end }}