Skip to main content

Meters / Site

The devices on this page can all be used as energy measuring points (meter) for various purposes:

  • grid: Grid supply
  • pv: Solar power
  • battery: House battery
  • charge: Charging power at the wallbox
  • aux: Smart consumer with its own surplus regulation

The configuration is formatted as follows:

meters:
- name: grid1
type: ...
- name: pv1
type: ...
- name: battery1
type: ...

Once you have adapted the code samples to suit your meters in evcc.yaml, you can test the connection using the evcc meter command, which returns the current status of all connected meters. If you just want to test one meter at a time, use evcc meter --name my_meter.

$ ./evcc meter

grid
-----
Power: -31W
Energy: 5195.5kWh
Current L1..L3: 3.05A 1.07A 1.15A
note

Most components used in modern Solar / Battery installations, especially inverters and battery storage (but also some metering devices!) have support for the relatively standardised "SunSpec" data model, which can be queried via Modbus/TCP without requiring device-specific data registers. If your system isn't listed here, that might mean that it is 100% SunSpec-compatible, so try that as your first port of call. (You may need to enable network support on your device - check the manual)

Features

  • active battery control: Passive battery control is possible with all home batteries. The charging of the vehicle is dynamically adjusted depending on the charge level of the house battery. If the house battery supports active control, further optimizations can be made. Currently, a home battery discharge lock is implemented when fast charging a vehicle.

Filter by feature

ABB A43, A44, B23, B24

meters:
- name: my_grid
type: template
template: abb-ab
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Acrel ADW300 Wireless Metering Meter

meters:
- name: my_grid
type: template
template: acrel-adw300
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
baudrate: 1200 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
comset: "8N1" # Kommunikationsparameter für den Adapter

# RS485 via TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Ads-tec StoraXe

meters:
- name: my_battery
type: template
template: storaxe
usage: battery

# Modbus TCP
modbus: tcpip
id: 2
host: 192.0.2.2 # Hostname
port: 502 # Port

Alpha ESS Storion SMILE

meters:
- name: my_grid
type: template
template: alpha-ess-smile
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 85
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 85
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 85
host: 192.0.2.2 # Hostname
port: 502 # Port

Anker Micro inverter

meters:
- name: my_pv
type: template
template: deye-mi
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

APsystems EZ1

meters:
- name: my_pv
type: template
template: apsystems-ez1
usage: pv
host: 192.0.2.2 # IP address or hostname

Bernecker Engineering MPM3PM

meters:
- name: my_grid
type: template
template: mpm3pm
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Bosswerk Micro inverter

meters:
- name: my_pv
type: template
template: deye-mi
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Carlo Gavazzi

EM/ET 330/340

meters:
- name: my_grid
type: template
template: cg-emt3xx
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

EM24

meters:
- name: my_grid
type: template
template: cg-em24
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

cFos PowerBrain Meter

meters:
- name: my_charger
type: template
template: cfos
usage: charge

# Modbus TCP
modbus: tcpip
id: 2
host: 192.0.2.2 # Hostname
port: 4702 # Port
Sponsor Token Required

More information on 💚 evcc Sponsorship can be found here.

Deye

3p hybrid inverter

meters:
- name: my_grid
type: template
template: deye-hybrid-3p
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Micro inverter

meters:
- name: my_pv
type: template
template: deye-mi
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Storage (hybrid) inverter

meters:
- name: my_pv
type: template
template: deye-storage
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

String inverter

meters:
- name: my_pv
type: template
template: deye-string
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Discovergy

meters:
- name: my_grid
type: template
template: discovergy
usage: grid
user: # User account (e.g. email address, user id, etc.)
password: # Password of the user account (use single quotes in case of leading zeros)
meter: 1ESY1161229886

DSMR

meters:
- name: my_grid
type: template
template: dsmr
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 1502 # Port (optional)

DZG DVH4013

meters:
- name: my_charger
type: template
template: dzg
usage: charge

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

E3/DC

meters:
- name: my_grid
type: template
template: e3dc
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 502 # Port (optional)

Eastron

SDM120-Modbus

meters:
- name: my_grid
type: template
template: eastron-sdm120
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SDM220/230

meters:
- name: my_grid
type: template
template: eastron-sdm220_230
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SDM630-Modbus

