Stromzähler AS1440 (Stadtwerke Osnabrück) auslesen

Wir haben vor ca. 2 Jahren unseren Neubau bezogen und sind seit dem auch mit einem digitalen Stromzähler gesegnet. Um genau zu sein, sogar mit zwei Exemplaren (Hausstrom & Wärmepumpe). Das Angebot der Stadtwerke Osnabrück, auf die Messwerte zurückzugreifen hat mich aber technisch (sehr altbackene Oberfläche SmartWeb und SmartCockpit) und preislich nicht angesprochen. Daher bin ich auf die Suche nach einer alternativen Lösung gegangen.

Hier der Zähler vom Anbieter Elmess. Die Stadtwerke Osnabrück setzen das gleiche Modell ein.

Da dies unter technikinteressierten Neuimmobilienbesitzern ein häufigeres Problem zu sein scheint, bin ich durch Björn Kaminski und Sören Gödde auf mein jetziges Lösungsszenario aufmerksam geworden. Grob besteht dies aus folgenden Ansätzen:

  • Raspberry PI
  • IR-USB Schnittstelle
  • Volkszaehler OpenSource Projekt
  • (Icinga & Grafana später ElasticSeach & Kibana)

Die Stadtwerke Osnabrück werden ab 2018 alle Haushalte in Osnabrück auf dieses Zählermodell (AS1440 von Elster) umstellen. Ich möchte an dieser Stelle daher meine Erkenntnisse teilen und eine schrittweise Anleitung zum permanenten Auslesen des Zählers bereitstellen.

Benötigte Hardware

Wer bei Null anfängt benötigt folgende Hardware:

Für die Montage der Hardware und des Raspberry PI findet man zahlreiche Anleitungen im Netz. In meinem Fall habe ich den Raspberry PI auch per LAN-Kabel in mein Netzwerk eingebunden. Somit entfiel die Konfiguration des WLAN und der Stromkasten ist sowieso in unmittelbarer Nähe zum Netzwerkschrank.

Die Komponenten werden wie folgt miteinander verbunden:

  • Netzwerkkabel zwischen Raspberry PI und Router
  • Lesekopf mit USB Kabel an einen USB-Port des Raspberry PI und an die passende Stelle am Stromzähler (Siehe Foto)
  • Vorbereitete SD-Karte (beschrieben mit dem Volkszähler Image, (siehe unten)) einstecken.
  • Strom anschließen.

Grundsystem installieren

Der einfachste Weg ist, das vorgefertigte Disk-Image vom Volkszähler-Projekt zu installieren. Eine detaillierte Anleitung dazu ist hier zu finden: https://wiki.volkszaehler.org/howto/raspberry_pi_image. Dort findet ihr auch den Link zum Download der aktuellen Version des Volkszaehler-Images. Diese Anleitung solltet ihr bis zu dem Punkt folgen, an dem ihr euch per SSH auf dem Raspberry PI einloggen könnt.

Das Anlegen der einzelnen Kanäle (Datenquellen) beschreibe ich hier speziell für den von den Stadtwerken eingesetzten AS1440:

Nutzung von Terminal / Putty zum Verbinden mit dem Raspberry PI:

ssh pi@IP_DES_RASPBERRYPI

Passwort lautet: raspberry

Im nächsten Schritt muss herausgefunden werden, unter welchem Port der IR-Lesekopf angesprochen werden kann. Dazu nutzen wir in der aktiven Session den folgenden Befehl:

dmesg |grep USB

In meinem Fall sieht das Ergebnis so aus:

In meinem Fall sind zwei Leseköpfe angeschlossen und werden daher auch beide gefunden. Der Port des ersten Lesekopfes ist /dev/ttyUSB0.

Im nächsten Schritt wollen wir den IR-Kopf entsprechend im System konfigurieren. Dazu legen wir einige Grundeinstellungen für die Schnittstelle fest:

sudo stty -F /dev/ttyUSB0 1:0:9a7:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0

Mit diesem Befehl senden führen wir eine Grundkonfiguration des IR-Adapters durch und konfigurieren Dinge wie die Baudrate. Da dieser Schritt immer ausgeführt werden muss, bevor Messwerte ausgelesen werden können, fügen wir diesen Befehl zur Bootsequenz (Autostart) des Raspberry PI hinzu. Dazu legen wir uns eine entsprechende Datei im Verzeichnis /etc/init.d an:

