Raspberry Pi: eQ-3 Thermostat mit OpenHAB im Smart Home nutzen

Gerade in der kalten Jahreszeit laufen Heizungen auf Hochtouren. Doch was wäre ein Smart Home, wenn man die Heizung nicht ebenfalls automatisch oder einfach per Klick am Smartphone steuern würde? Dadurch, dass neue Thermostate mit Bluetooth ausgestattet sind (eQ-3) und immer günstiger werden, wird es umso interessanter diese per Raspberry Pi und einer Hausautomatisierungssoftware wie OpenHAB zu steuern.

Zunächst werden wir in diesem Tutorial ein solches eQ-3 Bluetooth Thermostat an unsere Heizung anschließen, anschließend einen generellen Verbindungstest am Raspberry Pi starten und zu guter Letzt in unser Smart Home einbinden, sodass wir es über das OpenHAB UI steuern können.

Thermostat Zubehör

Eqiva Bluetooth Thermostat eQ-3

Eqiva eQ-3 Bluetooth Thermostat

In diesem Tutorial habe ich folgendes Zubehör verwendet:

Falls du nicht eines der verlinkten Thermostate kaufst, achte unbedingt darauf, dass das eQ-3 Thermostat Bluetooth unterstützt, da es ansonsten nicht angesteuert werden kann.

Prinzipiell können diese Heizungsregler (eQ-3 Radiator Thermostat) auch per Smartphone aus der Nähe angesteuert werden. In unserem Smart Home möchten wir aber natürlich Zugriff auf alle Geräte von einem Ort – dem OpenHAB User Interface (HomeMatic IP Alternative). Dies ist ebenfalls per Smartphone steuerbar.

 

Aufbau und Montage des neuen eQ-3 Thermostat

Bevor wir starten, muss das alte Heizthermostat abmontiert werden. Drehe dazu die Temperatur voll auf. Anschließend kannst du mit Hilfe der Rohrzange das alte Heizkörperthermostat abschrauben.

Darunter befindet sich der Anschluss der Heizung. Bei allen neueren ist dies ein Anschluss der Firma „Danfoss“. Bei unserem eqiva Thermostat ist ein Adapter dafür beiliegend, der genau passen sollte (eine kleine bebilderte Anleitung liegt ebenfalls bei). Nachdem du diesen Adapter aus Plastik montiert hast, kannst du das Bluetooth Thermostat aufschrauben. Nimm davor die Schutzkappe ab und setze Batterien ein:

Raspberry Pi Eqiva Bluetooth Thermostat eQ-3 Inside

Für den Fall, dass du keinen Anschluss von Danfoss hast, so gibt es Hilfe im Baumarkt. Für so ziemlich alle Heizungsanschlüsse gibt es entsprechende Adapter. Entweder du bringst dein altes Heizungsventil mit oder du schaust in dieser Übersicht nach, welchen Anschluss du hast und lässt dich entsprechend im Baumarkt beraten.

Eine detailierte englische Bedienungsanleitung mit viel Hintergrundwissen findest du übrigens hier.

 

Installation der eQ-3 Bibliothek am Raspberry Pi / openHAB

Vorausgesetzt ist eine SD Karte mit installiertem OpenHAB 2. Falls du dies noch nicht getan hast, solltest du damit anfangen.

Für die eQ3 Thermostate gibt es auf Github verschiedene Bibliotheken, mit deren Hilfe man diese einfach per Bluetooth steuern kann.

Verbinde dich per SSH mit dem Raspberry Pi und installiere das Tool „expect“.

sudo apt install expect

Gib nun gatttool ein und stelle sicher, dass kein Fehler angezeigt wird.
Anschließend können wir bereits nach dem eqiva Thermostat suchen. Folgender Befehl listet die MAC Adressen aller Bluetooth Geräte in der Umgebung auf:

sudo hcitool lescan

Einer der Einträge wird als „CC-RT-BLE“ gelistet. Die MAC Adresse davor ist die von unserem Thermostat. In meinem Fall ist es 00:1A:22:0F:C4:DD. Kopiere dir diese Adresse, da wir sie später an verschiedenen Stellen brauchen werden.

LE Scan ...
C0:28:8D:91:9D:10
60:0D:D8:CB:CF:8C (unknown)
A0:ED:CD:ED:5A:D4 (unknown)
00:1A:22:0F:C4:DD CC-RT-BLE
...

Soweit, so gut. Wir laden jetzt noch die Bibliothek von Github herunter und wagen einen ersten Test:

git clone https://github.com/artpetro/eQ-3-radiator-thermostat

Um den Status auslesen zu können, gib folgendes ein (die MAC Adresse muss angepasst werden), wodurch du direkt ein Ergebnis sehen wirst:

./eQ-3-radiator-thermostat 00:1A:22:0F:C4:DD sync

Temperature:                    4.5°C
Valve:                          0%
Mode:                           off
Vacation mode:                  off

 

In den nächsten Schritten werden wir zusätzliche Erweiterungen für OpenHAB benötigen. Wähle in deinem Browser unter http://openhabianpi:8080/paperui/index.html#/extensions Extensions aus und installiere JSONPath Transformation.

 

 

Webserver aufsetzen und PHP 7 nachinstallieren