meters:
- name: my_grid
type: template
template: eastron
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SDM72D-M

meters:
- name: my_grid
type: template
template: eastron-sdm72
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SDM72DM-V2

meters:
- name: my_grid
type: template
template: eastron
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Enphase IQ Envoy

Only batteries of type "AC Battery" are currently supported by Enphase-API.

meters:
- name: my_grid
type: template
template: enphase
usage: grid
host: 192.0.2.2 # IP address or hostname
token: # Required if Envoy Firmware D7.x.xxx. Token is valid for one year. Instructions for obtaining a token via web UI: https://enphase.com/download/accessing-iq-gateway-local-apis-or-local-ui-token-based-authentication (optional)

ESPHome DSMR

meters:
- name: my_grid
type: template
template: slimmelezer
usage: grid
host: 192.0.2.2 # IP address or hostname

FENECON

meters:
- name: my_grid
type: template
template: openems
usage: grid
host: 192.0.2.2 # IP address or hostname

FoxESS

H1 Series Hybrid Inverter

meters:
- name: my_pv
type: template
template: fox-ess-h1
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 247
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

H3 Series Hybrid Inverter

meters:
- name: my_grid
type: template
template: fox-ess-h3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 247
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

Fronius

Ohmpilot

meters:
- name: my_aux
type: template
template: fronius-ohmpilot
usage: aux
host: 192.0.2.2 # IP address or hostname

Primo GEN24 Plus

meters:
- name: my_grid
type: template
template: fronius-gen24
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 502 # Port (optional)

Solar API V1

Username and password are only required for active battery control.

Attention: Active battery control should only be used if no other settings for time-dependent battery control were made in the inverter configuration under "Energy Management" - "Battery Management", as existing settings will be overwritten.

meters:
- name: my_grid
type: template
template: fronius-solarapi-v1
usage: grid
host: 192.0.2.2 # IP address or hostname
user: customer # User account (e.g. email address, user id, etc.) (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)

Symo GEN24 Plus

meters:
- name: my_grid
type: template
template: fronius-gen24
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 502 # Port (optional)

Ginlong

Solis Hybrid Inverter

meters:
- name: my_grid
type: template
template: solis-hybrid
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Solis Inverter

meters:
- name: my_grid
type: template
template: solis
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

go-e Controller

meters:
- name: my_grid
type: template
template: go-e-controller
usage: grid
host: 192.0.2.2 # IP address or hostname

GoodWe

ET/EH/BH/BT Hybrid Inverter

meters:
- name: my_grid
type: template
template: goodwe-hybrid
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 247
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

GoodWe over Wifi

meters:
- name: my_grid
type: template
template: goodwe-wifi
usage: grid
uri: # HTTP(S) address (optional)

Growatt

Hybrid Inverter

meters:
- name: my_grid
type: template
template: growatt-hybrid
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

TL-X(H) Hybrid Inverter

meters:
- name: my_grid
type: template
template: growatt-hybrid-tlxh
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

HomeWizard Wi-Fi P1 Meter

meters:
- name: my_grid
type: template
template: homewizard
usage: grid
host: 192.0.2.2 # IP address or hostname

Hoymiles

HM & HMS Series (via AhoyDTU)

meters:
- name: my_pv
type: template
template: hoymiles-ahoydtu
usage: pv
host: 192.0.2.2 # IP address or hostname
id: 0 # optional

HM & HMS Series (via OpenDTU)

meters:
- name: my_pv
type: template
template: hoymiles-opendtu
usage: pv
host: 192.0.2.2 # IP address or hostname

Huawei

SmartLogger

meters:
- name: my_grid
type: template
template: huawei-smartlogger
usage: grid

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
timeout: 15s # optional

SUN2000 via RS485 Modbus

meters:
- name: my_grid
type: template
template: huawei-sun2000-rs485
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SUN2000 with SDongle

meters:
- name: my_pv
type: template
template: huawei-dongle
usage: pv

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
timeout: 15s # optional

SUN2000 with SDongle & Power Sensor

meters:
- name: my_grid
type: template
template: huawei-dongle-powersensor
usage: grid

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
timeout: 15s # optional

IGEN Tech Solarman Logger

