Home Automation für mich – erste Schritte

Visits: 226

ZigBee ist also ein Funkprotokoll, mit dem IoT-Geräte sich mitteilen können. Es ist nicht WiFi, also muss ich den Geräten auch nicht einen potentiellen Zugang zum Internet bieten. Es ist ein etablierter Standard, also erwarte ich, dass das auch funktioniert.

ZigBee benötigt eine Empfangsstation, also habe ich mir einen Sonoff ZigBee 3.0 USB Stick sowie einen ESSENTIALS Heizkörper-Thermostat Zigbee gekauft. Ich empfehle Geräte grundsätzlich nur und dann auch explizit, wenn ich der Meinung bin, dass sie gut sind. Diese beiden Geräte erwähne ich nur, weil ich jetzt mit denen angefangen habe.

Weil ich dachte, bzw. eher nur hoffte, dass wir vielleicht mit Heinautomatisierung bereits an wirklich vernünftigen Standards angekommen sind, bin ich erstmal davon ausgegangen, dass ich einfach Home Assistant installieren könne und alles funktioniert wie Magie.

Home Assistant kann unter anderem mittels HAOS (Home Asssistant Operating System) direkt auf einem Raspberry Pi ausgeführt werden, im Idealfall braucht es nur etwas Zeit und dann ein Pairing mit allen Geräten. Benutzt man HAOS, dann richtet sich weitgehend alles selber ein, der USB-Stick wurde erkannt, aber nach dem ersten Boot mit der neu geschriebenen SD-Karte dauert die Einrichtung noch fast eine halbe Stunde. Allerdings ist alles noch automatisch und man muss nur warten.

Unter http://homassistant:8123/ steht dann eine Weboberfläche zur Verfügung. Mit ein paar Klicks konnte ich dann nach ZigBee-Geräten suchen lassen. Diese müssen sich im Pairing-Modus befinden. Wie das aber bei dem Thermostat geht, dazu lässt sich die Betriebsanleitung nicht aus. In der steht

Die Steuerung und Verbindung mit dem Smartphone sowie der
essentials Smart Home App erfordert zwingend den Einsatz der
essentials Smart Home Zentrale.

Und wenn man die Smart Home Zentrale gekauft hat, dann soll die App die Information raus geben, wie der Thermostat in den Pairing-Modus gebracht wird. Andernfalls darf ich nicht wissen, wie das geht.

ESSENTIALS Heizkörper-Thermostat Zigbee Pairing: oberen Knopf für 4 Sekunden halten

Wenn der Thermostat in den Pairingmodus geht, kommt kurz auf dem LCD das Wort “Pair”. Home Assistant findet dann auch ein Gerät, allerdings weiß HA nicht, was es damit anfangen soll.

Zu dem Thermostat kamen nur 2 Datenpunkte automatisch ins System, RSSI (received signal strength indication) und LQI (link quality indicator), mehr nicht.

So direkt weiß ich nicht weiter. Ich kenne mich auch nicht genug mit ZigBee bzw. home automation aus, um zu beurteilen, wo das eigentliche Problem liegt.

  • Ist der Standard einfach nicht ausreichend, um – z.B. wie bei Bluetooth – alle wichtigen Gerätetypen per Class compliance zu erkennen und anzusprechen?
  • Ist Home Assistant einfach nicht gut genug?
  • Möchten alle Hersteller von Geräten vielleicht möglichst nicht kooperieren?

Ich vermute, dass es letzteres ist. Jeder Hersteller von Home automation Geräten will immer noch zusätzlich seine höchst eigene Zentrale mit verkaufen und den Anwender in sein Ökosystem zwingen. Dann muss das Opfer der Kunde alle zusätzlichen Geräte auch von diesem Ökosystem kaufen.

Nicht nur, dass ich das für sehr kundenunfreundlich halte, ich bin auch der Meinung, dass dadurch viel Elektromüll produziert wird. Weiterhin bin ich der Meinung, dass sich solche Hersteller gerade über längere Sicht selber damit ins Aus manövrieren. Gerade, wenn ich eine größere Installation plane und z.B. alles in meinem Haus automatisierbar machen möchte, muss ich mir Gedanken über Interoperabilität oder Zukunftssicherheit machen. Wird <kleiner Hersteller> noch in 3 Jahren existieren und weitere Geräte / Ersatzteile liefern können? Wird <kleiner Hersteller> Firmwareupdates liefern, wenn Sicherheitslücken bekannt werden? Wird der Cloudservice von <kleiner Hersteller> in 2 Jahren noch am Netz sein? Stehen die Server für die Dienste von <kleiner Hersteller> alle in China?

Bei diesen Fragen muss ich eigentlich zu dem Schluss kommen, dass <kleiner Hersteller> nicht in die engere Wahl kommen kann, und <großer Monopolist> auf dem Papier die sicherere Möglichkeit ist. Im Linux Magazin von 2017 ist das Dilemma schon beschrieben:

Und es gibt weitere gute Gründe, die gegen die fertige Hue Bridge von Philips sprechen: Wer etwa die schlauen Lampen von Ikea (Trådfri) besitzt, kann diese nicht mit dem Hue-Gateway verbinden. Denn die Ikea-Lampen sprechen ZHA, während Hue zwingend ZLL als Zigbee-Profil will. Im schlimmsten Falle muss man also zwei separate Steuergeräte betreiben, die voneinander nichts wissen: Komfortabel geht anders.

