DEV Community

Cover image for p1meter.dev – a virtual DSMR/P1 smart meter over TCP
Robin van der Vleuten
Robin van der Vleuten

Posted on

p1meter.dev – a virtual DSMR/P1 smart meter over TCP

I built p1meter.dev, a small Phoenix LiveView project that simulates a Dutch/Belgian smart meter P1 port.
It streams live DSMR 5.0 telegrams over raw TCP, so you can test P1 readers, parsers, dashboards, or home energy integrations without needing a physical smart meter, P1 cable, adapter, or test setup nearby.

You can try the stream with:

nc p1meter.dev 8080
Enter fullscreen mode Exit fullscreen mode

The web UI shows a live preview of the simulated meter values, while the TCP endpoint emits telegrams similar to what a real P1 reader would receive.

The project is intentionally small. I mainly built it because I wanted predictable DSMR/P1 test data while working on P1-related tooling.

It may be useful for:

  • testing DSMR/P1 parsers
  • developing home energy dashboards
  • experimenting with TCP-based P1 readers
  • reproducing parser/integration bugs

The telegrams are generated using my Elixir dsmr package, which handles the DSMR telegram data structures and formatting.

Things I’m considering next:

  • more realistic daily usage patterns
  • configurable meter profiles/scenarios
  • more edge cases in telegram data
  • examples for consuming the stream from Elixir and other ecosystems

Feedback, bug reports, and ideas are very welcome.

You can also peek at the source at https://github.com/mijnverbruik/p1meter.dev.

Top comments (0)