The edl21
integration lets you read German EDL21 smart meters using SML from Home Assistant.
In order to connect to the smart meter, an infrared transceiver is required.
Compatible transceivers:
Tested smart meters:
Many community users need a lot quicker scan interval then the forced 60 seconds of the official edl21
integration. Electical power peaks will not be detected with the standard 60 seconds measurement interval.
Thanx to @jwefers who listened to the community and added an configuration option scan_interval_seconds
that allows to set the scan interval down to 1 second. The smart meter delivers values every second but you can set it to whatever you like. Take care of your disk space when using such small intervalls. Recommendation is 10 seconds what is default of this custom integration.
But configurable intervals are not allowed anymore in the official repo (more info here https://github.com/home-assistant/core/pull/82332/files) so this was the reason for this custom component.
To set it up, follow this procedure:
Restart homeassistant
In case you alredy configured the edl21 platform you will get measurements every 10 seconds. If you are fine with 10 seconds interval you are finished now.
In case you want to set another scan interval you just have to add the parameter scan_interval_seconds
to your configuration.yaml
file:
sensor:
- platform: edl21
serial_port: /dev/ttyUSB0
scan_interval_seconds: 5
name
serial_port
scan_interval_seconds
To enable InF mode there are different steps needed based on the meter type but most commonly you have to enter the PIN you received from your grid operator. Once you have it, enter it into the meter and switch to the InF menu where you can switch from InF=Off to InF=On. Entering this can be done using a flashlight or (if available) via the physical button on the meter.
For the efr SGM-C4 it is:
You will now get more readings like current Power, Voltage, and phase angle. Some meters don´t have this, in that case only an overall reading is provided.
To use this integration with a remote transceiver you could use ser2net.
Example ser2net.conf
configuration file:
2001:raw:0:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT