diff --git a/templates/definition/meter/sma-sbs-15-25-modbus.yaml b/templates/definition/meter/sma-sbs-15-25-modbus.yaml new file mode 100644 index 000000000..5d116c062 --- /dev/null +++ b/templates/definition/meter/sma-sbs-15-25-modbus.yaml @@ -0,0 +1,228 @@ +template: sma-sbs-15-25-modbus +products: + - brand: SMA + description: + generic: Sunny Boy Storage 1.5/2.0/2.5 (Modbus) +capabilities: ["battery-control"] +params: + - name: usage + choice: ["battery"] + - name: modbus + choice: ["tcpip"] + port: 502 + id: 3 + help: + en: The Modbus TCP-Server needs to be enabled on this inverter + de: Der Modbus TCP-Server muss an diesem Wechselrichter aktiviert sein + - name: capacity + advanced: true + - name: watchdog + type: duration + default: 60s + advanced: true +render: | + type: custom + power: + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 30775 + type: input + decode: int32nan + energy: + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 30513 + type: holding + decode: uint64nan + scale: 0.001 + soc: + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 30845 + type: holding + decode: uint32nan + batterymode: + source: watchdog + timeout: {{ .watchdog }} + reset: 1 # reset watchdog on normal + set: + source: switch + switch: + - case: 1 # normal + set: + source: sequence + set: + - source: const + value: 2424 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40236 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40793 + type: writemultiple + decode: uint32 + - source: const + value: 2500 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40795 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40797 + type: writemultiple + decode: uint32 + - source: const + value: 2650 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40799 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40801 + type: writemultiple + decode: uint32 + - case: 2 # hold + set: + source: sequence + set: + - source: const + value: 2424 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40236 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40793 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40795 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40797 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40799 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40801 + type: writemultiple + decode: uint32 + - case: 3 # charge + set: + source: sequence + set: + - source: const + value: 2289 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40236 + type: writemultiple + decode: uint32 + - source: const + value: 2500 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40793 + type: writemultiple + decode: uint32 + - source: const + value: 2500 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40795 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40797 + type: writemultiple + decode: uint32 + - source: const + value: 2650 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40799 + type: writemultiple + decode: uint32 + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 12 }} + register: + address: 40801 + type: writemultiple + decode: uint32 + capacity: {{ .capacity }} # kWh diff --git a/templates/definition/meter/sma-si-modbus.yaml b/templates/definition/meter/sma-si-modbus.yaml index c6f18818f..bb0b0810a 100644 --- a/templates/definition/meter/sma-si-modbus.yaml +++ b/templates/definition/meter/sma-si-modbus.yaml @@ -3,9 +3,6 @@ products: - brand: SMA description: generic: Sunny Island (Modbus) - - brand: SMA - description: - generic: Sunny Boy Storage 1.5/2.0/2.5 (Modbus) capabilities: ["battery-control"] params: - name: usage