DSMR reader en ser2net uitlezen lijkt niet te lukken

Pagina: 1
Acties:

Vraag


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
Mijn vraag

Om mijn set-up hier thuis wat verder te versimpelen, kwam ik de tool ser2net tegen. Dat is een tool om een verbinding van een seriële bus om te zetten naar het netwerk. Hierdoor hoef ik niet 2 instanties te draaien van DSMR reader.

Voorheen had ik namelijk 1 DSMR reader instantie op mijn Raspberry Pi 3B draaien, omdat ik een P1 naar USB kabel heb die ik dus aan die Pi heb aangesloten. Op mijn Homelab had ik dan ook DSMR reader draaien, dat alleen dienst deed om te praten met de database en de webinterface te serveren. De DSMR reader instantie op de Pi deed dan de P1 uitlezen en verzenden naar de Homelab.

Recentelijk vond ik dus ser2net en ik hoopte daarmee een en ander te kunnen versimpelen, plus meerdere of andere tools ook (directe) toegang te kunnen geven tot de telegrammen.

Middels telnet krijg ik prima de telegrammen te zien, in Home Assistant werkt de directe integratie van de slimme meter op deze manier ook. Enige is dat DSMR reader (versie 5.12) dat niet doet en weinig informtatie uit de telegram lijkt te kunnen halen. Ik krijg dan namelijk een foutmelding en veel waardes zijn namelijk null.

DSMR reader geeft mij dan deze melding terug:
code:
1
2
2026-02-15 17:19:22,112 ERROR    schedule     execute_scheduled_processes      39 | (IntegrityError) dsmr_consumption.services.run errored: null value in column "delivered_1" of relation "dsmr_consumption_electricityconsumption" violates not-null constraint
dsmr  | DETAIL:  Failing row contains (95, 2026-02-15 14:33:00+00, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null).
terwijl een telegram vanuit de genoemde ser2net tool er als volgt uit ziet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/ISK5\2M550E-1014

1-3:0.2.8(50)
0-0:1.0.0(260215170243W)
0-0:96.1.1(4530303831303039313530353436353234)
1-0:1.8.1(002714.869*kWh)
1-0:1.8.2(002500.495*kWh)
1-0:2.8.1(000000.000*kWh)
1-0:2.8.2(000000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.362*kW)
1-0:2.7.0(00.000*kW)
0-0:96.7.21(00006)
0-0:96.7.9(00003)
1-0:99.97.0(1)(0-0:96.7.19)(240109065931W)(0000000607*s)
1-0:32.32.0(00009)
1-0:32.36.0(00001)
0-0:96.13.0()
1-0:32.7.0(231.3*V)
1-0:31.7.0(001*A)
1-0:21.7.0(00.372*kW)
1-0:22.7.0(00.000*kW)
0-1:24.1.0(003)
0-1:96.1.0(4730303839353635363138383938373234)
0-1:24.2.1(260215170005W)(00635.456*m3)
!EBD4
Deze code heb ik dan weer verkregen middels een telnet naar de geconfigureerde poort, de ser2net configuratie ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
connection: &con0096
    accepter: telnet,192.168.0.4,3001
    enable: on
    options:
      banner: *banner
      kickolduser: true
      telnet-brk-on-sync: true
    connector: serialdev,
              /dev/ttyUSB0,
              115200n81,local
Relevante software en hardware die ik gebruik
DSMR reader 5.12 (op Homelab)
ser2net versie 4.3.11 (op Raspberry Pi)
De slimme meter is een ISKRA AM550 uit 2024.

Wat ik al gevonden of geprobeerd heb
Ik heb voornamelijk herinstallaties geprobeerd (wat dus niet hielp) en wat met de instellingen van ser2net zitten klooien, maar tot nu toe geen resultaat in DSMR reader, helaas. Ik vermoed dat ik een instelling niet goed heb in dat ser2net gebeuren, maar ik zie zo 1 2 3 niet welke.

Als uiterst middel kan ik altijd terug naar 2 instanties van DSMR reader, maar ik wilde juist een en ander versimpelen en toegankelijker maken, door de telegrammen op het netwerk te zetten ipv exclusief bij DSMR reader te laten.

Ook is uitwijken naar https://www.zuidwijk.com/product/p1-reader-ethernet/ een laatste redmiddel, als ik dit absoluut niet aan de praat krijg. :)