meters:
- name: my_pv
type: template
template: solarman
usage: pv
host: 192.0.2.2 # IP address or hostname
user: admin # User account (e.g. email address, user id, etc.) (optional)
password: admin # Password of the user account (use single quotes in case of leading zeros) (optional)

inepro PRO380-MOD

meters:
- name: my_grid
type: template
template: inepro
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Janitza B series, UMG series

meters:
- name: my_grid
type: template
template: janitza
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

KEBA KeContact E10

meters:
- name: my_grid
type: template
template: keba-kecontact
usage: grid

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Kostal

Piko (legacy)

meters:
- name: my_pv
type: template
template: kostal-piko-legacy
usage: pv
host: 192.0.2.2 # IP address or hostname
user: # User account (e.g. email address, user id, etc.)
password: # Password of the user account (use single quotes in case of leading zeros)

Piko Hybrid

meters:
- name: my_grid
type: template
template: kostal-piko-hybrid
usage: grid
host: 192.0.2.2 # IP address or hostname

Piko MP Plus

meters:
- name: my_pv
type: template
template: kostal-piko-mp-plus
usage: pv
host: 192.0.2.2 # IP address or hostname

Piko, Piko BA

meters:
- name: my_grid
type: template
template: kostal-piko-pv
usage: grid
host: 192.0.2.2 # IP address or hostname

Plenticore Hybrid

Only a single system may access the inverter! For active battery control, the external battery control via Modbus must be activated using installer access.

meters:
- name: my_pv
type: template
template: kostal-plenticore
usage: pv

# Modbus TCP
modbus: tcpip
id: 71
host: 192.0.2.2 # Hostname
port: 1502 # Port

Smart Energy Meter

meters:
- name: my_grid
type: template
template: kostal-ksem
usage: grid

# Modbus TCP
modbus: tcpip
id: 71
host: 192.0.2.2 # Hostname
port: 502 # Port

Smart Energy Meter (via inverter)

The energy meter must be installed in sensor position 2 (grid connection). Sensor position 1 (House consumption) is not supported.

meters:
- name: my_grid
type: template
template: kostal-ksem-inverter
usage: grid

# Modbus TCP
modbus: tcpip
id: 71
host: 192.0.2.2 # Hostname
port: 1502 # Port

LG ESS Home 8/10

meters:
- name: my_grid
type: template
template: lg-ess-home-8-10
usage: grid
host: 192.0.2.2 # IP address or hostname
password: # User password, see https://github.com/Morluktom/ioBroker.lg-ess-home/tree/master#getting-the-password. Alteratively, use registration id for admin login. (optional)

Loxone Miniserver

meters:
- name: my_grid
type: template
template: loxone
usage: grid
host: 192.0.2.2 # IP address or hostname
user: # User account (e.g. email address, user id, etc.) (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)
meterblock: # Name from Loxone Config
socblock: # Name from Loxone Config, only for battery (optional)

M-TEC

Energy Butler GEN2

meters:
- name: my_grid
type: template
template: mtec-eb-gen2
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 247
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

Energy Butler GEN3

meters:
- name: my_grid
type: template
template: mtec-eb-gen3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 247
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 247
host: 192.0.2.2 # Hostname
port: 502 # Port

my-PV

AC ELWA 2

meters:
- name: my_aux
type: template
template: ac-elwa-2
usage: aux
host: 192.0.2.2 # IP address or hostname

AC ELWA-E

meters:
- name: my_aux
type: template
template: ac-elwa-e
usage: aux
host: 192.0.2.2 # IP address or hostname

AC•THOR

meters:
- name: my_aux
type: template
template: thor
usage: aux
host: 192.0.2.2 # IP address or hostname

WiFi Meter

meters:
- name: my_grid
type: template
template: mypv-wifi-meter
usage: grid

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

OpenEMS

meters:
- name: my_grid
type: template
template: openems
usage: grid
host: 192.0.2.2 # IP address or hostname

Orno OR-WE-516, OR-WE-517

meters:
- name: my_grid
type: template
template: orno
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
comset: "8E1" # Kommunikationsparameter für den Adapter

# RS485 via TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

P1Monitor P1 Monitor

meters:
- name: my_grid
type: template
template: p1monitor
usage: grid
host: 192.0.2.2 # IP address or hostname

Plexlog

The values are updated approximately every 15 seconds, hence the evcc interval should not be less than 30 seconds.

