IP-Symcon | Raspberry Pi, Heizung und Strom

Geschätzte Lesezeit: 6 min
IP_Symcon raspberry pi

Es kommt Bewegung ins Haus. Wir kriegen eine Photovoltaik Anlage. Also gibt es demnächst guten Strom, wenn die Sonne scheint und bösen Strom, wenn es dunkel ist. Da ich unsere Synology DiskStation deshalb so oft wie möglich schlafen legen will, wanderte die IP-Symcon auf einen Raspberry Pi. Der ist sowieso da und läuft 24/7.
Gleichzeitig gibt es seit kurzem auch mehr Kommunikation zwischen den Dingen im Haus. Unsere Heizung spricht per MQTT zu der Symcon und der Stromzähler wird per PHP abgefragt. Mit jedem dieser Schritte steigt auch meine Begeisterung für die IP-Symcon Software. Klar, möglich war das alles auch schon mit den anderen Lösungen, bei der Symcon ist es allerdings viel einfacher.

Warum ist die IP-Symcon umgezogen?

Im ersten Artikel zur Symcon „IP-Symcon, meine Lüftung in der Visu“ hatte ich geschrieben, wie die Software als Docker Container auf meiner Synology DiskStation läuft. Das ist auch gut so und es läuft sehr stabil. Es bedeutet aber auch, dass die DiskStation quasi 24/7 „laufen“ muss. Nun gut, der Stromverbrauch ist jetzt nicht riesig, ich möchte jedoch optimieren.

Warum ein Rasberry Pi für die IP-Symcon?

Die Entscheidung für den Raspi war eine ganz einfache: der ist sowieso da. Ich nutze das hometop Interface um mit unserer Junkers Cerapur Solar Heizung zu kommunizieren. Das Interface sitzt direkt auf den GPIO Pins vom Raspi und stellt einen MQTT Client zur Verfügung. MQTT ist ein sehr effizientes Protokoll über den Sensoren ihre Daten versenden können. Allein dafür brauche ich also einen RaspberryPi im Haus. Zusätzlich lese ich unseren Stromzähler über ein IR-Interface und die Software von Volkszähler.org (Manuel hat da eine sehr schöne Anleitung zu geschrieben) aus. Diese Software stellt eine JSON Webseite zur Verfügung, die von der IP-Symcon gelesen werden kann.

Zudem ist es ein Kinderspiel die IP-Symcon auf einem Raspberry Pi zu installieren. Eigentlich läuft es auf ein einfaches „apt-get install symcon“ hinaus.

Ziel dieser ganzen Aktion ist es also die Hausautomatisierung allein auf dem Raspberry Pi zu haben, der darf dann auch durchlaufen. Die Synology DiskStation wird nur dann aus dem Schlaf gehollt, wenn sie gebraucht wird. Wobei ich mir noch etwas für die Kamera einfallen lassen muss. Aktuell wird die Bewegungserkennung über die Software „Survialance Station“ von Synology durchgeführt, das muss ich in der Zukunft dann auch ändern.

Wie ist der ganze Umzug denn jetzt abgelaufen?

Ich habe seit 4 Jahren einen Raspberry Pi der ersten Generation in Betrieb und der läuft auch schön stabil für die Kommunikation mit der Heizung. Diesem wollte ich allerdings nicht die Symcon zumuten, also wurde ein Raspberry Pi der 4-ten Generation als Model B angeschafft. Den gibt es für ca. 100 Euro bei Amazon und der war sogar am gleichen Tag da.

Da ich die Lebenszeit der SSD-Karte so lang wie möglich halten will, war diese bis jetzt als ReadOnly eingebunden. Jegliche Schreibzugriffe waren entweder abgeschaltet oder gingen auf ein RAM-Drive. Da die Symcon allerdings auch Daten aufzeichnet, die bei einem Crash erhalten bleiben sollen, werden diese Daten mit ins Backup übernommen.

Installation von IP-Symcon auf einem RaspberryPi

IP-Symcon Raspberry Pi - Der Zusamenbau
Ein wenig Basteln gehört nun mal beim Raspberry Pi immer dazu.

Zusammenbau des Raspi und Installation des Betriebssystems sind wirklich selbsterklärend, das läuft wie von allein. Dazu liegt dem Set eine schöne Anleitung bei und beim Raspbain System muss man nur klicken.

