[vz-dev] pymeterreader: einer Alternative zu vzlogger
Oliver Schwaneberg
oliver.schwaneberg at gmail.com
Fr Okt 23 08:46:14 CEST 2020
Hallo zusammen,
ich habe mit pymeterreader (https://pypi.org/project/pymeterreader/,
https://github.com/Schwaneberg/pymeterreader) eine Alternative zu vzlogger
implementiert.
Die Ziele von pymeterreader sind:
1. Automatische Zuordnung von Metern zu Schnittstellen. Wenn z.B. mehrere
(identische) Leseköpfe auf z.B. /dev/ttyUSB0, /dev/ttyUSB1, etc. sind, dann
kann pymeterreader diese Schnittstellen dynamisch zu Metern (nach ID) und
somit zu den Kanälen im Volkszahler zuordnen.
2. Die Schnittstellen werden nur während des Lesens gebunden. Abfragen
durch andere Programme und Verbindungsabbrüche im laufenden Betrieb sollten
kein Problem sein.
3. Die Installation und Konfiguration soll einfach und komfortabel sein.
Ich möchte noch ein Hilfstool/wizard für die individuelle Konfiguration
erstellen.
Installation auf dem Pi (erfordert Buster mit Python 3.7):
sudo python3 -m pip install pip --upgrade
sudo python3 -m pip install pymeterreader
sudo systemctl enable pymeterreader
Nach der Installation muss /etc/pymeterreader.yaml angepasst werden. Hier
das Template:
devices:
electric meter:
channels:
1.8.0:
uuid: c07ef180-e4c6-11e9-95a6-434024b862ef
interval: 5m
tty: /dev/ttyUSB\d+ # optional, regex support
id: 1 EMH00 12345678
protocol: sml
baudrate: 9600
heat meter:
channels:
6.8:
uuid: 83b52b26-1c1a-444d-bf46-d9c702fee644
factor: 1000 # convert kWh to Wh
interval: 12h
id: 888777666
protocol: plain
climate basement:
channels:
humidity:
uuid: ca5a59ee-5de5-4a20-a24a-fdb5f64e5db0
interval: 1h
temperature:
uuid: 397eda02-7909-4af8-b1a6-3d6c8535229a
interval: 1h
pressure:
uuid: 250ca04a-02ee-4a1b-98dd-3423b21008b7
interval: 1h
id: 0x76 # Default I2C address
protocol: BME280 # A sensor, not a real meter
middleware:
type: volkszaehler
middleware_url: http://localhost/middleware.php # optional,
defaults to local host
interpolate: True # Interpolate hourly values, if interval >=2h
Nach der Konfiguration kann pymeterreader als Service mit systemctl
gestartet werden:
sudo systemctl start pymeterreader
journalctl -f # Dem Log folgen
Über Feedback und vielleicht sogar Mitarbeit am Projekt würde ich mich
freuen.
Es wäre auch schön wenn das Projekt auf Volkszahler.org verlinkt werden
würde.
PS: Entschuldigung falls diese Mail nun doppelt in der Liste ist. Beim
ersten Versuch ist die Bestätigungsmail im Spamfilter hängen geblieben.
Viele Grüße
Oliver Schwaneberg
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20201023/937d72ca/attachment.html>
Mehr Informationen über die Mailingliste volkszaehler-dev