From 3f5bfb5ed0e4302b1e67e3721a5fc54355b04bb1 Mon Sep 17 00:00:00 2001 From: premultiply <4681172+premultiply@users.noreply.github.com> Date: Mon, 13 Mar 2023 17:07:22 +0100 Subject: [PATCH] Add my-PV WiFi Meter (#6805) --- .../definition/meter/mypv-wifi-meter.yaml | 70 +++++++++++++++++++ templates/docs/meter/mypv-wifi-meter_0.yaml | 15 ++++ templates/evcc.io/brands.json | 1 + 3 files changed, 86 insertions(+) create mode 100644 templates/definition/meter/mypv-wifi-meter.yaml create mode 100644 templates/docs/meter/mypv-wifi-meter_0.yaml diff --git a/templates/definition/meter/mypv-wifi-meter.yaml b/templates/definition/meter/mypv-wifi-meter.yaml new file mode 100644 index 000000000..9100f7ed7 --- /dev/null +++ b/templates/definition/meter/mypv-wifi-meter.yaml @@ -0,0 +1,70 @@ +template: mypv-wifi-meter +products: + - brand: my-PV + description: + generic: WiFi Meter +params: + - name: usage + choice: ["grid"] + - name: modbus + choice: ["tcpip"] + port: 502 + id: 1 +render: | + type: custom + power: + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 32 # 0x0020 sum of power, signed, value=data, unit: W + type: holding + decode: int32 + energy: + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 34 # 0x0022 sum of forward energy; unsigned, value=data/800, unit: kWh + type: holding + decode: uint32 + scale: 0.08 + currents: + - source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 1 # 0x0001 Phase A current, unsigned, value=data/100, unit: A + type: holding + decode: uint16 + scale: 0.01 + - source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 11 # 0x000B Phase B current, unsigned, value=data/100, unit: A + type: holding + decode: uint16 + scale: 0.01 + - source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 21 # 0x0015 Phase C current, unsigned, value=data/100, unit: A + type: holding + decode: uint16 + scale: 0.01 + powers: + - source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 2 # 0x0001 Phase A active power, signed, value=data, unit: "W" + type: holding + decode: int32 + - source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 12 # 0x000C Phase B active power, signed, value=data, unit: "W" + type: holding + decode: int32 + - source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 22 # 0x0016 Phase C active power, signed, value=data, unit: "W" + type: holding + decode: int32 diff --git a/templates/docs/meter/mypv-wifi-meter_0.yaml b/templates/docs/meter/mypv-wifi-meter_0.yaml new file mode 100644 index 000000000..39beeb13e --- /dev/null +++ b/templates/docs/meter/mypv-wifi-meter_0.yaml @@ -0,0 +1,15 @@ +product: + brand: my-PV + description: WiFi Meter +render: + - usage: grid + default: | + type: template + template: mypv-wifi-meter + usage: grid + + # Modbus TCP + modbus: tcpip + id: 1 + host: 192.0.2.2 # Hostname + port: 502 # Port diff --git a/templates/evcc.io/brands.json b/templates/evcc.io/brands.json index 511b99ccb..eee336896 100644 --- a/templates/evcc.io/brands.json +++ b/templates/evcc.io/brands.json @@ -83,6 +83,7 @@ "Janitza", "Kostal", "LG", + "my-PV", "myStrom", "OpenEMS", "Orno",