Installation der IP-Symcon ist auf der Symcon Seite sehr gut beschrieben. Alles in allem sind es nur zwei Schritte:

  • Apt Sourcen hinzufügen
  • IP-Symcon mit dem Befehl „apt-get install symcon“ installieren

Danach war ich in der Lage über den Port 3777 auf die Symcon zuzugreifen. Die Lizenzdatei kann übrigens auf mehreren Rechnern benutz werden. Ich hatte auch eine Zeit lang (einen Tag oder so) zwei Instanzen der Symcon im Haus. Eine auf der Synology und eine auf dem Raspi. Im Symcon Forum habe ich sogar gelesen, dass es erlaubt ist mehrere Instanzen im gleichen Haus mit einer Lizenz zu fahren. Ich bin mir da aber nicht ganz sicher. Vielleicht kann sich jemand in einem Kommentar dazu äußern.

Unsere Junkers Cerapur Solar spricht MQTT

MQTT ist ein Protokoll, das gerne im IoT Bereich eingesetzt wird, da es sehr effizient ist. Es werden nur dann Daten gesendet, wenn es notwendig ist und es werden so wenig Daten wie möglich gesendet. Wie schon oben erwähnt, nutze ich ein „selbst gebautes“ Interface um mit meiner Junkers Heizung zu kommunizieren. Es ist ein Interface, welches sich zwischen die Heizung und das Bedienteil in den Bus klinkt und so alle Informationen lesen kann, die von der Heizung kommen. Da das Interface ein Bedienteil simuliert, kann es die Heizung auch steuern. Ich habe das HT3 Interface mal fertig zusammengebaut im Microcontroller Forum kaufen können. Sowohl das Interface als auch die Software sind Quell offen auf GIT verfügbar.

Die „hometop“ Software stellt einen MQTT Client zur Verfügung, der direkt an einen MQTT Broker berichten kann. Zu der Installation von „hometop“ werde ich hier nicht viel Berichten, da gibt es eine sehr gute Anleitung und auch einige Beiträge im Microcontroller Forum. MQTT ist allerdings nur unidirektional. Es ist ein Protokoll, welches vorwiegend dazu eingesetzt wird, Daten von einem Sensor an einen Server (MQTT Sprache: Broker) zu senden. Für den Rückweg habe ich mir also eine kleine Web API gebaut, die ich aus der Symcon ansprechen kann.

Um die Soll-Temperatur auf 23 Grad Celsius zu setzen muss dann nur die folgende Webseite aufgerufen werden: http://IP-vom-Raspi:5000/heizung/tman/23 und schon stellt die Heizung um.

Installation des MQTT Brokers in der Symcon

Das ist so einfach, da habe ich überlegt, ob wirklich ein ganzer Absatz für die Beschreibung notwendig ist. Über das „Plus“ unten rechts wird ein „MQTT Configurator“ hinzugefügt. Alles über die Symcon Console (so nennt sich die Web Oberfläche), einfach nur klicken. Der Broker wartet dann auf Kontakt. Sobald ein MQTT Client sich verbindet und Daten sendet, tauchen diese in der Console auf und können als eigene Instanz erstellt werden. Jede Instanz ist eine Variable und verbraucht somit auch einen Teil deiner Lizenz. Also sparsam damit umgehen, bitte. Die Installation und Konfiguration des MQTT Brokers und der Weiterverarbeitung der Daten ist so unglaublich einfach, das es sogar mit einem Kaffee in der Hand geht. Die IP-Symcon begeistert mich immer mehr.

Wenn die Konfigurator Instanz „MQTT Configurator“ hinzugefügt ist, wartet der Broker auf Daten. Diese werden in der Console angezeigt und können mit einem Mausklick als „InstanzID“ hinzugefügt werden. Erst dann belegen sie eine Variable und können in der Symcon angezeigt und verwendet werden.

Kommen wir zum Stromzähler

