Hardware:
- Smart meter: Landis+Gyr E360-3P (triphasé / 3-phase)
- Grid operator: ORES (Wallonia, Belgium)
- P1 port: activated by ORES (paid activation)
- Microcontroller: Waveshare ESP32-C6 Zero
- Cable: standard straight RJ12 cable
- RTS/Pin2: bridged directly to +5V (Pin1) on RJ12 connector
- RX signal: Pin5 of RJ12 → GPIO2 of ESP32-C6 (with inverted: true)
- Power: ESP32 powered via USB (not from P1 port)
- ESPHome version: 2026.3.1
What works:
ESP32 boots, connects to WiFi ![]()
GPIO14 outputs 3.3V (RTS confirmed active) ![]()
Signal received on GPIO2 (confirmed with multimeter) ![]()
DSMR component finds the telegram header (/) every second ![]()
Problem:
The telegram header is found but the telegram is never fully parsed. No sensor values appear in Home Assistant — all remain unknown.
The only moment it was found is when i used the 7N2:
uart:
id: uart_bus
rx_pin:
number: GPIO2
inverted: true
mode:
input: true
pullup: true
baud_rate: 115200
data_bits: 7
parity: NONE
stop_bits: 2
rx_buffer_size: 4096
But the norm says it is a 8n1 (DSMR 5B) so i’m a bit lost.
Logs:
[V][dsmr:155]: Header of telegram found
[V][dsmr:155]: Header of telegram found
[V][dsmr:155]: Header of telegram found
…repeating every second, no parse, no values.
With dsmr_custom external component, got this error before increasing buffer:
With dsmr_custom external component, got this error before increasing buffer:
[E][dsmr_custom:346]: Error: Plain telegram larger than buffer (1500 bytes). Discarding.
This suggests the telegram from this meter is larger than 1500 bytes.
Current YAML:
uart:
id: uart_bus
rx_pin:
number: GPIO2
inverted: true
mode:
input: true
pullup: true
baud_rate: 115200
data_bits: 8
parity: NONE
stop_bits: 1
rx_buffer_size: 4096
dsmr:
uart_id: uart_bus
receive_timeout: 500ms
crc_check: false
max_telegram_length: 4096
Things already tried:
- Multiple UART configs: 115200 8N1, 9600 7E1, 9600 7E2, 8E1 — both inverted and non-inverted
- receive_timeout from 200ms to 5000ms
- max_telegram_length up to 4096
- rx_buffer_size up to 4096
- crc_check: false
- dsmr_custom external component
- Pull-up enabled/disabled
Question:
Has anyone successfully read P1 data from a Landis+Gyr E360-3P with ORES in Wallonia using ESPHome? What is the correct UART configuration and are there any known quirks with this meter?
The meter firmware version shown on screen is 50221.