sudo touch /etc/init.d/changeCommunication.sh
sudo echo '#!/bin/bash' >> /etc/init.d/changeCommunication.sh
sudo echo 'sudo stty -F /dev/ttyUSB0 1:0:9a7:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0' >> /etc/init.d/changeCommunication.sh
sudo chmod +x /etc/init.d/changeCommunication.sh

Test der Einstellungen

Damit wir herausfinden können, ob unsere Einstellungen funktionieren. Öffnen wir eine eine zweite Termin-/Putty Session zum Raspberry PI. Auf der einen Session werden wir einen Befehl an den Stromzähler senden, um diesen aufzufordern uns Messwerte zu geben. Über die andere Session werden wir die Rückgabewerte des Stromzählers überwachen.

Dazu öffnen wir also zu unserer bereits bestehenden Session eine weiter. In der einen Session starten wir die Überwachung der Schnittstelle:

sudo cat /dev/ttyUSB0

In der anderen Session senden wir einen initialen Aufruf an den Stromzähler, um Messwerte zurückzugeben:

sudo echo -n -e '\x2F\x3F\x21\x0D\x0A' > /dev/ttyUSB0

Das Ergebnis sah in meinem Fall dann so aus:

Die Aufzählung der Werte ist identisch mit denen, die auch über das Display des Stromzählers ausgelesen werden können.

So, jetzt sind wir schon einmal ein gutes Stück weiter. Der Raspberry PI kann grundlegend Daten vom Stromzähler auslesen und der Volkszähler ist auch installiert. Im nächsten Schritt werden wir nun diese beiden Lösungen zusammenbringen, damit der Volkszähler durchgehend die Daten aus dem Zählwerk ausliest und speichert.

Konfiguration des Stromzählers im Volkszähler

Um dem Volkszähler zu sagen, welche Daten er wirklich speichern soll ist es sinnvoll sich auf die nötigen Werte zu beschränken. Ich habe in meinem Fall nur den jeweils aktuellen Verbrauch speichern wollen. Dieser läuft im Zählwerk unter der Adresse „1-1:1.8.0“ (Siehe Screenshot).

In einer Terminal-/Putty-Session stoppen wir den Volkszähler, um die Konfiguration anzupassen:

sudo systemctl stop vzlogger

In der Datei /etc/vzlogger.conf findet ihr eine Beispielkonfiguration mit Testdaten. Diese Konfiguration kann entweder erweitert oder überschrieben werden. Ich habe diese Datei überschreiben mit dem folgenden Inhalt und entsprechend die Einstellungen für de Adresse im Zählwerk als auch die USB-Schnittstelle berücksichtigt.

{
"retry": 0,
"daemon": true,
"verbosity": 0,
"log": "/var/log/vzlogger.log",
"local": {
"enabled": false,
"port": 8080,
"index": true,
"timeout": 0,
"buffer": 0
},
"meters": [
{
"enabled": true,
"allowskip": false,
"interval": -1,
"aggtime": -1,
"aggfixedinterval": false,
"channels": [
{
"uuid": "6836dd20-00d5-11e0-bab1-856ed5f959ae",
"identifier": "1-1:1.8.0",
"api": "volkszaehler",
"middleware": "http://localhost/middleware.php",
"aggmode": "none",
"duplicates": 0
}
],
"protocol": "d0",
"device": "/dev/ttyUSB0",
"dump_file": "",
"pullseq": "2F3F210D0A",
"ackseq": "auto",
"baudrate": 300,
"baudrate_read": 9600,
"baudrate_change_delay": 500,
"parity": "7e1",
"read_timeout": 100
}
]
}

Solltet ihr mehrere Messwerte Speichern wollen, müsst ihr entsprechend im JSON-File unter channels nach gleichem Schema weitere Messwerte hinzufügen.

Im Anschluss muss die neue ID dieser Messquelle noch in die Datenbank des Volkszählers eingetragen werden. Dazu nutzen wir den folgenden Befehl:

mysql --user=root --password=raspberry -e "INSERT INTO volkszaehler.entities VALUES ('','6836dd20-00d5-11e0-bab1-856ed5f959ae', 'electric meter', 'channel');"

Hierbei wird die entsprechende ID „6836dd20-00d5-11e0-bab1-856ed5f959ae“ aus der vzlogger.conf in die Datenbank eingetragen. Solltet ihr mehrere Messwerte ausgewählt haben, wandelt die ID in der JSON entsprechend ab und fügt diese dann jeweils in die Datenbank ein.