[ Voor 9% gewijzigd door CH4OS op 15-02-2026 17:50 ]

Alle reacties


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
Heeft er iemand wellicht een idee? :$

  • MsG
  • Registratie: November 2007
  • Laatst online: 09:11

MsG

Forumzwerver

Wat krijg je als je zelf kijkt met telnet?

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
MsG schreef op maandag 16 februari 2026 @ 17:07:
Wat krijg je als je zelf kijkt met telnet?
Wanneer ik kijk met telnet krijg ik gewoon de telegram te zien 9zowel wanneer ik via telnet vanuit de Raspberry Pi dit doe, of vanuit de Homelab), zie ook de topic start, daar staat het al in., inclusief de output die ik te zien krijg.

[ Voor 19% gewijzigd door CH4OS op 16-02-2026 19:49 ]


  • jeroen3
  • Registratie: Mei 2010
  • Nu online
Pak eens een telegram direct van de tty, en dan die van je telnet.
Wat zijn de verschillen?
Line endings?

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
jeroen3 schreef op maandag 16 februari 2026 @ 19:07:
Pak eens een telegram direct van de tty, en dan die van je telnet.
Wat zijn de verschillen?
Line endings?
Ik begrijp de vraag niet. Ik heb op de Raspberry Pi als de Homelab geen directe tty, beiden zijn headless. Ik doe dus altijd een SSH verbinding opbouwen (hetzij naar mijn homelab, hetzij naar mijn Raspberry Pi) van waaruit ik hetzelfde zie met telnet.

Gebruik ik Picocom (picocom -b 115200 /dev/ttyUSB0) op de Raspberry Pi, dan zie ik het volgende als output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/ISK5\2M550E-1014

1-3:0.2.8(50)
0-0:1.0.0(260216193758W)
0-0:96.1.1(4530303831303039313530353436353234)
1-0:1.8.1(002719.81-0:22.7.0(00.000*kW)
0-1:24.1.0(003)
0-1:96.1.0(4730303839353635363138383938373234)
/ISK5\2M550E-1014193500W)(00638.028*m3)

1-3:0.2.8(50)
0-0:1.0.0(260216193759W)
0-0:96.1.1(4530303831303039313530353436353234)
1-0:1.8.1(002719.81-0:22.7.0(00.000*kW)
0-1:24.1.0(003)
0-1:96.1.0(4730303839353635363138383938373234)
/ISK5\2M550E-1014193500W)(00638.028*m3)
Dit lijken dan wel meerdere telegrammen te zijn. Gebruik ik cat om de output te catten (en dus vanaf de Raspberry Pi), direct op /dev/ttyUSB0, zie ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
root@raspberrypi:~# cat -v < /dev/ttyUSB0
/ISK5\2M550E-1014^M
^M
1-3:0.2.8(50)^M
0-0:1.0.0(260216195340W)^M
0-0:96.1.1(4530303831303039313530353436353234)^M
1-0:1.8.1(002719.803*kWh)^M
1-0:1.8.2(002504.007*kWh)^M
1-0:2.8.1(000000.000*kWh)^M
1-0:2.8.2(000000.000*kWh)^M
0-0:96.14.0(0002)^M
1-0:1.7.0(00.397*kW)^M
1-0:2.7.0(00.000*kW)^M
0-0:96.7.21(00006)^M
0-0:96.7.9(00003)^M
1-0:99.97.0(1)(0-0:96.7.19)(240109065931W)(0000000607*s)^M
1-0:32.32.0(00009)^M
1-0:32.36.0(00001)^M
0-0:96.13.0()^M
1-0:32.7.0(230.7*V)^M
1-0:31.7.0(002*A)^M
1-0:21.7.0(00.392*kW)^M
1-0:22.7.0(00.000*kW)^M
0-1:24.1.0(003)^M
0-1:96.1.0(4730303839353635363138383938373234)^M
0-1:24.2.1(260216195008W)(00638.037*m3)^M
!993F^M

[ Voor 68% gewijzigd door CH4OS op 16-02-2026 19:55 ]


  • Opperhoof
  • Registratie: Mei 2003
  • Laatst online: 19:52
CH4OS schreef op zondag 15 februari 2026 @ 17:06:
Mijn vraag