Wir haben gesehen, dass mittels eines Skriptes die Kommunikation vom Raspberry Pi zum eQ-3 Thermostat bereits wunderbar funktioniert. Nun wollen wir das ganze auch ohne SSH verfügbar machen. Hierzu könnten wir die bereits laufende Instanz nehmen, auf der das OpenHAB 2 UI läuft. Da dies mit einer Menge Konfiguration verbunden ist, installieren wir einen kleinen Apache2 Server:

sudo apt-get install apache2

Der Webserver läuft danach bereits und du kannst dies prüfen, indem du die IP Adresse (oder http://openhabianpi) in deinen Browser eingibst.

Außerdem benötigen wir noch PHP 7.x (du kannst die Version auswählen, in meinem Fall ist es 7.2).

sudo apt install ca-certificates apt-transport-https 
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
sudo echo "deb https://packages.sury.org/php/ jessie main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt-get update

Falls du keine Raspbian Jessie Version nutzt, musst du den Befehl entsprechend anpassen. Welche Linux Version du genau hast, kannst du wie hier beschrieben, herausfinden.

Nun können wir PHP 7.2 (oder eine andere Version) mit allen Extensions installieren:

 sudo apt-get install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-intl php7.2-mysql php7.2-xml php7.2-zip

 

 

Schaltung des eQ3 Thermostats per Webserver in OpenHAB

Im letzten Schritt nutzen wir all das auch in OpenHAB. Alle nötigen eQ-3 Bibliotheken und Voraussetzungen sind auf dem Raspberry Pi erfüllt und wir fangen nun an.

Im ersten Schritt kopieren wir das Skript, welches wir gerade getestet haben, in das Apache2 Verzeichnis und benennen es um:

sudo mv eQ-3-radiator-thermostat/ /var/www/html
sudo mv /var/www/html/eQ-3-radiator-thermostat /var/www/html/eq

Nun verändern wir noch eine Zeile des PHP Skripts:

sudo nano /var/www/html/eq/php/eq3.php

Zeile 3 ersetzen wir durch folgendes:

Gespeichert wird mit STRG+O, den Editor beenden wir mit STRG+X.
Um das Skript nun testen zu können, kannst du folgende URL aufrufen und sehen, wie sich die Temperatur des Thermostats verändert (MAC Adresse anpassen):

http://openhabianpi/eq/php/eq3.php?mac=00:1A:22:0F:C4:DD&temperature=24.0&mode=manual

Statt openhabianpi kannst du auch die lokale IP Adresse nehmen. Du solltest einen Text im JSON Format sehen:

Außerdem sollte sich die eingestellt Temperatur des Heizungsregelers verändert haben.

Erstelle zunächst die Items, die wir gleich benötigen (die Namen kannst du anpassen):

sudo nano /etc/openhab2/items/thermostat.items

Nun erstellen wir noch eine HTTP Konfiguration für OpenHAB.

sudo nano /etc/openhab2/services/http.cfg

Damit wir das ganze auch einfach per User Interface steuern können, gibt es noch eine Sitemap (der Name ist frei wählbar: falls ein anderer Name gewählt wird, muss die OpenHAB URL angepasst werden):

sudo nano /etc/openhab2/sitemaps/default.sitemap

Nach dem Speichern kannst das Basic UI im Browser aufrufen: http://openhabianpi:8080/basicui/app

Raspberry Pi eQ-3 OpenHAB 2 UI

 

Falls du mehrere eQ-3 Thermostate mit dem Raspberry Pi und OpenHAB steuern möchtest, so kannst du einfach weitere Things erstellen (MAC Adresse anpassen) und die Sitemap einfach anpassen. Natürlich kannst du den entsprechenden Teil dieser Beispiel-Sitemap auch woanders einbauen und bestehende erweitern.

 

5 Kommentare

  1. Hallo,

    Ich würde das gerne für unser Haus umsetzten, die Frage die sich mir stellt ist, das ganze läuft ja dann per Bluetooth von raspverry aus oder ?
    Wie ist da die Reichweite wenn ich eine Etage höher oder tiefer auch Heizungsregler steuern möchte ?

    Danke

    Antworten
    • Hallo Marc,
      sowohl der Raspberry Pi, als auch das Heizthermostat müssen Bluetooth aktiviert haben (Pi sendet, eQ empfängt). Das mit der Reichweite musst du ausprobieren, weil es auf die Wandstärke usw. ankommt. Kann man leider nicht pauschal sagen.
      LG, Felix

      Antworten
      • Hallo,

        Danke für deine Antwort. Ja okay das würde ich dann testen, sind denn mehr Optionen bzw Einstellungen möglich als die vier die oben zu sehen sind ?

        Per App kann man ja die Zeiten ändern usw, das ist nicht möglich oder ?

  2. Hi, ich habe das Problem, dass das JSON file leer bleibt…

    an dieser Stelle…

    ./eQ-3-radiator-thermostat 00:1A:22:0F:C4:DD sync

    bekomme ich bereits eine Fehlermeldung…
    [13:52:02] openhabian@openhab:~$ ./eQ-3-radiator-thermostat 00:1A:22:11:93:04 sync
    -bash: ./eQ-3-radiator-thermostat: Is a directory
    [13:53:03] openhabian@openhab:~$

    kann evtl. jemand helfen?

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!