Im Anschluss starten wir den Volkszähler wieder:

sudo systemctl start vzlogger

Ausgabe des Messwertes im Volkszähler

Der Messwert wird ab sofort durch den Volkszähler ausgelesen und in der Datenbank gespeichert. Um diesen Wert nun im Volkszähler Webinterface anzeigen zu lassen, muss dies entsprechend in der Weboberfläche des Volkszählers konfiguriert werden.

Dazu muss ein entsprechender Kanal, hier privater Kanal, hinzugefügt werden.  Das ganze sieht dann so aus:

Bitte beachtet dabei, dass ihr die gleiche UUIDs wie zuvor verwendet.

Ab jetzt solltet ihr die Daten auslesen und über die Weboberfläche anzeigen können.

Das Ergebnis im Stromkasten sieht heute so aus:

Raspberry PI erhält Strom und LAN von außerhalb des Stromkastens. Die beiden Zähler sind entsprechend per USB und dem IR-Kopf am Raspberry PI angeschlossen.

Nutzung der Messwerte für Drittsysteme

Ich habe in unserem Haus noch viele weitere Systeme, die mir Messwerte liefern. Da das Volkszähler-System erst später dazugekommen ist, habe ich mich entschieden die bestehenden Werte nicht in den Volkszähler einzubinden sondern die Daten des Volkszählers zu exportieren. Dazu habe ich mir ein entsprechendes PHP-Script geschrieben, welches ich per Cronjob aufrufe. Dieses stellt dann die jeweils aktuellen Messwerte per JSON zur Verfügung.  Das Script kann hier gefunden werden: https://github.com/np4me2k/np4me2k_homekit/blob/master/jsonexport.php

Die Daten werden zukünftig in eine Elastic Search Datenbank geschrieben und dann per Kibana visualisiert.

Wie viele Getränke und Fleisch braucht man für eine Grillparty / Gartenparty?

Wir haben in diesem Sommer eine größere Sause gefeiert und genau mit dieser Frage hatte ich mich währen der Planung vorab beschäftigt. Natürlich ist das ganze sehr stark vom Publikum und vom Wetter abhängig. Von daher kann ich nur aus unserer Erfahrungen berichten.

Wir hatten insgesamt ca. 120 Gäste, davon 15 Kleinkinder und der Rest vom Alter her bunt gemischt. Das Wetter war sehr gut (am Abend noch bei 25°C) und wir konnten bis tief in die Nacht und zum Ende der Party draussen verweilen.

Folgendes haben wir verzehrt (bestellt hatten wir mehr!):

Am Grill

  • 220 Würstchen
  • 80 Nackensteaks je 180gr
  • 80 Putenbrust je 180gr
  • 10 Salate (das hätte mehr sein können)
  • 300 Partybrötchen
  • Senf, Ketchup

Getränke

  • 200l Bier
  • 6 Fl. 0,33 Bier Alkoholfrei (wir hatten sehr viele Radfahrer!)
  • 7 Fl. Wodka
  • 4 Fl. Grüner
  • 3 Fl. Roter
  • 1 Fl. Black
  • 24 Fl. (1l) Coke
  • 5 Fl. (1l) Coke Zero
  • 2 Fl. (1l) Sprite
  • 8 Fl. Weißwein
  • 53 Fl. (1l) Wasser

Erfahrungsbericht check-in Reiseagentur Osnabrück

Zusammenfassung
Wir haben uns im Herbst 2013 entschieden, eine Afrikareise zu planen und uns dabei für die Organisation an Axel Böhnke und seiner check-in-Reiseagentur in Osnabrück gewandt. Leider wurden unsere Erwartungen an eine Beratung und Betreuung massiv enttäuscht und wir sind aufgrund einer nicht vom Reisebüro gebuchten Reiserücktrittsversicherung (RRV) nun auf 100% der Stornokosten (über 1.000 €) sitzen geblieben. Die Kooperationsbereitschaft und Möglichkeit sich zu einer gemeinschaftlichen Einigung waren von Seiten der Reiseagentur check-in so gut wie nicht vorhanden und wir  versuchen das ganze nun über den juristischen Weg zu klären.

