Dieses Projekt ermöglicht das Auslesen von Smartmeter Daten eines Kaifa MA309 über die P1 Schnittstelle.
Das Script ist aktuell auf die Vorgaben der EVN abgestimmt.
- Du benötigst den Schlüssel für die P1 Kundenschnittstelle, dieser kann bei deinem Betreiber beantragt werden
- Gerät zum Auslesen der Daten
- ZTSHBK USB-zu-MBUS-Slave-Modul Master-Slave-Kommunikation Debugging Busüberwachung (https://www.amazon.de/dp/B09F5FGYVS?psc=1&ref=ppx_yo2ov_dt_b_product_details)
- Entsprechende Kabel
- Telefonkabel RJ12 (https://www.amazon.de/dp/B06ZZMVRFQ?psc=1&ref=ppx_yo2ov_dt_b_product_details)
- Python 3
- Linux-basiertes Betriebssystem
Das Python Script liest die zu verwendenden Einstellungen aus den Umgebungsvariablen aus. Folgende Parameter sind verfügbar.
Variable | Beschreibung | Typ | Beispiel |
---|---|---|---|
evn_key | Der Schlüssel für die P1 Kundenschnittstelle, diesen erhältst du vom jeweiligen Netzbetreiber | String | ADZUGGHJGBJHS7862178124 |
comport | Der USB Port an welchem das o.g. Gerät zum Auslesen der Daten hängt | String | /dev/ttyUSB0 |
printValue | Gibt bei Aktivierung mit dem Empfang der Daten die Werte direkt in der Konsole aus | Boolean | true oder false |
debug | Gibt bei Aktivierung mit dem Empfang der Daten die entschlüsselte Application Protocol Data Unit aus | Boolean | true oder false |
influxDB | Ermöglicht bei Aktivierung den Versand der Daten an eine InfluxDB2 Datenbank | Boolean | true oder false |
influxDBServer | Der Server inklusive Port | String | http://192.168.0.2:8065 |
influxDBOrg | Die Organisation der InfluxDB | String | DeineFirmaHier |
influxDBToken | Den Token für InfluxDB | String | DeinTokenHier |
influxDBBucket | Den Bucket für InfluxDB | String | Stromdaten |
Alternativ können die Werte direkt im Script angepasst werden. Sämtliche Konfigurationswerte beginnen mit conf_
.
- Sicherstellen, dass die o.g. Voraussetzungen erfüllt sind
- Projekt herunterladen
- Installation der Pakete über
pip install -r requirements.txt
- Sicherstellen, dass die Konfiguration über Umgebungsvariablen oder direkt im Script angepasst wurde
- Starten des Scripts über
python evn-kaifa-ma309.py
- Sicherstellen, dass die o.g. Voraussetzungen erfüllt sind
- Das Docker Image
masterrg/evn-kaifa-ma309:latest
herunterladen - Die unter 3.1 angegebenen Umgebungsvariablen setzen
- Sicherstellen, dass du deinen USB Port an Docker über
--device
weiterleitest - Container starten
Beispiel
docker run
-d
--name='evn-kaifa-ma309'
--net='host'
-e TZ="Europe/Berlin"
-e 'evn_key'='HIERDEINENKEY'
-e 'comport'='/dev/ttyUSB0'
-e 'printValue'='true'
-e 'debug'='true'
-e 'influxDB'='false'
--device='/dev/ttyUSB0'
'masterrg/evn-kaifa-ma309:latest'
Dieses Projekt findet aktuell lediglich im privaten Bereich Verwendung, entsprechend können spontane Breaking Changes oder grundlegende Änderungen jederzeit vorkommen. Dennoch werden folgende Themenbereiche bei ausreichend Zeit angegangen:
- Automatische Tests
- Refactoring
- Hilfsmethoden
- Hilfspakete
- Überarbeitung Naming Strategie
- Optimierung der Konfiguration
- Inbetriebnahme besser dokumentieren
This project is licensed under the GNU General Public License v3.0 License - see the LICENSE.md file for details