Beste mensen,
Ik probeer mijn slimme meter (DSMR 5.0) uit te lezen met een ESP32, maar ik krijg op dit moment geen data binnen. Ik heb het veelgebruikte schema voor DSMR 5.0 gevolgd zoals te vinden op GitHub (waarbij de 5V van de P1-poort de ESP32 voedt en de Request-pin hoog wordt gehouden).
Mijn hardware setup:
• Meter: Landis+Gyr 350 (DSMR 5.0 ,smr 5.0)
• Microcontroller: ESP32
• Schema: Preview

Software:
Ik gebruik MQTT naar homeassistant Arduino IDE en deze skets: https://github.com/bartwo/esp32_p1meter
Het probleem:
Een of andere manier doe ik iets simpel verkeerd ik al paar weken aan het testen maar het lukt niet om data uit die slimme meter te krijgen
Wat ik al geprobeerd heb:
• De Request-pin (RTS) gecontroleerd op 5V.
• De baudrate staat op 115200 (standaard voor DSMR 5.0).
• [Eventueel: De RX/TX pinnen omgewisseld].
Heeft iemand een idee waar het aan kan liggen bij een 5.0 meter? Moet ik bij deze specifieke meter nog een extra pull-up weerstand gebruiken op de data-lijn, of zie ik iets over het hoofd qua signaalinversie?
Op de foto staat mijn circuit.
En zo heb ik aangesloten: P1 meter (RJ11) ESP8266 (NodeMCU / Wemos)

Pin 2 (RTS) --------> 3.3V
Pin 3 (GND) --------> GND
Pin 5 (DATA) --------> RX (GPIO3)

Extra:
3.3V ----[10kΩ]----+----> DATA (pin 5)
|
(pull-up)
Is er iemand die hier heel diep in zit?
Alvast bedankt voor het meedenken!

Zou de moderator de titel kunnen veranderen naar eps32
B.v.d

Welke debug messages zie je in de Arduino Serial Monitor ? (ESP32 verbonden via usb met laptop) ? Ik dacht ook dat slimme meters een geinverteerd serieel signaal geven, hier vindt ik niets van terug. Het signaal kan eenvoudig geinverteerd worden met wat extra componenten.
In Belgie moet je ook via "Mijn fluvius" de P1 poort van de meter activeren, standaard staat deze uit.
Op github staan ook andere pinnen gedefinieerd voor de seriele poort (settings.h) :
#define BAUD_RATE 115200
#define RXD2 16
#define TXD2 17

[Bericht gewijzigd door RP6conrad op (16%)]

De Github sketch is 5 jaar oud, de kans dat er zaken veranderd zijn is groot.

Je kan kijken naar de ESPHome DSMR component, die wordt normaal onderhouden.
https://esphome.io/components/sensor/dsmr/

Als je homeassistant draait is dat inderdaad een no-brainer. ESPhome is ook van nabu casa, dat werkt het soepelst.

Op dinsdag 28 april 2026 20:33:08 schreef RP6conrad:
Welke debug messages zie je in de Arduino Serial Monitor ? (ESP32 verbonden via usb met laptop) ? Ik dacht ook dat slimme meters een geinverteerd serieel signaal geven, hier vindt ik niets van terug. Het signaal kan eenvoudig geinverteerd worden met wat extra componenten.
In Belgie moet je ook via "Mijn fluvius" de P1 poort van de meter activeren, standaard staat deze uit.
Op github staan ook andere pinnen gedefinieerd voor de seriele poort (settings.h) :
#define BAUD_RATE 115200
#define RXD2 16
#define TXD2 17

Ja klopt TXD hoeft er niet in overbodig

Op dinsdag 28 april 2026 20:46:42 schreef Sine:
Als je homeassistant draait is dat inderdaad een no-brainer. ESPhome is ook van nabu casa, dat werkt het soepelst.

De data naar homeassistant via MQTT werkt perfect maar er komt geen data uit de slimme meter.

Op dinsdag 28 april 2026 20:40:22 schreef marcob:
De Github sketch is 5 jaar oud, de kans dat er zaken veranderd zijn is groot.

