Linux-Projekte für den Raspberry Pi,
die mit Python realisiert wurden
RWE Storage flex [rein LOKALER Datenzugang]




Seit einigen Monaten nun ist bei mir eine PV (Solar)-Anlage mit Akkuspeicher installiert. Bei dem Speicher handelt es sich um den Typ 'RWE Storage flex'. Darin sind enthalten 2 Akkumodule a 1,25 kWh. Somit stehen mir für die Nachtstunden 2,5 kWh an (nutzbarer) Energie zur Verfügung. Das ist allemal ausreichend. Natürlich nur unter der Voraussetzung, daß die Akkus tagsüber einigermaßen voll aufgeladen werden.
Der Akkuspeicher steht im Keller unter der Treppe und sieht etwa so aus wie Nachtspeicherheizungen früher mal. Hat natürlich ein farbiges LCD-Display mit Touch-Funktion. Allerdings sieht man hier standardmäßig nur ein groooßes Batteriesymbol, in dem grafisch der Ladezustand dargestellt wird, daneben noch ein Pfeil (rauf oder runter), mit der Angabe, wieviel Kilowatt geladen oder entladen werden. Das ist alles.
Über das Display kann man sich zwar als User einloggen, aber dann sieht man auch nicht eben viele sinnvolle Daten. Um nur den Ladezustand oder die Lade/Entladewerte sehen zu können, mußte ich also jedesmal in den Keller laufen. Das hieß zu Anfang (Kommentar aus dem Umfeld: Da hast du ja wieder ein schönes neues Spielzeug, aber ein bisschen teuer.) so 20-30 mal am Tag Treppab/ Treppauf. Hält zwar fit, nervt aber irgendwann mal sehr. Vor allem, wenn man immer in den 1. Stock muß!

Also habe ich mal den DSL-Stecker bei meinem Router gezogen, den Akku-Speicher ans LAN angesteckt und dessen IP-Adresse (wurde per DHCD automatisch vergeben) herausgefiltert. In einem Browser habe ich dann die Adresse eingegeben und,
tadaaaaaahhh, das Ding hatte einen WEB-Server. Passwort war keines vergeben (notwendig). Als allererstes kam die Meldung (natürlich in englisch), daß mein WLAN nicht funktioniert und ich es überprüfen soll.
Die Meldung habe ich ignoriert und mich mal durch die Seiten (Tabs) geklickt. Da konnte ich tatsächlich meine Akkus finden. Mit Unterteilung in „BHKW (BlockHeizKraftWerk!), Eigenverbrauchsrelais, Wärmepumpe (hatte ich alles nicht), Photovoltaik, Sonnenbatterie und Gesamtverbrauch“. DAS waren die Werte, die ich haben wollte.
Die Seite wurde alle paar Sekunden aktualisiert. Das hieß aber auch für mich, die Werte könnten ALLE im AKKUSPEICHER archiviert werden???

Bei dem Speicher war auch ein Bedienungshandbuch, in dem erklärt wird, daß man sich auf einem Internetportal anmelden und dann auf die Werte grafisch zugreifen kann. Dazu sollte aber erst einmal der Internet-Zugang im Akku-Speicher freigeschaltet werden (das kam nicht in die Tüte). Es gab in der Bedienungsanleitung viele, schöne Bilder und Grafiken. ABER: 1. wie bekomme ich einen Internetanschluß in den Keller (jaaaaa, läßt sich per WLAN realisieren) und 2. und das war mir das Wichtige: Warum muß ich die Daten erst auf ein Portal im Internet hochladen, damit ich sie mir dann wieder von dort herunterladen muß????? Grafisch aufbereitet, schön anzusehen, ja. Das hieße aber auch, alle vorhandenen Akku-Daten, mit fast minütlicher Aufzeichnung von Ladezustand, Ladung/ Entladung, ja sogar der aktuelle Verbrauch im Haus je Phase, mit Maximumwert werden auf einen Server transferiert.
Daraus kann man hervorragend Nutzerprofile erstelle. Z.B. Wann stehe ich auf, bzw. wann gehe ich zu Bett, wann wird gekocht ,....... Ja man kann sogar daraus erkennen, wann jemand im Hause ist oder nicht, wann ich in Urlaub bin, und, und, und...... UNBEZAHLBAR!

Wollte dann mal herausfinden, WOHIN die Daten gesendet werden. Bei Anmelden wird ein 'MiOS'-account benötigt (die Zugangsdaten dazu hatte ich von RWE in einem Verschlossenen Briefumschlag erhalten, aber NIE aktiviert!). Um der Sache genauer auf den Grund zu gehen, habe ich ein Hilfsprogramm verwendet (ist sogar im Raspian Softwarepool vorhanden) , das den Ethernetport meines Rechners logt (aufzeichnet). Nach einigem Suchen kamen gleich mehrere Serveradressen zutage. Alle bei mios.com'. Bin dann Spaßeshalber mal an einem anderen Tag, OHNE LAN beim Akku ,aber mit gestecktem DSL auf diese Seite gegangen und habe mir die 'therms and conditions' komplett durchgelesen (in englisch natürlich!). Hauptsitz ist Hongkong (Kotz. Von Datenschutz halten die Chinesen noch weniger als die Amerikaner)