meters:
- name: my_grid
type: template
template: plexlog
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 503 # Port (optional)

Powerdog

meters:
- name: my_grid
type: template
template: powerdog
usage: grid

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Powerfox Poweropti

meters:
- name: my_grid
type: template
template: powerfox-poweropti
usage: grid
user: # User account (e.g. email address, user id, etc.)
password: # Password of the user account (use single quotes in case of leading zeros)

Qcells Q.HOME ESS HYB-G3

meters:
- name: my_grid
type: template
template: solax
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
baudrate: 19200 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
comset: "8N1" # Kommunikationsparameter für den Adapter

# RS485 via TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

RCT Power

meters:
- name: my_grid
type: template
template: rct-power
usage: grid
host: 192.0.2.2 # IP address or hostname

Saia-Burgess Controls ALE3, AWD3

meters:
- name: my_grid
type: template
template: sbc-axx3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SAJ H2 Series Hybrid Solar Inverter

meters:
- name: my_grid
type: template
template: saj-h2
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
baudrate: 115200 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
comset: "8N1" # Kommunikationsparameter für den Adapter

# RS485 via TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SAX Homespeicher

meters:
- name: my_grid
type: template
template: sax
usage: grid

# Modbus TCP
modbus: tcpip
id: 64
host: 192.0.2.2 # Hostname
port: 3600 # Port

Schneider Electric iEM3xxx Modbus

meters:
- name: my_grid
type: template
template: schneider-iem3000
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SENEC .Home

meters:
- name: my_grid
type: template
template: senec-home
usage: grid
host: 192.0.2.2 # IP address or hostname
schema: https # optional

Senergy SE 4/5/6KTL-S1/G2 Inverter

meters:
- name: my_pv
type: template
template: senergy
usage: pv

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Shelly

3EM

meters:
- name: my_grid
type: template
template: shelly-3em
usage: grid
host: 192.0.2.2 # IP address or hostname

Pro 3 EM

meters:
- name: my_grid
type: template
template: shelly-pro-3em
usage: grid
host: 192.0.2.2 # IP address or hostname
user: # User account (e.g. email address, user id, etc.) (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)

Siemens

7KT1665

meters:
- name: my_grid
type: template
template: siemens-7kt1665
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

PAC 2200

meters:
- name: my_grid
type: template
template: siemens-pac2200
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SMA

Data Manager

In the web interface of the SMA Data Manager you need to activate "Modbus Server activated" in the section "External communication".

meters:
- name: my_grid
type: template
template: sma-data-manager
usage: grid

# Modbus TCP
modbus: tcpip
id: 2
host: 192.0.2.2 # Hostname
port: 502 # Port

Energy Meter

meters:
- name: my_grid
type: template
template: sma-energy-meter
usage: grid
host: 192.0.2.2 # IP address or hostname

Inverter (Speedwire)

meters:
- name: my_pv
type: template
template: sma-inverter-speedwire
usage: pv
host: 192.0.2.2 # IP address or hostname
password: # Password for user group Standard (optional)

Smart Energy Hybrid Inverter

meters:
- name: my_pv
type: template
template: sma-hybrid
usage: pv

# Modbus TCP
modbus: tcpip
id: 3
host: 192.0.2.2 # Hostname
port: 502 # Port

Sunny Boy Storage (Modbus)

meters:
- name: my_battery
type: template
template: sma-sbs-modbus
usage: battery

# Modbus TCP
modbus: tcpip
id: 3
host: 192.0.2.2 # Hostname
port: 502 # Port

Sunny Home Manager 2.0

meters:
- name: my_grid
type: template
template: sma-home-manager
usage: grid
host: 192.0.2.2 # IP address or hostname

Sunny Island (Modbus)

meters:
- name: my_battery
type: template
template: sma-si-modbus
usage: battery

# Modbus TCP
modbus: tcpip
id: 3
host: 192.0.2.2 # Hostname
port: 502 # Port

WebBox

meters:
- name: my_pv
type: template
template: sma-webbox
usage: pv

# Modbus TCP
modbus: tcpip
id: 2
host: 192.0.2.2 # Hostname
port: 502 # Port

Wechselrichter (Modbus)

meters:
- name: my_pv
type: template
template: sma-inverter-modbus
usage: pv

