Mit diesem simplen Programm, welches ich programmiert habe, lassen sich Zählerstände von unterschiedlichen Zählern (Stromzähler, Wasserzähler, …) manuell eintragen (später auch automatisch) und analysieren. Als Server dient hier ein Raspberry Pi (theoretisch funktioniert auch jeder andere Linuxserver, aber wenn Sensoren hinzugefügt werden, dann nicht mehr). Es gibt ein Webinterface und eine App. Das Projekt findet man auf Github: https://github.com/jjk4/energiezaehler

Installation

Installation über das Installationsskript

Lade dir das Installationsskript mit wget https://raw.githubusercontent.com/jjk4/energiezaehler/main/install.sh herunter und führe es mit sudo bash install.sh aus. Das Skript fragt dich nun ein paar Dinge, die du beantworten musst:

  1. In welchem Ordner soll sich der Energiezähler befinden? Beispiel: Wenn du /energie eingibst, wird der Energiezähler unter http://IP_DEINES_RPI/energie erreichbar sein
  2. Soll eine lokale oder entfernte Datenbank verwendet werden? Bei der lokalen Datenbank speichert der Energiezähler die Daten direkt auf dem Gerät, auf dem er läuft. Bei einer entfernten Datenbank kann das auch ein anderer Server sein. Dabei musst du aber selbst influxdb installieren und eine Datenbank erstellen
Bei lokaler Datenbank:
  1. Wie soll die Datenbank heißen? Das ist der Name der Datenbank. du brauchst sie nicht zu erstellen. Das passiert automatisch
Bei entfernter Datenbank
  1. Gib die IP oder den Hostname des Servers der Datenbank ein Die IP des Servers
  2. Gib den Port des Servers der Datenbank ein Standard: 8086
  3. Erstelle auf dem Server eine Datenbank und gib den Namen der Datenbank ein Name der Datenbank, die du erstellt hast

Das war’s. Du kannst jetzt den Energiezähler verwenden und einrichten.

Konfiguration

Unter „Einstellungen“ im Webinterface lassen sich verschiedene Einstellungen vornehmen. Die Datenbankeinstellungen hast du schon bei der Installation festgelegt und solltest du nur ändern, wenn man weiß, was man tut. Zähler lassen sich folgendermaßen Konfigurieren: Der technische Name darf nur aus Kleinbuchstaben und Unterstrichen (_) bestehen. Er wird intern als Erkennungsmerkmal verwendet. Der Anzeigename ist die Bezeichnung eines Zählers, die der Nutzer im Webinterface sieht. Die Einheit sollte selbsterklärend sein. zum Beispiel kWh für Strom- oder m³ für Wasserzähler. Die Art kann man bis jetzt noch nicht einstellen. Sie soll später dazu da sein, die Software mit einem Hardwarezähler zu verbinden, um Werte automatisch auszulesen. Wenn du bei Löschen? einen Haken setzt, dann wird der Zähler nach Bestätigen gelöscht. Hierbei werden keine Daten gelöscht. Wenn du einen Zähler mit dem gleichen technischen Namen erstellst, werden wieder die Daten vom gelöschten Zähler verwendet.

Daten importieren von Energiesparkonto

Der Datenimport ist nicht für absolute Anfänger geeignet. Es wird in einer späteren Version noch die Möglichkeit geben, die Daten direkt grafisch per Webinterface zu setzen.

Du kannst Daten von energiesparkonto.de importieren . Dazu muss man sie zuerst dort exportieren. Das geht folgendermaßen: Zunächst geht man auf die entsprechende Seite (Stromseite, Wasserseite, …) und wählt unter „Meinen Verbrauch entragen“ den Punkt „Hier können Sie Daten importieren oder exportieren“

Im darauffolgenden Menü wählt man „Exportieren“, seinen gewünschten Zähler und „Mac/Unix“. Nachdem man auf Ausführen geklickt hat, wird die Datei heruntergeladen, die im nächsten Schritt auf dem Energiezähler hochgeladen wird.

Kopiere die Datei ins Webverzeichnis (/var/www/html/energie). Um die Daten dann in die Datenbank zu schreiben, mit cd /var/www/html/energie ins Verzeichnis wechseln und dann folgendes eingeben:

sudo -u www-data python3 energiesparkonto.py localhost 8086 file.csv zähler

Dabei ist localhost und 8086 der Host/die IP und der Port der Datenbank. Wenn du bei der Installation „lokal“ gewählt hast, ist es wie hier localhost und 8086. Zähler ist der technische Name des Zählers. File.csv ist der Name der Datei. Nach wenigen Sekunden ist der Datenimport fertig. Damit die Daten auch zu 100% korrekt angezeigt werden, muss man evtl. noch auf Zwischenberechnungen warten, die nach jetzigem Stand einmal am Tag um 12 Uhr stattfinden.

Screenshot Galerie