IAMMETER: single-/split-phase support for all multi-phase meters (#31095)

This commit is contained in:
CiNcH83 2026-06-22 11:33:42 +02:00 • committed by GitHub
parent 2294066b27
commit 0a96b3fd54
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 30 additions and 51 deletions

View file

@ -1,20 +1,45 @@
template: iammeter-1p
covers: ["iammeter-2p"]
products:
- brand: IAMMETER
description:
generic: WEM3080
- brand: IAMMETER
description:
generic: WEM2067
- brand: IAMMETER
description:
generic: WEM3080T (1p)
- brand: IAMMETER
description:
generic: WEM3046T (1p)
- brand: IAMMETER
description:
generic: WEM3050T (1p)
requirements:
description:
de: |
Unterstützt alle IAMMETER-Zähler. Mehrkanal-Zähler (WEM2067, WEM3080T, WEM3046T, WEM3050T) werden über den Parameter `channel` als einphasige Zähler angesprochen.
en: |
Supports all IAMMETER meters. Multi-channel meters (WEM2067, WEM3080T, WEM3046T, WEM3050T) are addressed as single-phase meters via the `channel` parameter.
params:
- name: usage
choice: ["grid", "pv", "charge"]
- name: host
- name: channel
default: 1
description:
de: Messkanal (1-3)
en: Meter channel (1-3)
- name: cache
default: 2s
render: |
type: custom
{{- $idx := sub .channel 1 }}
power:
source: http
uri: http://{{ .host }}/api/monitorjson
jq: .Data[2] # active power, unit: W
jq: if .Datas then .Datas[{{ $idx }}][2] else .Data[2] end # active power, unit: W
cache: {{ .cache }}
{{- if eq .usage "pv" }}
scale: -1
@ -23,17 +48,17 @@ render: |
source: http
uri: http://{{ .host }}/api/monitorjson
{{- if eq .usage "pv" }}
jq: .Data[4] # reverse active energy, unit: kWh
jq: if .Datas then .Datas[{{ $idx }}][4] else .Data[4] end # reverse active energy, unit: kWh
{{- else }}
jq: .Data[3] # forward active energy, unit: kWh
jq: if .Datas then .Datas[{{ $idx }}][3] else .Data[3] end # forward active energy, unit: kWh
{{- end }}
cache: {{ .cache }}
returnenergy:
source: http
uri: http://{{ .host }}/api/monitorjson
{{- if eq .usage "pv" }}
jq: .Data[3] # forward active energy, unit: kWh
jq: if .Datas then .Datas[{{ $idx }}][3] else .Data[3] end # forward active energy, unit: kWh
{{- else }}
jq: .Data[4] # reverse active energy, unit: kWh
jq: if .Datas then .Datas[{{ $idx }}][4] else .Data[4] end # reverse active energy, unit: kWh
{{- end }}
cache: {{ .cache }}

View file

@ -1,46 +0,0 @@
template: iammeter-2p
products:
- brand: IAMMETER
description:
generic: WEM2067
params:
- name: usage
choice: ["grid", "pv", "charge"]
- name: host
- name: channel
default: 1
required: true
description:
de: Messkanal (1-2)
en: Meter channel (1-2)
- name: cache
default: 2s
render: |
type: custom
{{- $idx := sub .channel 1 }}
power:
source: http
uri: http://{{ .host }}/api/monitorjson
jq: .Datas[{{ $idx }}][2] # active power, unit: W
cache: {{ .cache }}
{{- if eq .usage "pv" }}
scale: -1
{{- end }}
energy:
source: http
uri: http://{{ .host }}/api/monitorjson
{{- if eq .usage "pv" }}
jq: .Datas[{{ $idx }}][4] # reverse active energy, unit: kWh
{{- else }}
jq: .Datas[{{ $idx }}][3] # forward active energy, unit: kWh
{{- end }}
cache: {{ .cache }}
returnenergy:
source: http
uri: http://{{ .host }}/api/monitorjson
{{- if eq .usage "pv" }}
jq: .Datas[{{ $idx }}][3] # forward active energy, unit: kWh
{{- else }}
jq: .Datas[{{ $idx }}][4] # reverse active energy, unit: kWh
{{- end }}
cache: {{ .cache }}