Es ist nun schon einige Zeit her, dass ich davon berichtet habe, wie ich einen MUC.easy mit dem Strom- und Gaszähler in Betrieb genommen habe, um meine Verbrauchsdaten zu erfassen. Da ich mich in den hellen Jahreszeiten eher draußen aufhalte, habe ich nun endlich wieder Zeit gefunden und möchte nun meine Verbrauchsdaten aus Interesse visualisieren. Einen Verbrauchseffekt verspreche ich mir davon nicht, aber ich möchte mir gern ein Bild davon machen.
Doch wie soll man das angehen? Am Ende soll es recht einfach sein und trotzdem auch grafisch ansprechend. Durch ein paar Fachartikel bin ich auf Grafana aufmerksam geworden, ein kostenfreies und mächtiges Visualisierungswerkzeug. Doch bis dahin ist einiges zu tun.
Zunächst muss ich einen Rechner installieren, auf dem die Visualisierungslösung laufen soll. Meine Wahl fällt hier auf einen Raspberry Pi 3 B+. Dieser soll zukünftig die Daten aufbereiten.
Der Kleinstrechner hat genug Leistung und ist zudem preislich interessant und benötigt selbst nur wenig Energie zum Betrieb. Der Raspberry Pi ist nach dem Einlegen der SD-Karte mit einem Raspian Linux sofort einsatzbereit. Das ging schon mal sehr einfach. Doch jetzt kommt die eigentliche Arbeit: Wie kommen die Daten vom MUC.easy auf den Raspberry Pi, und wie werden die Daten dann für Grafana nutzbar?
Betrachten wir nochmal den Raspberry Pi. Dieser soll zukünftig vielleicht noch mehr machen als rein die Verbräuche zu visualisieren. Eventuell kann man damit auch gleich den Einstieg in das Smart Home machen.
Also schaue ich mich nach kostenfreien Home-Automation-Systemen um, welche auch auf einem Raspberry Pi laufen. FHEM und OpenHAB scheinen für meine Zwecke zu passen. Ohne jetzt im Detail zu vergleichen entscheide ich mich für einen Versuch mit OpenHAB. Es scheint mir etwas nutzerfreundlicher. Die Installation auf dem Raspberry Pi geht schnell von der Hand. Eine gute Beschreibung findet man hier: https://www.openhab.org/docs/installation/rasppi.html.
Nach der Installation schaue ich mir OpenHAB an.
Es kommt mit mehreren “User Interfaces”, also Webseiten, über die man es konfigurieren oder nutzen kann. Die Schnittstellenvielfalt ist groß. Das macht Lust auf mehr, gerade in Richtung Smart Home. Aber das kann man später machen. Das einzige was mich momentan interessiert, ist die Anbindung des MUC.easy. Dieser generiert standardmäßig CSV- oder XML-Daten für das Senden der Zählerdaten an andere Systeme. In OpenHAB sehe ich aber auf Anhieb keine Möglichkeit CSV oder XML einzubinden. Aber ich sehe ein Modbus-Interface. Der MUC.easy kann um die Software-Option Modbus erweitert werden. Das ist es! OpenHAB auf dem Raspberry Pi muss also die Daten vom MUC.easy über Modbus TCP abrufen.
Nach der Installation des Modbustreibers in OpenHAB passiert allerdings erstmal noch nichts. Die Konfiguration ist nicht über die Weboberfläche möglich. Dazu muss man händisch Konfigurationsdateien anpassen. Bei OpenHAB erfolgt das in der Datei /etc/openhab2/services/modbus.cfg. Damit ist der Modbus-Slave konfiguriert.
Nun fehlen noch die Werte, so genannte Items. Diese müssen ebenfalls händisch konfiguriert werden. Die Einstellungen sind in einer Datei vorzunehmen. Bei mir erstelle ich die Datei /etc/openhab2/items/MyEnergy.items.
Darin sieht man, welche Werte in welchem Format und von welchem Register des Modbus-Slaves abgerufen werden.
Da Modbus-Geräte oder deren Werte nicht direkt auf der Webseite auftauchen, ist eine Kontrolle der Konfiguration nur schwer möglich. Vielleicht gibt es eine Logging-Funktion, aber für mich als Einsteiger bleibt diese versteckt. Über so genannte Sitemaps kann man sich in der Weboberfläche jedoch Items (also die Werte) ausgeben lassen.
Also: Sitemap anlegen. Auch dies kann nur händisch erfolgen. In der Datei /etc/openhab2/sitemaps/test.sitemap erstelle ich daher eine Sitemap, welche mir die zuvor im MUC.easy parametrierten Werte anzeigt.
Natürlich klappt das nicht auf Anhieb. Mit etwas Recherche bekomme ich den Modbus-Treiber aber zum Laufen und die Daten tauchen jetzt in einer durch meine Sitemap definierten Ansicht.
Ein erster wesentlicher Schritt ist getan. Die Daten liegen im Raspberry Pi erstmal vor. Jetzt kann ich deren Visualisierung vorbereiten. Dies wird im nächsten Teil dieses Blogthemas erklärt.