Vorgeschichte
Nachdem wir bereits unsere Reise nach Thailand über das check-in  Reisebüro gebucht haben, hatten wir uns auch vorgenommen unsere Reise nach Afrika dort zur planen und zu buchen. Warum gehen wir überhaupt in ein Reisebüro? Auf Reisen in Ländern, in den wir uns nicht auskennen und eine Infrastruktur erwarten, die sehr stark von dem abweicht, was wir hier in Europa vorfinden, möchten wir uns gut beraten lassen und nicht auf Online-Plattformen vertrauen. Weiterhin wollen wir uns schlichtweg um einige Sachen auch nicht selbst kümmern müssen, sondern diese Aufgaben an den Reiseberater abgeben. Dafür sind wir dann auch bereit einen höheren Preis zu zahlen, als wenn wir im Internet direkt buchen würden.

Im Rahmen der Preisgestaltung entsprachen die Tatsachen auch unseren Erwartungen und Flüge und Unterkünfte waren zu einem Online-Vergleich ca. 10%-15% teurer. Auf die gesamte Summe hin gesehen, waren dies bei unserer Reise ca. 450€ Mehrkosten gegenüber der Online-Buchung. Für die gesamte Reise hatten wir Buchungskosten von ca. 5.000€ geplant. Hier wollten wir uns in eine gute Beratung und Betreuung begeben.

Die Buchung
Da Freunde von uns im Jahr zuvor eine ähnliche Reise unternommen haben, hatten wir einige persönliche Empfehlungen erhalten, die wir gerne in die Reiseroute mit integrieren wollten. Da dies aber in zwei Fällen Unterkünfte waren, die nur Online direkt buchbar waren und diese Buchung von check-in nicht übernommen werden konnte sollten wir diese Buchung selbst übernehmen. Wir haben also bis auf zwei Bausteine die Reise vollständig mit der check-in Reiseagentur abgesprochen und dann später gebucht. Sowohl in den Gesprächen, als auch schriftlich per E-Mail haben wir auf unseren Wunsch der RRV hingewiesen. Der letztendliche Buchungsauftrag per E-Mail hatte den folgenden Text:

Hallo Herr Böhnke,
wir möchten Sie bitten, die folgenden Elemente der Reise entsprechend dem Reiseplan zu buchen. Die entsprechend ausgelassenen Positionen haben wir bereits selbständig gebucht.

Wir benötigen für die entsprechenden Reisen und auch die bereits gebuchten Flüge auch noch eine Reise Rücktrittsversicherung.
[…]

Daraufhin haben wir einige Tage später eine Bestätigung der Buchung erhalten und eine entsprechende Anzahlung geleistet. Wir waren voller Vorfreude auf unsere Reise und waren mit der Beratung und Betreuung bis zu diesem Punkt zufrieden.

Reiserücktrittsfall
Aufgrund der erfreulichen Nachricht, dass wir Nachwuchs erwarten würden und der Arzt meiner Freundin von einer Reise nach Afrika stark abgeraten hat, meldeten wir uns per E-Mail bei Herrn Böhnke mit der Ankündigung, dass wir leider unsere Reise stornieren müssten und die RRV in Anspruch nehmen müssen. Die Antwort, die wir dann erhielten war für uns schockierend:

Sehr geehrter Herr Wortmann,
wir haben ein Problem. Bis heute wurde keine Versicherung abgeschlossen. Sie hatten einen Teil der Reise nicht bei mir gebucht. Nach Erhalt ihrer Mail vom 14.12.2014 bat ich sie, mir die Daten der von ihnen gebuchten Leistungen zukommen zulassen, damit diese in die Versicherung inkludiert werden . Da ich nichts mehr von ihnen gehört habe, bin ich davon ausgegangen, daß der Abschluß der Versicherung über unser Büro nicht mehr erwünscht ist.
Am 23.12.2013 habe ich ihnen die Bestätigung zugemailt. Aus der Bestätigung geht klar hervor, daß keine Versicherung gebucht  wurde.

Wenn sie davon ausgegangen sind, eine Versicherung abgeschlossen zu haben, hätten sie mich zu diesem Zeitpunkt darauf hinweisen können.

Es tut mir Leid, daß es hier zu einem Mißverständnis gekommen ist. Bitte teilen sie mir nochmals mit, wenn die Reise definitiv storniert werden soll.

Mit freundlichen Grüßen
Axel Böhnke

 