Je kan kijken naar de ESPHome DSMR component, die wordt normaal onderhouden.
https://esphome.io/components/sensor/dsmr/

Mooi ga mee aan de slag maar MQTT werk perfeckt

Op dinsdag 28 april 2026 20:33:08 schreef RP6conrad:
Ik dacht ook dat slimme meters een geinverteerd serieel signaal geven, hier vindt ik niets van terug. Het signaal kan eenvoudig geinverteerd worden met wat extra componenten.

wordt in de software aangepast.
toch niet, ik heb ook een transistor erop zitten om te inverteren

ik heb een ESP8266 direct op de P1 hangen, zelf gevoed vanuit de P1

Ik had ellende op m'n orange pi zero omdat het pythonscript te traag was met de nieuwe dsmr5 meter uitlezen. Ik had steeds halve telegrammen waar de meeste data ontbrak.

Op dinsdag 28 april 2026 21:18:13 schreef fcapri:
[...]

wordt in de software aangepast.
toch niet, ik heb ook een transistor erop zitten om te inverteren

ik heb een ESP8266 direct op de P1 hangen, zelf gevoed vanuit de P1

Mij is ook wel eens geadviseerd om een transistor in te bouwen, maar omdat ik geen voorbeelden heb, weet ik niet goed hoe ik dit circuit moet maken. Heb je misschien een duidelijke foto of een schema, bijvoorbeeld zoals op GitHub? Daarnaast ben ik benieuwd waarom een transistor beter zou werken en welk type transistor je dan gebruikt. Ik heb er zelf ook een paar liggen. Zou je ook kunnen uitleggen waarom het beter werkt? Ik hoop dat dit niet te veel gevraagd is; ik ben al blij met alle informatie die je kunt geven.

Op woensdag 29 april 2026 01:04:52 schreef harry64:
Ik had ellende op m'n orange pi zero omdat het pythonscript te traag was met de nieuwe dsmr5 meter uitlezen. Ik had steeds halve telegrammen waar de meeste data ontbrak.

Dan heb je tenminste iets van data binnen, ik krijg (nog) niks. Hoe heb je het script sneller gekregen of is het mislukt?

het signaal is geinverteerd. dus ofwel moet je in software alle bitjes gaan omdraaien, ofwel moet je het inverteren met een transistor.

ik heb het destijds hier ook moeten vragen want het werkte niet.
ik had het schema hiervan gebruik, en daar ontbreekt de pull up op het data signaal, vandaar dat het niet werkte.

https://www.circuitsonline.net/forum/view/161352#highlight=p1

en fototje wat je ongeveer moet maken. ik denk dat ik een BC547 gebruikte
https://www.circuitsonline.net/forum/file/126093/forum-post

Op pagina 7 van de p1 specificatie staat hoe de meter intern gebouwd moet zijn. De datapin wordt dus naar GND getrokken door de meter. Omdat je een pull-up gebruikt is de data dus inderdaad geïnverteerd.

Hierbij het schema:

Wil je het netjes doen, kun je werken met de data request pin. Met deze optie geeft de ESP een signaal aan de P1 poort dat hij klaar is voor het ontvangen van een telegram.
https://esphome.io/_astro/dsmr-request-pin-circuit-example.DwKV5jU1_Z2fya6d.webp

In Belgie staat er standaard geen data op de P1 poort, deze moet je online aanvragen.

Die data request is afhankelijk van de meter, ik ben er nog geen tegengekomen waarbij het niet werkt als je die direct aan +5V knoopt.

Verdere externe hardware (buiten misschien een pull-up) is niet nodig.

Ik heb er een handje vol gemaakt voor verschillende DSMR4 en 5 meters, allemaal met esphome.

Je kunt testen of je data van de meter krijgt door een LED met een 1k weerstand tussen +5 en TX te zetten, die zie je dan elke 1 of 10 seconden knipperen.

[Bericht gewijzigd door Sine op (21%)]

Whow daar heb je wat aan ga er mee aan de slag