# Modbus TCP
modbus: tcpip
id: 3
host: 192.0.2.2 # Hostname
port: 502 # Port

Smartfox

Box, Reg, Reg extended

aux can be used for water heating power.

meters:
- name: my_grid
type: template
template: smartfox
usage: grid
host: 192.0.2.2 # IP address or hostname

Pro, Pro 2, Pro Light, Pro Light 2, Light (EM2 firmware)

aux can be used for water heating power.

meters:
- name: my_grid
type: template
template: smartfox-em2
usage: grid
host: 192.0.2.2 # IP address or hostname

SofarSolar

HYD 3…6K-EP

It is recommended to establish the connection via a LSE-3 logger stick using ModBus TCP (LSW-3 WiFi stick is not supported). If you are connecting via serial RS485 using the inverter's COM port and a proper adapter note that on the inverter's side you have to take care of a proper termination of the RS485 bus.

meters:
- name: my_grid
type: template
template: sofarsolar-g3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

HYD 5…20K-3PH

It is recommended to establish the connection via a LSE-3 logger stick using ModBus TCP (LSW-3 WiFi stick is not supported). If you are connecting via serial RS485 using the inverter's COM port and a proper adapter note that on the inverter's side you have to take care of a proper termination of the RS485 bus.

meters:
- name: my_grid
type: template
template: sofarsolar-g3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

Inverter, Hybrid Inverter

meters:
- name: my_grid
type: template
template: sofarsolar
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SOFAR 5…24KTL-G3

It is recommended to establish the connection via a LSE-3 logger stick using ModBus TCP (LSW-3 WiFi stick is not supported). If you are connecting via serial RS485 using the inverter's COM port and a proper adapter note that on the inverter's side you have to take care of a proper termination of the RS485 bus.

meters:
- name: my_grid
type: template
template: sofarsolar-g3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

SOFAR 80…136KTL

It is recommended to establish the connection via a LSE-3 logger stick using ModBus TCP (LSW-3 WiFi stick is not supported). If you are connecting via serial RS485 using the inverter's COM port and a proper adapter note that on the inverter's side you have to take care of a proper termination of the RS485 bus.

meters:
- name: my_grid
type: template
template: sofarsolar-g3
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 8899 # Port

Solaranzeige Solaranzeige

meters:
- name: my_grid
type: template
template: solaranzeige
usage: grid
host: 192.0.2.2 # IP address or hostname of the MQTT broker
port: 1883 # MQTT broker port (optional)
topic: solaranzeige/box1 # Topic (omit leading /) (optional)
timeout: 30s # Don't accept values older than this value (optional)

SolarEdge

Hybrid Inverter

Only one system can and may have a Modbus TCP connection to the inverter at the same time! For optional battery control, StorageConf_CtrlMode (0xE004) must be set to 4 "Remote" and battery mode must be set to "Time of Use".

meters:
- name: my_grid
type: template
template: solaredge-hybrid
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 1502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 1502 # Port
timeout: 10s # optional

Inverter

Only one system may access the inverter!

meters:
- name: my_grid
type: template
template: solaredge-inverter
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 1502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 1502 # Port
timeout: 10s # optional

Solarlog

We recommend to use this device for grid power values only, if no other device is available providing this data. If you have a home battery installed, please do not use this device at all for grid power values.

meters:
- name: my_grid
type: template
template: solarlog
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 502 # Port (optional)

SolarMax

MAX.STORAGE / MAX.STORAGE Ultimate

meters:
- name: my_grid
type: template
template: solarmax-maxstorage
usage: grid

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SP Series Inverter

meters:
- name: my_pv
type: template
template: senergy
usage: pv

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Solarwatt

EnergyManager, EnergyManager Pro

meters:
- name: my_grid
type: template
template: solarwatt
usage: grid
host: 192.0.2.2 # IP address or hostname

MyReserve

meters:
- name: my_grid
type: template
template: solarwatt
usage: grid
host: 192.0.2.2 # IP address or hostname

MyReserve Matrix (LAN oder PowerGateway)

meters:
- name: my_grid
type: template
template: solarwatt-myreserve-matrix
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 8080 # Port (optional)

Solax

Hybrid X1/X3 G3/G4