Unser Stromzähler hat eine Infrarot Schnittstelle, die einige Daten sendet. Diese Daten können direkt mit einem Infrarot Empfänger ausgelesen und verarbeitet werden. Ich nutze dazu die Software und einen Empfänger von Volkszähler.org. Der Empfänger, den ich damals gekauft habe, wird per USB am Raspberry Pi angesteckt und liefert dann die folgenden Daten:

  • Zählerstand in der Form: 17645.185387500002
  • Aktueller Verbrauch für L1/L2/L3 in der Form: 100.72
  • Aktueller Gesamtverbrauch in der Form: 456.78

Die Daten können in 2 Sekunden Takt abgefragt werden. Das reicht allemal. Die Software „vzlogger“ stellt eine Webseite zur Verfügung die dann gelesen und ausgewertet werden kann. Ich habe ein kleines PHP Skript in der Symcon geschrieben, welches die Daten ausliest und als Wert abspeichert.

<?php
 $url='http://192.168.1.183:8081/'; // using file() function to get content 
 $lines_array=file($url); // turn array into one variable 
 $lines_string=implode('',$lines_array); //output, you can also save it locally on the server 
 $data = json_decode($lines_string); //decode json to an object
foreach ($data->{'data'} as $value){
    if (property_exists ($value,'tuples')) { //if there is data read it
        $last_value = $value->{'tuples'}[count($value->{'tuples'})-1][1]; //I am only interessted in the last value
        switch ($value->{'uuid'}){
            case "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee": SetValue(35634,$last_value); break;
            case "baaaaaaa-bbbb-cccc-dddd-eeeeeeee": SetValue(29118,$last_value); break;
            case "caaaaaaa-bbbb-cccc-dddd-eeeeeeee": SetValue(41658,$last_value); break;
            case "daaaaaaa-bbbb-cccc-dddd-eeeeeeee": SetValue(25396,$last_value); break;
            case "eaaaaaaa-bbbb-cccc-dddd-eeeeeeee": SetValue(22552,$last_value); break;
        }
    }
}
?>

Visualisierung der Daten in einem Graphen

Kennst du vielleicht Grafana? Eine wunderbares Stück Software um Daten zu visualisieren. Vor einigen Jahren habe ich openHAB2 mit Grafana verheiratet, um meine Verbräuche in einem Graphen zu sehen. Das war natürlich völlig überdimensioniert, aber die einzige Lösung. Damals war dazu noch die Installation einer Datenbank nötig. Mit der IP-Symcon? „Hold my Coffee“ brauche ich da gar nicht zu sagen, es ist nur ein Klick. Einfach die Aufzeichnung aktivieren und schon hast du in der Visualisierung und auf dem Handy alles in schönen Graphen dargestellt. Nur der Vollständigkeit halber: das kann knXpresso auch, das werde ich auch noch zeigen.

Anzeige des Strom Verbrauchs nach Stunden. Alles schon eingebaut in der IP-Symcon, du musst es nur einschalten. PS: Ja wir essen gegen 13 Uhr und kochen mit Strom ;-).

Fazit

Der heutige Artikel ist ein Erfahrungsbericht, wie ich die IP-Symcon Software in meinem Smart Home einsetze. Es gibt viele Möglichkeiten die Software zu betreiben. Ich habe mich für einen Rasberry Pi entschieden, da der sowieso im Haus ist. Zusätzlich beschreibt der Artikel noch die Kommunikation zwischen unserer Heizung und der Symcon via MQTT und die Einbindung des Stromzählers.

Alles in allem ein Software Artikel, der auch zeigen soll wie einfach es ist mit der IP-Symcon weitere Geräte einzubinden. Für das MQTT Protokoll brauchst du keinerlei PHP Kenntnisse für die Analyse der Zähler Daten reicht wahrscheinlich ein wenig Google.

Je mehr ich mich mit der Software beschäftige, um so mehr steigt auch meine Begeisterung für die Lösung. Sie agiert im Hintergrund und stellt doch sicher, dass alle Dinge im Haus miteinander reden.

Viel Spaß mit KNX!

 

4 Gedanken zu “IP-Symcon | Raspberry Pi, Heizung und Strom

  1. Hahaha, das berühmte Theaterstück „My Fair Lady“. Bzw. im Original „Pygmalion“ von J. B. Shaw.
    Der Ausspruch kommt in dem Moment, wo klar ist, dass sie (Eliza Doolittle) es kapiert hat.

Schreibe einen Kommentar