Op woensdag 29 april 2026 08:57:45 schreef fcapri:
het signaal is geinverteerd. dus ofwel moet je in software alle bitjes gaan omdraaien, ofwel moet je het inverteren met een transistor.

ik heb het destijds hier ook moeten vragen want het werkte niet.
ik had het schema hiervan gebruik, en daar ontbreekt de pull up op het data signaal, vandaar dat het niet werkte.

https://www.circuitsonline.net/forum/view/161352#highlight=p1

en fototje wat je ongeveer moet maken. ik denk dat ik een BC547 gebruikte
Waar gaan die draden heen rechts van de foto?

[afbeelding]

Ik lees met een Wemos D1 ding mijn meter uit. Interface is simpel, drie weerstanden en een npn tor (BC548 uit het rommelbakje als inverter. 5 meter snoer tussen meter en mijn interface/esp. Gaat prima. Echter, sinds ik de voeding uit de P1 gebruik gaat die esp regelmatig plat (meestal binnen een weekje). Op de Wemos Esp draait ESP-easy, en Domoticz op mijn pc. Ik vermoed dat de 5 v uit de P1 af en toe een beetje te zwaar belast wordt als de esp gaat zenden. Of ESPeasy nog reageert via zijn web-interface zou ik moeten testen. Plat gaan betekent dat Domoticz de esp niet meer ziet, totdat ik de esp reset knop bedien. Voeding bufferen heb ik nog niet getest.
Aan de Wemos hangen nog wat ledjes en schakelaars van een vorige test. Die werken ook niet meer goed met Domoticz sind een ESP-easy en\of Domoticz update. Vreemd...

Zoals @sine ook al schrijft is het niet nodig om de data pin in hardware te inverteren. Je kan dat door de software laten doen.

https://esphome.io/components/uart/#configuration-variables

Op donderdag 30 april 2026 01:17:11 schreef soldeersmurf:
Gaat prima. Echter, sinds ik de voeding uit de P1 gebruik gaat die esp regelmatig plat (meestal binnen een weekje).

als ik me goed herinner (kan het niet opzoeken) heb ik het vermogen van de ESP wat verlaagd, want de wifi router zit er toch 50cm vandaan.

ik heb ook een elco op de pinnen van de ESP toegevoegd (10-100µF ofzo, zou eens moeten kijken thuis)

Op donderdag 30 april 2026 08:01:05 schreef fcapri:
[...]

als ik me goed herinner (kan het niet opzoeken) heb ik het vermogen van de ESP wat verlaagd, want de wifi router zit er toch 50cm vandaan.

ik heb ook een elco op de pinnen van de ESP toegevoegd (10-100µF ofzo, zou eens moeten kijken thuis)

Blijkbaar zitten we op hetzelfde spoor. Ik weet dat de P1 poort 5V gelimiteerd is op ?? mA. De ESP vreet best wel stroom bij WiFi zenden, dus ga ik er van uit dat daar een probleempje zit.
Komt er gelijk een vraag terug: Kan ik het zendvermogen van de ESP eenvoudig reduceren? Ik zal eens kijken in de Web-page die ESP-easy toont, voordat ik het hele softare-circus weeer optuig.
In ieder geval bedankt voor je suggestie!

Op zondag 3 mei 2026 19:08:12 schreef soldeersmurf:
Ik weet dat de P1 poort 5V gelimiteerd is op ?? mA.

ik dacht tot 300mA.
maar een ESP8266 (80mA) is zuiniger dan een ESP32 (160-240mA).

dikkere condensator, klein weerstandje tussen P1 en elco en dan in burst je esp wakker maken en de boel doorzenden?

afhankelijk welke library is het iets zoals dit

esp_wifi_set_max_tx_power(20);

of

WiFi.setOutputPower(dBm);
dBm kan van 0-20. weet niet of het veel invloed heeft op het verbruik maar ik heb hiermee al gespeelt om het vermogen te minderen om minder reflectie te hebben

[Bericht gewijzigd door fcapri op (10%)]

DSMR 4.x is gespecificeerd op max 100 mA en DSMR 5.0 op 250 mA.