Und wie erwartet:
Alle Daten, die auf den Server geladen werden, können vom Betreiber (Genehmigung durch den Anwender ist nicht notwendig) benutzt, veröffentlicht und sogar verändert werden. Der Betreiber ist für NICHTS haftbar zu machen, weder für Viren, noch für durch den Server verursachte Schäden oder Ausfälle, noch für sonst irgendwas. Allerdings: Der User hat für alles seinen Kopf hinzuhalten und kann für alles zur Verantwortung gezogen werden. Der Nutzer hat sich an alle Bedingungen in dieser Veröffentlichung zu halten, auch nachdem diese ihre Gültigkeit verloren haben. Die Bedingungen können jederzeit - sofort gültig nach Veröffentlichung auf dieser Seite - geändert werden, ohne Vorabinformation oder nachträgliche Info an den Benutzer. Hatte mir fast schon sowas gedacht (kennt man ja von den sozialen Medien!). Muß ich aber nicht haben.
Mios ist aber wohl nur der Betreiber der Seite und evtl. der Server (auf der Startseite ist nicht mal ein Impressum zu finden). Dann wird es etwas unübersichtlich. Auf der Mios Seite ist die Firma 'micasaverde' gennannt. Über mivcasaverde.com kommt man dann zu 'getvera.com' und diese Seite gehört Vera Control LTD.'. die haben anscheinend das Kontrollprogramm entwickelt. Und wo sind die mit Hauptsitz wohl zu finden? Richtig, wenn die Antwort Hongkong war! Hab dann nicht weiter nachgeforscht. Das war mir dann alles eh schon viel zu viel.
Meine hochsensiblen Benutzerdaten werde ich doch dort nicht hinschicken. Das ist mit dem Deutschen Datenschutz ja sowas von vereinbar!!!

Stellt sich also die Frage, wie komme ich an die Daten, die im Browser ja verfügbar sind heran.
Jetzt
kam wieder das LAN-Hilfsmittel zum Einsatz. Also DSL wieder abgesteckt und nochmal das WEB-UI des Akkus 'angeworfen'. Siehe da, mit dem 'LeitungsHai' lassen sich alle notwendigen Informationen herausfinden. Zur lokalen Darstellung der Werte verwendet der WEB-Server des Akkus einen speziellen Port seiner IP-Adresse. Dorthin werden vom Browser HTTP GET Header gesendet, die vom WEB-Server (AKKU) auch beantwortet werden.
Das kannte ich doch schon?!!!! Jau! Hatte zum Übertragen von Druck- und Zählerdaten sowas selbst schon entworfen. Das kam mir nun zugute.

Also mal wieder 'die Würgeschlange' (python) in die Hand genommen und ein Programm 'gestrickt': ging auch wieder mit 'urllib'. Die genauen Headerinformationen konnte ich einfach aus dem 'LeitungsHai' kopieren. Und siehe da, nach ein paar kleineren Schwierigkeiten, hatte ich nicht nur alle meine gewünschten Werte, sondern sogar viiiieeeel mehr.
Es kamen mehrere Verbrauchs/ Leistungs-Archive zum Vorschein: tägliche, wöchentliche und monatliche. Jeweils mit
vielen hundert Einträgen!!!! Würde den Datenschutzbeauftragten vielleicht interessieren.
Aber egal. Ich konnte nun, ohne Internet, auf meine eigenen Daten zugreifen. Das war mir wichtig!



Stellt sich dem einen oder anderen noch die Frage:
W
ie kann ich den Speicher am LAN betreiben, und trotzdem im gleiche Netz auf das Internet zugreifen, ohne daß ungewollt Daten verschickt werden?

Antwort:
Im meinem Router (Fr... ank¿Schachtel. Oder so ähnlich) kann ich Zugangsbedingungen für das Internet setzen (heißt dort 'Kindersicherung'). Dort habe ich einfach der IP des Akku-Speichers KEINE Internetzugang gewährt! Und den WEB-Server des Akkus verwende ich nicht mehr. Also fällt auch der Umweg über meinen Browser weg!



Wen es interessiert: _____HIER____ ist ein Beispiel der Daten, die ich lokal aus dem Speicher Abrufen kann. Die sensiblen Daten habe ich selbstverständlich unkenntlich gemacht und die umfangreichen Listen die existieren, werden erst garnicht angezeigt (daily/ weekly/ monthly) sondern nur die Pointer dazu.



Antworten:

ja, der Akku war leer und
ja, die Solarmodule haben (sich) zu dem Zeitpunkt nicht viel geleistet.


Und noch zwei Hinweise.

  • Die Zeitangaben in der Datei (Unix Zeitstempel) wurden von mir per Programm teilweise in ein 'echtes' Datum umgewandelt.

  • Aus dem 'Basis-dictionary:

ZwaveStatus
TimeStamp
LoadTime
UserData_DataVersion
DataVersion
startup
devices
LocalTime


wurde nur der Eintrag 'devices' aufgelöst