Die Aussage, dass wir unsere selbständig gebuchten Reiseanteile mit in die RRV der check-in Reiseagentur integrieren wollten ist eine Behauptung, die nicht der Wahrheit entspricht. Wir hatten von Beginn an deutlich gemacht, dass wir über unsere Kreditkarte automatisch eine RRV für alle Reisen abschließen, die wir mit der Kreditkarte bezahlen würden und daher keine doppelte Versicherung benötigen würden.

Korrekt ist die Aussage, dass die RRV in der Buchungsbestätigung nicht aufgeführt wurde und daher auch nicht beauftragt wurde. Worüber wir uns mit der Reiseagentur check-in einig sind ist die Tatsache, dass wir zu keinem Zeitpunkt gesagt haben, wir würden die Buchung einer RRV nicht mehr wünschen.

Wir haben uns an diesem Punkt auf die erhoffte gute Beratung und Betreuung verlassen und aus unserer Sicht sieht das ganze so aus, als hätte Herr Böhnke schlichtweg die Buchung der Versicherung verschludert und sich im Nachgang eine Argumentation zurecht gelegt, mit der er dieses Versäumnis versucht zu legitimieren.

Die Schilderung der Sachlage aus unserer Sicht wurde durch die check-in Reiseagentur immer mit einem Verweis auf die Buchungsbestätigung entgegnet und dass man hier nun nichts machen könne.

Fazit
Unserer Erwartungshaltung, wir würden mit dem teureren Preis der Reise auch eine Beratungsleistung und mehr Serviceleistung im Vergleich zu einer Online-Buchung erhalten wurden massiv enttäuscht. Wir sind zu 100% auf den Stornokosten von über 1.000 € sitzen geblieben und vom Reisebüro gab es in keiner Form ein Entgegenkommen.

Aus unserer Sicht beruft sich die Reiseagentur auf ein (wahrscheinlich rechtlich) korrektes Dokument. Wenn ich mich auf solch eine Art Dienstleistungsverhältnis einlassen will, kann ich auch online buchen. Bei einer Online-Buchung weiss ich nämlich genau, dass ich jedes Dokument gründlich prüfen muss. Beim lokalen Reisebüro erwarte ich eine gute Beratung (was ich auch schon mit dem Begriff „Agentur“ verbinde) und ein vertrauensvolles Dienstleistungsverhältnis. Das Vertrauen scheint in diesem Fall nur in die eine Richtung existiert zu haben.

Wir werden bei der check-in Reiseagentur nie wieder buchen und ich kann diesen Dienstleister leider auch niemandem empfehlen sondern nur abraten. Wir hoffen auf dem rechtlichen Weg noch einen Teil unseres Geldes zurück zu bekommen.

Kabel Deutschland Internetleitung zu langsam

Nachdem ich nun seit 10 Monaten Kunde bei Kabel Deutschland bin scheint sich langsam alles in die Richtung zu bewegen. Bis heute habe ich immer noch nicht die Leistung, die ich bestellt habe bei meiner Internetleitung. In den Abendstunden geht diese teilweise auf bis zu 2Mbit herab. Bestellt habe ich 100Mbit! Nun bin ich wenigstens soweit, dass ich monatlich nichts für die Leitung bezahlen muss, bzw. 20€ monatlich erstattet bekomme. Wie habe ich das geschafft:

1. Mehrfach Speedtests auf der Kabeldeutschland Webseite im internen Kundenbereich durchführen. Diese Ergebnisse selbst dokumentieren und die jeweilige Zeit notrieren. Wenn ihr mind. 4 Ergebnisse über mehrere Tage gesammelt habt, die Hotline von Kabel Deutschland (0800-5266625) anrufen und eure Situation schildern. Hier darauf bestehen, dass was passieren muss. Mir wurde dann so lange, bis eine Verbesserung der Situation eintritt eine monatliche Gutschrift von 20€ angeboten. Dies wurde dann in meinem Kundenkonto hinterlegt und ich musste dann nur noch einmal 4 Wochen später anrufen, um die erste Gutschrift für die in der Zeit verstrichenen 4 Wochen zu erhalten.

2. Heute habe ich nach meinem dritten Monat die Empfehlung bekommen, mich an Kabel Deutschland zu wenden und eine „Dauergutschrift“  zu fordern. Den Brief habe ich aufgesetzt und hier einmal zum Download bereit gestellt. Wer sich also ein wenig Zeit sparen will, einfach mit den entsprechenden Daten füllen: Kabel Deutschland Dauergutschrift

Ich bin gespannt, ob es klappt! Aber das hört sich schon einmal vielversprechend an!