This project contains a Python script to read a network connected P1 reader using TCP. The messages are interpreted, transformed to JSON and published on MQTT. This application makes it straightforward to have messages from your meter available in a readable JSON format on MQTT.
The script can be executed using Python and Docker.
Before you start, rename
.env.exampleto.envand make sure to fill in the variables.
- Install
uv: https://docs.astral.sh/uv/getting-started/installation/ - Start the script using
uv run python -m app - Optional: run tests using
uv run pytest
- Ensure you have Docker installed: https://docs.docker.com/get-docker/
- Build container using
docker build -t p1-reader . - Start container using
docker run --env-file ./.env --name p1-reader -d p1-reader
Dit project is een Python-script die een P1-reader aangesloten op het netwerk uitleest middels TCP, de berichten interpreteert, omzet naar JSON en publiceert op MQTT. Door deze applicatie te draaien heb je de berichten van je slimme meter binnen een handomdraai in leesbaar en bruikbaar JSON-formaat beschikbaar op MQTT.
Het script kan zowel via Python als Docker uitgevoerd worden.
Hernoem
.env.exampleto.enven zorg dat alle variables ingevuld zijn.
- Installeer
uv: https://docs.astral.sh/uv/getting-started/installation/ - Start het script middels
uv run python -m app - Optioneel: voer tests uit met
uv run pytest
- Zorg dat je Docker geinstalleerd hebt: https://docs.docker.com/get-docker/
- Build de container met
docker build -t p1-reader . - Start de container met
docker run --env-file ./.env --name p1-reader -d p1-reader