Om mijn set-up hier thuis wat verder te versimpelen, kwam ik de tool ser2net tegen. Dat is een tool om een verbinding van een seriële bus om te zetten naar het netwerk. Hierdoor hoef ik niet 2 instanties te draaien van DSMR reader.

Voorheen had ik namelijk 1 DSMR reader instantie op mijn Raspberry Pi 3B draaien, omdat ik een P1 naar USB kabel heb die ik dus aan die Pi heb aangesloten. Op mijn Homelab had ik dan ook DSMR reader draaien, dat alleen dienst deed om te praten met de database en de webinterface te serveren. De DSMR reader instantie op de Pi deed dan de P1 uitlezen en verzenden naar de Homelab.

Recentelijk vond ik dus ser2net en ik hoopte daarmee een en ander te kunnen versimpelen, plus meerdere of andere tools ook (directe) toegang te kunnen geven tot de telegrammen.

Middels telnet krijg ik prima de telegrammen te zien, in Home Assistant werkt de directe integratie van de slimme meter op deze manier ook. Enige is dat DSMR reader (versie 5.12) dat niet doet en weinig informtatie uit de telegram lijkt te kunnen halen. Ik krijg dan namelijk een foutmelding en veel waardes zijn namelijk null.

DSMR reader geeft mij dan deze melding terug:
code:
1
2
2026-02-15 17:19:22,112 ERROR    schedule     execute_scheduled_processes      39 | (IntegrityError) dsmr_consumption.services.run errored: null value in column "delivered_1" of relation "dsmr_consumption_electricityconsumption" violates not-null constraint
dsmr  | DETAIL:  Failing row contains (95, 2026-02-15 14:33:00+00, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null).
terwijl een telegram vanuit de genoemde ser2net tool er als volgt uit ziet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/ISK5\2M550E-1014

1-3:0.2.8(50)
0-0:1.0.0(260215170243W)
0-0:96.1.1(4530303831303039313530353436353234)
1-0:1.8.1(002714.869*kWh)
1-0:1.8.2(002500.495*kWh)
1-0:2.8.1(000000.000*kWh)
1-0:2.8.2(000000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.362*kW)
1-0:2.7.0(00.000*kW)
0-0:96.7.21(00006)
0-0:96.7.9(00003)
1-0:99.97.0(1)(0-0:96.7.19)(240109065931W)(0000000607*s)
1-0:32.32.0(00009)
1-0:32.36.0(00001)
0-0:96.13.0()
1-0:32.7.0(231.3*V)
1-0:31.7.0(001*A)
1-0:21.7.0(00.372*kW)
1-0:22.7.0(00.000*kW)
0-1:24.1.0(003)
0-1:96.1.0(4730303839353635363138383938373234)
0-1:24.2.1(260215170005W)(00635.456*m3)
!EBD4
Deze code heb ik dan weer verkregen middels een telnet naar de geconfigureerde poort, de ser2net configuratie ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
connection: &con0096
    accepter: telnet,192.168.0.4,3001
    enable: on
    options:
      banner: *banner
      kickolduser: true
      telnet-brk-on-sync: true
    connector: serialdev,
              /dev/ttyUSB0,
              115200n81,local
Relevante software en hardware die ik gebruik
DSMR reader 5.12 (op Homelab)
ser2net versie 4.3.11 (op Raspberry Pi)
De slimme meter is een ISKRA AM550 uit 2024.

Wat ik al gevonden of geprobeerd heb
Ik heb voornamelijk herinstallaties geprobeerd (wat dus niet hielp) en wat met de instellingen van ser2net zitten klooien, maar tot nu toe geen resultaat in DSMR reader, helaas. Ik vermoed dat ik een instelling niet goed heb in dat ser2net gebeuren, maar ik zie zo 1 2 3 niet welke.

Als uiterst middel kan ik altijd terug naar 2 instanties van DSMR reader, maar ik wilde juist een en ander versimpelen en toegankelijker maken, door de telegrammen op het netwerk te zetten ipv exclusief bij DSMR reader te laten.

Ook is uitwijken naar https://www.zuidwijk.com/product/p1-reader-ethernet/ een laatste redmiddel, als ik dit absoluut niet aan de praat krijg. :)
Ik ben een complete noob, maar ik gebruik hier ook ser2net voor. Mijn probleem was destijds dat er standaard maar 1 ander apparaat met de ser2net server kan verbinden. De volgende die het probeert krijgt niks of een error of een time out ofzo.
Ergens in de instellingen van ser2net kun je instellen hoeveel devices verbinding kunnen maken.
Misschien helpt dit ook voor jouw probleem.

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
Opperhoof schreef op maandag 16 februari 2026 @ 19:56:
[...]