meters:
- name: my_grid
type: template
template: solax
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
baudrate: 19200 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
comset: "8N1" # Kommunikationsparameter für den Adapter

# RS485 via TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Hybrid-Inverter (Cloud)

The Solax hybrid inverter has to be registered in the SolaxCloud.

Attention: Values can only be fetched every 150s and then also can be 5 minutes old. Charging by PV will not be optimal because of this! Only use as fallback if no local access is available.

meters:
- name: my_grid
type: template
template: solax-hybrid-cloud
usage: grid
tokenid: # Go to https://www.solaxcloud.com/#/api and take the value of "ObtaintokenID".
serial: # Go to https://www.solaxcloud.com/#/inverter and take the value of registration number.

Inverter (Cloud)

The Solax inverter has to be registered in the SolaxCloud.

Attention: Values can only be fetched every 150s and then also can be 5 minutes old. Charging by PV will not be optimal because of this! Only use as fallback if no local access is available.

meters:
- name: my_pv
type: template
template: solax-inverter-cloud
usage: pv
tokenid: # Use the ObtaintokenID from https://www.solaxcloud.com/#/api.
serial: # Use the registration number from https://www.solaxcloud.com/#/inverter.

Sonnen

comfort, eco 5, eco 6, oem 6.5

meters:
- name: my_grid
type: template
template: sonnenbatterie-eco56
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 7979 # Port (optional)

sonnenBatterie

For active battery control, the "JSON Write API" must be activated via the sonnenBatterie web interface (under Software-Integration) and the API token generated there must be entered in the battery configuration under token.

meters:
- name: my_grid
type: template
template: sonnenbatterie
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 8080 # Port (optional)

Steca coolcept fleX

meters:
- name: my_pv
type: template
template: kostal-piko-mp-plus
usage: pv
host: 192.0.2.2 # IP address or hostname

Sungrow

SG Series Inverter

meters:
- name: my_grid
type: template
template: sungrow-inverter
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SH Series Hybrid Inverter

The connection can be serial (RS485) or via the native (rear) LAN socket on the inverter. Connections via the WiNet-S dongle (WiFi or LAN) do NOT work correctly.

meters:
- name: my_grid
type: template
template: sungrow-hybrid
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port
timeout: 10s # optional

Sunsynk

3p hybrid inverter

meters:
- name: my_grid
type: template
template: deye-hybrid-3p
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Micro inverter

meters:
- name: my_pv
type: template
template: deye-mi
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Storage (hybrid) inverter

meters:
- name: my_pv
type: template
template: deye-storage
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

String inverter

meters:
- name: my_pv
type: template
template: deye-string
usage: pv

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Tesla Powerwall

To use the optional battery control you need to generate a refresh token for communicating with the Tesla API.

The following apps allow to create the token:

meters:
- name: my_grid
type: template
template: tesla-powerwall
usage: grid
host: 192.0.2.2 # IP address or hostname
password: # Password of the user "customer". By default this is the last 5 characters of password stated on the Tesla Gateway.
refreshToken: # See https://docs.evcc.io/en/docs/devices/meters#tesla-powerwall (optional)
siteId: # optional product identifier of the energy site, use to override autodectction (optional)

Tibber Pulse

meters:
- name: my_grid
type: template
template: tibber-pulse
usage: grid
token: 5K4MVS-OjfWhK_4yrjOlFe1F6kJXPVf7eQYggo8ebAE
homeid: 96a14971-525a-4420-aae9-e5aedaa129ff # optional

TQ

Energy Manager EM2xx/EM3xx

meters:
- name: my_grid
type: template
template: tq-em
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 80 # Port (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)

Energy Manager EM420

meters:
- name: my_grid
type: template
template: tq-em420
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 80 # Port (optional)
device: local # JSON-API -> Data Endpoint (optional)
token: ey... # Access token for EM420 (Create in Profile -> Access tokens)

VARTA pulse, pulse neo, element

PV only available with PV sensor

meters:
- name: my_grid
type: template
template: varta
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 502 # Port (optional)

Victron Energy

meters:
- name: my_grid
type: template
template: victron-energy
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 502 # Port (optional)

Youless Energy Monitor

An externally connected S0 generation meter is required to record the solar production.

meters:
- name: my_grid
type: template
template: youless
usage: grid
host: 192.0.2.2 # IP address or hostname