Natürlich könnte man verschiedenste Zentralen kaufen und diese dann über Home Assistant (in vielen Fällen zumindest) koordinieren, aber warum sollte ich mehr als eine Zentrale überhaupt haben? Zusätzlich ist es auch nicht so, dass <großer Hersteller> notgedrungen für Qualität steht, besonders schön beschrieben in einem Video von Linus Tech Tips.

Das vorläufige Fazit ist auf jeden Fall, dass es auch heute nicht möglich ist, einfach Heimautomatisierungs-Bestandteile zu kaufen und sie “einfach so” einzusetzen. Mindestens muss man sich lange mit Kompatibilitäten auseinander setzen.

Ich experimentiere jetzt erstmal mit Zigbee2MQTT rum, da ich da zumindest schonmal die Meldungen vom Thermostat roh sehen kann.

Home automation für mich

Visits: 181

Meine Heizung soll besser für mich funktionieren. D.h. dass nur geheizt werden soll wo und wann ich das möchte. In meiner Wohnung gibt es 5 Räume und einen Thermostat. Dieser Thermostat ist in der Küche montiert – die Küche gehört aber zu den Räumen, die ich am wenigsten heizen möchte.

Damit ein Thermostat an- und ausschalten kann, benötigt er neben einer Zieltemperatur, die über der aktuellen Raumtemperatur liegt (zum Anschalten) einen heizenden Heizkörper, damit die Raumtemperatur zur Zieltemperatur steigen kann (zum Ausschalten). Entweder heize ich die Küche gar nicht – dann kann der Thermostat aber auch nicht aus schalten, oder ich heize sie mit und rate, welche Temperatur in der Küche sein muss, wenn ich in meinen Wohnräumen vernünftige Bedingungen haben möchte. Allerdings, abhängig gerade auch von der Außentemperatur, ist das alles nur ein Raten.

Das Ziel für mich ist, 2 Räume sollen kontrolliert geheizt werden, 1 Raum bekommt etwas vom Heizwasser ab, und 2 Räume werden nicht geheizt. Solange einer der kontrollierten Räume noch geheizt werden muss, muss die Gastherme an sein (was sonst die Aufgabe des Thermostats in der Küche wäre). In den zu heizenden Räumen müssen Heizkörperthermostate jeweils dort die Wärme kontrollieren.

An-/Ausschalten der Therme ist eigentlich ganz einfach, da ist eine Signalleitung, die 0V – 24V hat. Mit einer simplen Transistorschaltung kann ein Raspberry-Pi das schalten. Ich habe mir da auch eine simple Weboberfläche für geschrieben, mit der ich die Therme (eigentlich die Pumpe der Therme) an und aus schalten kann, sowie simple Vorprogrammierung. Da die Schaltung parallel zu der bestehenden Funktion des Thermostats existiert, kann der originale Thermostat noch als Frostschutz funktionieren. Allerdings habe ich damit noch keine detaillierte Kontrolle darüber, wie warm die einzelnen Räume werden.

Also benötige ich ein Temperatur-Feedback sowie Thermostate an den einzelnen Heizkörpern.

Für mich klingt das so, als müsste das durch die eine oder andere Heimautomatisierung machbar sein.

Und jetzt versuche ich, zu verstehen, wie ich das hinkriegen kann. Insbesondere, da sämtliche Geräte nicht nach Hause telefonieren sollen. Alles soll über einen lokalen Server gehen (wie das von außen steuerbar ist, ist erstmal ein nachrangiges Problem). Ich möchte nicht, dass meine Steuerung davon abhängig ist, dass ein Hersteller einen Cloudservice auch in einem Jahr noch anbietet. Ich möchte auch nicht, dass der Cloudservice eines Herstellers die Information erhält, wie mein Lebensrhythmus ist.

Ein erster Versuch von mir, die Zusammenhänge und Anforderungen an die einzelnen Komponenten zu verstehen, brachte mir nur noch mehr Konfusion. Entweder bin ich nicht in der Lage, richtig zu suchen, oder es gibt sehr wenig Material für einen ersten Einstieg. Wäre ich nicht so paranoid, würde ich jetzt vielleicht doch irgendeinen scheinbaren Standard mit Cloud Service nehmen und dann unnötige Daten über mich auf Amazon Web Services speichern lassen, es scheint furchtbar kompliziert.

Glücklicherweise haben mir nette Benutzer auf Reddit geholfen, meine erste Verständnisblockade zu beheben.

Theoretisch sollte es also so funktionieren, dass ich an meinen lokale Server einen Zigbee-USB-Stick stecke, der dann mit einem Zigbee-Thermostat kommuniziert. Soweit so gut, insbesondere, da das Gerät dann nicht unkontrolliert im WLAN hantiert, sondern es ein anderer Kommunikationsweg ist.

Ich bin gespannt, was der Thermostat wirklich kann, insbesondere in Zusammenarbeit mit einem lokalen Server. In meiner Vorstellung kann ich nicht nur dem Thermostat mitteilen, dass er anmachen soll, sondern auch, dass ich Feedback bekomme, ob der Thermostat an ist, welche Temperatur er misst etc. Thermometer haben die alle, damit sie auch ihre eigene Funktion steuern können.

Wahrscheinlich wird es dann aber eher so sein, dass ich nur dem Thermostat eine Zieltemperatur geben kann, und es kommen keine auswertbaren Daten zurück. Aber ich weiß es im Moment noch nicht, die technischen Daten schweigen sich über so etwas natürlich aus.