Ik ben een complete noob, maar ik gebruik hier ook ser2net voor. Mijn probleem was destijds dat er standaard maar 1 ander apparaat met de ser2net server kan verbinden. De volgende die het probeert krijgt niks of een error of een time out ofzo.
Ergens in de instellingen van ser2net kun je instellen hoeveel devices verbinding kunnen maken.
Misschien helpt dit ook voor jouw probleem.
Dit heb ik ook gezien, maar ook wanneer er maar 1 apparaat verbonden is (de DSMR reader) wordt de data niet geparsed en in de database weggeschreven.

  • jeroen3
  • Registratie: Mei 2010
  • Nu online
Ah oke. Iets te geavanceerd beschreven.
Evident dat je dit moet regelen over een ssh sessie.

Wat ik bedoel is dat je enkele telegrammen (dus enkele seconden) direct naar een file streamt op de rpi. (Dus vanuit de tty naar file)
Daarna doe je hetzelfde trucje met de stream over tcp/udp.

Dan kun je in notepad++ oid met “toon alle karakters” actief goed kijken wat het verschil is.

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
jeroen3 schreef op maandag 16 februari 2026 @ 19:57:
Ah oke. Iets te geavanceerd beschreven.
Evident dat je dit moet regelen over een ssh sessie.

Wat ik bedoel is dat je enkele telegrammen (dus enkele seconden) direct naar een file streamt op de rpi. (Dus vanuit de tty naar file)
Daarna doe je hetzelfde trucje met de stream over tcp/udp.

Dan kun je in notepad++ oid met “toon alle karakters” actief goed kijken wat het verschil is.
Ah thanks, dat ga ik even proberen, moment.

EDIT:
@jeroen3 Ik heb de output, geen idee of het veel verschil maakt. De homelab output is alsvolgt:
Afbeeldingslocatie: https://i.imgur.com/VQw196g.pngde output op de Raspberry Pi is als volgt:
Afbeeldingslocatie: https://i.imgur.com/vmNot7r.pngEnige verschil is dus die nul(l) en linefeed character, die vrijwel aan het begin zit. Het gekke is, kijkende naar de rest van beide files, zit die nul(l) met linefeed ook alleen daar, tussen andere telegrammen zit die regel dan weer nooit.

[ Voor 30% gewijzigd door CH4OS op 16-02-2026 20:38 ]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
De output is dus redelijk hetzelfde, maar om de een of andere reden lukt het niet om het telegram uit te lezen. Iemand die hier wat meer ervaring mee heeft? :) Ik merkte vandaag alleen wel, dat toen ik een telnet sessie opbouwde, het na een aantal telegrammen wel weer de verbinding verbroken werd, zonder verdere foutmelding of zo, behalve dan "Connection closed by foreign host".

[ Voor 41% gewijzigd door CH4OS op 21-02-2026 14:18 ]


  • Xistance
  • Registratie: September 2007
  • Laatst online: 15:49
hmm. Ik ga deze volgen, ik loop hier momenteel ook tegenaan na een upgrade van een oude stack DSMR (postgres 14 etc)

zie het momenteel ook even niet

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
Uiteindelijk ben ik overstag gegaan en heb de P1-to-ethernet van Zuidwijk.com gekocht, zodat ik ook mijn setup wat versimpelen kon en geen dubbele DSMR reader container meer nodig heb. Ik heb daarmee (ook) getest met DSMR reader versie 5 en 6. Het is duidelijk een bug in DSMR reader 6. Home Assistant krijgt nu bijvoorbeeld wel correct de data en in DSMR 5 werkt het ook.

Issue aangemaakt op Github: https://github.com/dsmrreader/dsmr-reader/issues/2130

Edit:
En opgelost, ik had in mijn docker-compose.yml file een volume mount van en naar /etc/localtime. Die verwijderd en toen werkte het. Wellicht werkt dat ook voor jou, @Xistance

[ Voor 27% gewijzigd door CH4OS op 25-02-2026 18:38 ]

Pagina: 1