ZCS Azzurro Inverter, Hybrid Inverter

meters:
- name: my_grid
type: template
template: sofarsolar
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Zuidwijk SlimmeLezer(+)

meters:
- name: my_grid
type: template
template: slimmelezer
usage: grid
host: 192.0.2.2 # IP address or hostname

Generic support

Custom

meters:
- name: my_meter
type: custom
power: # power (W)
source: # plugin type
# ...
energy: # optional energy (kWh)
source: # plugin type
# ...
soc: # optional battery soc (%)
source: # plugin type
# ...
currents: # optional currents (A)
- source: # L1 plugin type
# ...
- source: # L2 plugin type
# ...
- source: # L3 plugin type
# ...

SunSpec Battery (Model 124)

meters:
- name: my_battery
type: template
template: sunspec-inverter-control
usage: battery

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SunSpec Battery (Model 802)

meters:
- name: my_battery
type: template
template: sunspec-battery-control
usage: battery

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SunSpec Hybrid Inverter

meters:
- name: my_grid
type: template
template: sunspec-hybrid
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

SunSpec Inverter

meters:
- name: my_grid
type: template
template: sunspec-inverter
usage: grid

# RS485 via adapter (Modbus RTU)
modbus: rs485serial
id: 1
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 TCP/IP (Modbus RTU)
modbus: rs485tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

# Modbus TCP
modbus: tcpip
id: 1
host: 192.0.2.2 # Hostname
port: 502 # Port

Volkszähler

HTTP API

meters:
- name: my_grid
type: template
template: volkszaehler-http
usage: grid
url: # Example: http://zaehler.network.local:8080/api/data (optional)
uuid:

HTTP API, Import & Export

meters:
- name: my_grid
type: template
template: volkszaehler-importexport
usage: grid
url: # The URL is for example: http://zaehler.network.local:8080/api/data (optional)
importuuid:
exportuuid:

WebSocket API

meters:
- name: my_grid
type: template
template: volkszaehler-ws
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 8082 # Port (optional)
uuid:

vzlogger

meters:
- name: my_grid
type: template
template: vzlogger
usage: grid
host: 192.0.2.2 # IP address or hostname
port: 8081 # Port (optional)
uuid:

Switchable sockets

AVM FritzDECT

meters:
- name: my_pv
type: template
template: fritzdect
usage: pv
uri: https://fritz.box # HTTP(S) address (optional)
user: # User account (e.g. email address, user id, etc.)
password: # Password of the user account (use single quotes in case of leading zeros)
ain: 307788992233 # The AIN is printed on the type label on the back of the device. Embed it in double quotes in case of leading zeroes.

Homematic IP

meters:
- name: my_pv
type: template
template: homematic
usage: pv
host: 192.0.2.2 # IP address or hostname
device: '0001EE89AAD848' # Homematic device id like shown in the CCU web user interface.
user: # User account (e.g. email address, user id, etc.) (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)

myStrom Switch

meters:
- name: my_pv
type: template
template: mystrom
usage: pv
host: 192.0.2.2 # IP address or hostname

Shelly 1PM, EM, Plug S

meters:
- name: my_pv
type: template
template: shelly-1pm
usage: pv
host: 192.0.2.2 # IP address or hostname
user: # User account (e.g. email address, user id, etc.) (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)
channel: 0 # optional

Tasmota (1 Phase Meter)

meters:
- name: my_grid
type: template
template: tasmota
usage: grid
host: 192.0.2.2 # IP address or hostname
user: # admin is default (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)
channel: 1 # Meterchannel number (1-8)

Tasmota three phase

Meter channels 1,2,3 must be used.

meters:
- name: my_grid
type: template
template: tasmota-3p
usage: grid
host: 192.0.2.2 # IP address or hostname
user: # admin is default (optional)
password: # Password of the user account (use single quotes in case of leading zeros) (optional)

H-Series Smart Plug

meters:
- name: my_pv
type: template
template: tplink
usage: pv
host: 192.0.2.2 # IP address or hostname

Tapo P-Series Smart Plug

meters:
- name: my_pv
type: template
template: tapo
usage: pv
host: 192.0.2.2 # IP address or hostname
user: # User account (e.g. email address, user id, etc.)
password: # Password of the user account (use single quotes in case of leading zeros)