From 670673a0eb3f1b4fb468d681be24059b7bfdf23c Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 20 Feb 2022 20:06:02 +0100 Subject: [PATCH] Split Sungrow templates by connection type (#2650) --- .../definition/meter/sungrow-dongle.yaml | 69 +++++++++++++++++++ templates/definition/meter/sungrow.yaml | 40 ++++------- templates/docs/meter/sungrow-dongle_0.yaml | 56 +++++++++++++++ templates/docs/meter/sungrow_0.yaml | 2 +- 4 files changed, 138 insertions(+), 29 deletions(-) create mode 100644 templates/definition/meter/sungrow-dongle.yaml create mode 100644 templates/docs/meter/sungrow-dongle_0.yaml diff --git a/templates/definition/meter/sungrow-dongle.yaml b/templates/definition/meter/sungrow-dongle.yaml new file mode 100644 index 000000000..0e84822b3 --- /dev/null +++ b/templates/definition/meter/sungrow-dongle.yaml @@ -0,0 +1,69 @@ +template: sungrow-dongle +products: +- brand: Sungrow (Wifi dongle) + description: + generic: Inverter (Beta) +guidedsetup: + enable: true +params: +- name: usage + choice: [ "grid", "pv", "battery" ] +- name: modbus + choice: [ "rs485", "tcpip" ] +render: | + type: custom + {{- if eq .usage "grid" }} + power: + source: modbus + {{include "modbus" . | indent 2}} + register: + type: input + address: 13009 # Export power + decode: int32s + scale: -1 + {{- end }} + {{- if eq .usage "pv" }} + power: + source: modbus + {{include "modbus" . | indent 2}} + register: + type: input + address: 5016 # Total DC power + decode: uint32s + {{- end }} + {{- if eq .usage "battery" }} + power: + source: calc + mul: + - source: modbus + {{include "modbus" . | indent 4}} + register: + type: holding + address: 13022 # Battery power + decode: int16 + - source: calc + add: + - source: modbus + {{include "modbus" . | indent 6}} + register: + type: holding + address: 13001 # Battery running state + decode: bool16 + bitmask: 2 # Charging + scale: -1 + - source: modbus + {{include "modbus" . | indent 6}} + register: + type: holding + address: 13001 # Battery running state + decode: bool16 + bitmask: 4 # Discharging + soc: + source: modbus + {{include "modbus" . | indent 2}} + register: + address: 13022 # Battery level + type: input + decode: int16 + scale: 0.1 + {{- end }} diff --git a/templates/definition/meter/sungrow.yaml b/templates/definition/meter/sungrow.yaml index 4429f552c..a45f1c835 100644 --- a/templates/definition/meter/sungrow.yaml +++ b/templates/definition/meter/sungrow.yaml @@ -1,6 +1,6 @@ template: sungrow products: -- brand: Sungrow +- brand: Sungrow (LAN) description: generic: Inverter (Beta) guidedsetup: @@ -12,8 +12,8 @@ params: choice: [ "rs485", "tcpip" ] render: | type: custom - power: {{- if eq .usage "grid" }} + power: source: modbus {{include "modbus" . | indent 2}} register: @@ -23,39 +23,23 @@ render: | scale: -1 {{- end }} {{- if eq .usage "pv" }} + power: source: modbus {{include "modbus" . | indent 2}} register: - type: input address: 5016 # Total DC power + type: input decode: uint32s {{- end }} {{- if eq .usage "battery" }} - source: calc - mul: - - source: modbus - {{include "modbus" . | indent 4}} - register: - type: holding - address: 13022 # Battery power - decode: int16 - - source: calc - add: - - source: modbus - {{include "modbus" . | indent 6}} - register: - type: holding - address: 13001 # Battery running state - decode: bool16 - bitmask: 2 # Charging - scale: -1 - - source: modbus - {{include "modbus" . | indent 6}} - register: - type: holding - address: 13001 # Battery running state - decode: bool16 - bitmask: 4 # Discharging + power: + source: modbus + {{include "modbus" . | indent 2}} + register: + address: 13021 # Battery power + type: input + decode: int16 + #scale: -1 # charging sign form 13000 & 0x2 soc: source: modbus {{include "modbus" . | indent 2}} diff --git a/templates/docs/meter/sungrow-dongle_0.yaml b/templates/docs/meter/sungrow-dongle_0.yaml new file mode 100644 index 000000000..dacc21970 --- /dev/null +++ b/templates/docs/meter/sungrow-dongle_0.yaml @@ -0,0 +1,56 @@ +product: + brand: Sungrow (Wifi dongle) + description: Inverter (Beta) + +render: +- usage: grid + default: | + type: template + template: sungrow-dongle + usage: grid + # Modbus Start + id: 1 + # RS485 via adapter: + device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse + baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200 + comset: "8N1" # Kommunikationsparameter für den Adapter + # RS485 via TCPIP: + uri: 192.0.2.2:502 # IP-Adresse oder Hostname: Port + rtu: true + # TCPIP + uri: 192.0.2.2:502 # IP-Adresse oder Hostname: Port + # Modbus End +- usage: pv + default: | + type: template + template: sungrow-dongle + usage: pv + # Modbus Start + id: 1 + # RS485 via adapter: + device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse + baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200 + comset: "8N1" # Kommunikationsparameter für den Adapter + # RS485 via TCPIP: + uri: 192.0.2.2:502 # IP-Adresse oder Hostname: Port + rtu: true + # TCPIP + uri: 192.0.2.2:502 # IP-Adresse oder Hostname: Port + # Modbus End +- usage: battery + default: | + type: template + template: sungrow-dongle + usage: battery + # Modbus Start + id: 1 + # RS485 via adapter: + device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse + baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200 + comset: "8N1" # Kommunikationsparameter für den Adapter + # RS485 via TCPIP: + uri: 192.0.2.2:502 # IP-Adresse oder Hostname: Port + rtu: true + # TCPIP + uri: 192.0.2.2:502 # IP-Adresse oder Hostname: Port + # Modbus End \ No newline at end of file diff --git a/templates/docs/meter/sungrow_0.yaml b/templates/docs/meter/sungrow_0.yaml index 4071d2c16..dbf916157 100644 --- a/templates/docs/meter/sungrow_0.yaml +++ b/templates/docs/meter/sungrow_0.yaml @@ -1,5 +1,5 @@ product: - brand: Sungrow + brand: Sungrow (LAN) description: Inverter (Beta) render: