Ziel des Projektes:
Stromzähler/Smartmeter via ModBus und Raspberry Pi auslesen, die Werte in eine Datenbank speichern und mit Grafana visualisieren
Vorbereitungen
Benötigte Hardware
- Verwendeter Stromzähler: SDM530 von bg-etech: https://stromzähler.eu/stromzaehler/drehstromzaehler/fuer-hutschiene-ungeeicht/22/sdm530modbus-multifunktionsmessgeraet-fuer-din-hutschiene?c=93
- Ebenso möglich ist der Typ SDM230 (hier wurde aber die Klasse in der Software noch nicht geprüft) oder ähnliche Stromzähler mit ModBus Schnittstelle
- Raspberry Pi mit Zubehör
- USB ModBus Adapter: z.B hier
Gibts auch billiger, aber da war mir die Wartezeit im Verhältnis zum Preis zu hoch - geschirmtes Buskabel lt. Anleitung vom Stromzähler
- 2x 120Ohm 1/4Watt Abschlusswiderstand
Einbau des Stromzählers nur durch Elektrofachpersonal!
Angaben ohne Gewähr! Besser nochmals nach Anleitung prüfen
Benötigte Software
- Python 3.7 oder höher
- PostgreSQL (optional mit timescale) oder sqlite3 oder mariadb
- Grafana zur Visualisierung
Für PostgreSQL gibt es noch eine weitere Möglichkeit der Datenübertragung mittels postgrest
Software mit Installationsanleitung befindet sich auf Github
Grafana
Die Visualisierung findet in Grafana statt, auf nähere Ausführungen wird hier jedoch verzichtet, natürlich können die
Messwerte mit anderen Tools visualsiert werden.
Für die Dashboards stehen keine Vorlagen zur Verfügung, dh. diese müssen selbst erstellt werden.
Bilder
Jegliche Änderungen werden immer hier in Beitrag #1 mit einfließen, sodass immer #1 seine Aktualität behält.
Danksagung
Hier noch ein paar Worte des Dankes die dieses Projekt mitermöglicht haben!
- Danke an Zentris, der mit seinem Thread Umwandlung Array of int ( 4 byte) in float nach IEEE 754 bei mir überhaupt das Interesse an diesem Projekt weckte und mir anschließend seinen bisherigen Code zur Weiterentwicklung überreichte
- Danke an Pertl welcher die Serverressourcen für mich bereitstellt.
- Danke an Linus für die ständigen Codekontrollen und Hilfestellungen
- Danke an noisefloor für die vielen systemd Artikel im Wiki auf ubuntuusers, waren schon oftmals sehr hilfreich bei der Einrichtung von Service Units, welcher immer mehr werden
Konstruktive Kritik am Code immer gern erwünscht!