DLMS Meter
The dlms_meter component connects to smart meters which use the encrypted DLMS/COSEM protocol over UART. These
smart meters are (for example) widely deployed in Austria.
An M-Bus to UART adapter is required. You must also request the 32‑character hexadecimal decryption key from your energy provider / grid operator.
This component is passive; it does not transmit data to the meter. The meter periodically broadcasts frames (often about every 5 seconds). ESPHome listens, decrypts and updates the configured sensors as data arrives.
Example (Generic Provider)
Section titled “Example (Generic Provider)”# Example configuration entry for a generic grid operatoruart: rx_pin: GPIOXX # Adjust for where the M-Bus adapter RX is connected baud_rate: 2400 rx_buffer_size: 1024 # Needed for large frames
dlms_meter: decryption_key: "01234567890123456789012345678901" # Replace with your key
sensor: - platform: dlms_meter voltage_l1: name: "Voltage L1" voltage_l2: name: "Voltage L2" voltage_l3: name: "Voltage L3" current_l1: name: "Current L1" current_l2: name: "Current L2" current_l3: name: "Current L3" active_power_plus: name: "Active power taken from grid" active_power_minus: name: "Active power put into grid" active_energy_plus: name: "Active energy taken from grid" active_energy_minus: name: "Active energy put into grid" reactive_energy_plus: name: "Reactive energy taken from grid" reactive_energy_minus: name: "Reactive energy put into grid"
text_sensor: - platform: dlms_meter timestamp: name: "Timestamp"Example (Netz Noe / EVN)
Section titled “Example (Netz Noe / EVN)”uart: rx_pin: GPIOXX baud_rate: 2400 rx_buffer_size: 1024
dlms_meter: decryption_key: "01234567890123456789012345678901" # Replace with your key provider: netznoe
sensor: - platform: dlms_meter voltage_l1: name: "Voltage L1" voltage_l2: name: "Voltage L2" voltage_l3: name: "Voltage L3" current_l1: name: "Current L1" current_l2: name: "Current L2" current_l3: name: "Current L3" active_power_plus: name: "Active power taken from grid" active_power_minus: name: "Active power put into grid" active_energy_plus: name: "Active energy taken from grid" active_energy_minus: name: "Active energy put into grid" power_factor: # EVN specific name: "Power Factor"
text_sensor: - platform: dlms_meter timestamp: name: "Timestamp" meternumber: # EVN specific name: "Meter Number"Component Configuration
Section titled “Component Configuration”Configuration Variables
Section titled “Configuration Variables”- decryption_key (Required, string, 32 hex chars, case-insensitive, templatable): Key used to decrypt DLMS telegrams. Obtain this from your provider / grid operator.
- provider (Optional): Grid operator profile. Options:
generic(default) – works for most operators.netznoe– Netz Noe / EVN specific mapping.
Sensor
Section titled “Sensor”Not all sensors are available on all meters. Provider specific sensors are listed separately.
Configuration Variables
Section titled “Configuration Variables”Each of the following entries is optional; add only the ones you need. All support the standard Sensor options.
- voltage_l1: Voltage Phase 1.
- voltage_l2: Voltage Phase 2.
- voltage_l3: Voltage Phase 3.
- current_l1: Current Phase 1.
- current_l2: Current Phase 2.
- current_l3: Current Phase 3.
- active_power_plus: Active power taken from grid.
- active_power_minus: Active power put into grid.
- active_energy_plus: Cumulative active energy taken from grid.
- active_energy_minus: Cumulative active energy exported to grid.
- reactive_energy_plus: Reactive energy taken from grid.
- reactive_energy_minus: Reactive energy exported to grid.
Netz Noe / EVN Additional Sensor
Section titled “Netz Noe / EVN Additional Sensor”- power_factor: Power factor. All options from Sensor.
Text Sensor
Section titled “Text Sensor”Configuration Variables
Section titled “Configuration Variables”All text sensor entries are optional and support standard Text Sensor options.
- timestamp: Timestamp included in the received frame.
Netz Noe / EVN Additional Text Sensor
Section titled “Netz Noe / EVN Additional Text Sensor”- meternumber: Meter number reported by the device.