Hi!
I wanted to share my solution… I bought the said device and it came pre-flashed with their tasmota build. As I am not using tasmota at all, I decided to run ESPHome on it.
I found a few topics on the web and it seems like they were using an older hardware revision, so this is my configuration for reading out a MT691 smartmeter.
If you’re having another meter, the basic values will still work but you will need other OBIS codes for additional readings.
Also additional readings need the PIN disabled while basic readings work with the PIN locked.
The namings are german and I removed secrets, but you’ll get the idea.
Flash using USB connection for the first time!
esphome:
name: stromzaehler
friendly_name: stromzaehler
esp32:
board: esp32-c3-devkitm-1
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: ""
ota:
- platform: esphome
password: "xxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Stromzaehler"
password: "SuperSecurePassword"
captive_portal:
uart:
id: uart_bus
rx_pin: GPIO5
baud_rate: 9600
data_bits: 8
parity: NONE
stop_bits: 1
sml:
id: mysml
uart_id: uart_bus
sensor:
#'Basic Readings
- platform: sml
name: "Gesamtverbrauch"
sml_id: mysml
obis_code: "1-0:1.8.0"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
accuracy_decimals: 2
filters:
- multiply: 0.0001
- platform: sml
name: "Gesamteinspeisung"
sml_id: mysml
obis_code: "1-0:2.8.0"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
accuracy_decimals: 2
filters:
- multiply: 0.0001
# Additional Readings
- platform: sml
name: "Momentanleistung"
sml_id: mysml
obis_code: "1-0:16.7.0"
unit_of_measurement: W
device_class: power
state_class: measurement
accuracy_decimals: 0
- platform: sml
name: "Leistung L1"
sml_id: mysml
obis_code: "1-0:36.7.0"
unit_of_measurement: W
device_class: power
state_class: measurement
accuracy_decimals: 0
- platform: sml
name: "Leistung L2"
sml_id: mysml
obis_code: "1-0:56.7.0"
unit_of_measurement: W
device_class: power
state_class: measurement
accuracy_decimals: 0
- platform: sml
name: "Leistung L3"
sml_id: mysml
obis_code: "1-0:76.7.0"
unit_of_measurement: W
device_class: power
state_class: measurement
accuracy_decimals: 0
- platform: sml
name: "Strom L1"
sml_id: mysml
obis_code: "1-0:31.7.0"
unit_of_measurement: A
device_class: current
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: sml
name: "Strom L2"
sml_id: mysml
obis_code: "1-0:51.7.0"
unit_of_measurement: A
device_class: current
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: sml
name: "Strom L3"
sml_id: mysml
obis_code: "1-0:71.7.0"
unit_of_measurement: A
device_class: current
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: sml
name: "Spannung L1"
sml_id: mysml
obis_code: "1-0:32.7.0"
unit_of_measurement: V
device_class: voltage
state_class: measurement
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: sml
name: "Spannung L2"
sml_id: mysml
obis_code: "1-0:52.7.0"
unit_of_measurement: V
device_class: voltage
state_class: measurement
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: sml
name: "Spannung L3"
sml_id: mysml
obis_code: "1-0:72.7.0"
unit_of_measurement: V
device_class: voltage
state_class: measurement
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: sml
name: "Frequenz"
sml_id: mysml
obis_code: "1-0:14.7.0"
unit_of_measurement: Hz
device_class: frequency
state_class: measurement
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: sml
name: "Phaseangle L2-L1"
sml_id: mysml
obis_code: "1-0:81.7.21"
unit_of_measurement: "°"
accuracy_decimals: 0
disabled_by_default: true
- platform: sml
name: "Phaseangle L3-L1"
sml_id: mysml
obis_code: "1-0:81.7.41"
unit_of_measurement: "°"
accuracy_decimals: 0
disabled_by_default: true
- platform: sml
name: "Phaseangle I/U L1"
sml_id: mysml
obis_code: "1-0:81.7.1"
unit_of_measurement: "°"
accuracy_decimals: 1
disabled_by_default: true
- platform: sml
name: "Phaseangle I/U L2"
sml_id: mysml
obis_code: "1-0:81.7.2"
unit_of_measurement: "°"
accuracy_decimals: 1
disabled_by_default: true
- platform: sml
name: "Phaseangle I/U L3"
sml_id: mysml
obis_code: "1-0:81.7.3"
unit_of_measurement: "°"
accuracy_decimals: 1
disabled_by_default: true