Dieses Kapitel beschäftigt sich mit den Möglichkeiten der CCU-Weboberfläche (Web UI), bestimmtes Verhalten der
Homematic-Installation zu beeinflussen. Was ich hier beschreibe, nennt ELV anders:
- Direkte Geräteverknüpfungen können zwar über die CCU (Zentrale) eingestellt und verwaltet werden, laufen aber
ohne direkten Einfluss der Zentrale ab. Die miteinander verknüpften Homematic-Einheiten kommunizieren direkt miteinander.
Die hier eingestellten Funktionen sind recht stabil, weil sie nur auf die beiden betroffenen Homematic-Einheiten
brauchen. Die Homematic-Einheiten brauchen die Verbindung zur Zentrale nur in folgenden Fällen:
- Zum Einstellen der Verbindungen. Grundsätzlich ließen sich diese direkten Geräteverbindungen auch durch Anlernen
der einen Einheit an der anderen verwirklichen. Wenn man dann aber eine der Einheiten an der Zentrale anlernt und die
zweite keine Verbindung zur Zentrale aufbauen kann, dann kracht's: Die eine Einheit übergibt die
Verbindungsdaten an die Zentrale, die zweite erfährt aber nichts davon. Im Endeffekt kann es passieren, dass
die direkt verbundenen Geräte ihre Verbindung verlieren.
- Zum Abfragen der Zustände und zum direkten Betätigen von Aktoren. So kann man einen Fensterkontakt direkt
mit einem Thermostaten verbinden, um beim Lüften die Solltemperatur im Raum abzusenken. Gleichzeitig kennt die Zentrale
den Zustand des Fensterkontaktes. Mit dieser Information kann man eine Anzeige alle Fenster sind zu steuern
oder gleich eine Alarmanlage verwirklichen.
- Zentralenverknüpfungen lassen sich im Web UI ohne ernsthafte Programmierkenntnisse zusammenklicken. Sie sind
bedeutend vielseitiger als direkte Geräteverknüpfungen. Sie laufen aber nur ab, wenn mehrere Bedingungen erfüllt sind:
- Die eingebundenen Homematic-Einheiten müssen funktionieren.
- Jede einzelne dieser Einheiten muss eine stabile Verbindung zur Zentrale haben.
- Die Zentrale muss funktionieren; ihr Rechner darf nicht abgestürzt sein oder gerade neu booten.
- Die Zentrale muss die Zustände aller beteiligten Einheiten kennen. Viele Einheiten senden ihre Zustände aber
aus Stromspargründen nur in größeren Abständen (Stunden bis Tage). Nach einem Neustart nimmt die Zentrale
beispielsweise an, dass alle Fensterkontakte geschlossen sind. Dem muss aber nicht so sein.
Der Menüpunkt Zentralenverknüpfung heißt zusätzlich auch Programmerstellung. Aber das war schon fast alles,
was man dazu in der Bedienoberfläche findet. Zwar gibt es für das Homematic-System auch noch Unterlagen über die Programmierung.
Aber damit kommt bestenfalls der klar, der schon mit Visual Basic oder ähnlichen objektorientierten Programmiersprachen
gearbeitet hat. Offensichtlich gibt es auch keine Entwicklerumgebung, so dass die eigentliche Programmierung nur was für
Masochisten ist.
Direkte Geräteverknüpfungen erstellen
Vor dem Kauf der entsprechenden Einheiten kann man nur hoffen, dass man die gewünschte Funktion auch so verwirklichen
kann. Denn ich wüsste nicht, wo man die exakten Möglichkeiten nachlesen kann – das sind nur ein paar der vielen
Löcher in der Homematic-Dokumentation. Die existierenden Einstellmöglichkeiten findet man erst, wenn man die Einheiten an der
Zentrale angelernt hat und das entsprechende Verknüpfungsmenü öffnet. Dabei kann es gut passieren, dass eine unverständlich
bezeichnete Option auftaucht, die nirgendwo erklärt ist. Sporadisch gibt es dafür mal eine Hilfefunktion. Aber das ist eher
die Ausnahme denn die Regel.
Grundsätzlich tut eine direkte Geräteverknüpfung nur etwas, wenn ein Ereignis auftritt. Zumindest batteriebetriebene
Geräte schalten ihren Empfänger die meiste Zeit ab, um Strom zu sparen:
- Einheiten mit Mignon-Zellen sind relativ gut erreichbar, also etwa Wandthermostate. Sie liefern alle paar Minuten
Ist-Temperatur und Luftfeuchtigkeit. Aber ihre Solltemperatur liefern sie nur, wenn sie (manuell oder durch das
eingestellte Temperaturprofil) geändert wird. Nur einmal am Tag oder so übertragen Wandthermostate ihre Solltemperatur,
wenn sie immer die gleiche Solltemperatur haben. Offenbar synchronisieren sich Wandthermostat und damit verbundene
Stellantriebe. Sie wachen alle paar Minuten gleichzeitig auf.
- Einheiten, die mit Knopfzellen betrieben werden, sind ohne manuellen Eingriff kaum zu erreichen. Unter bestimmten,
mir nicht wirklich nachvollziehbaren Randbedingungen liefern sie in großen Zeitabständen eine Statusmeldung. Sonst
melden sich diese Einheiten nur nach Eintreten eines Ereignisses – also beispielsweise beim Öffnen eines Fensters.
Wer also Fensterkontakte und Wandthermostat miteinander verknüpft, wird die Anzeige Fenster offen kurz nach Öffnen
eines Fensters entdecken. Es kann aber diverse Minuten dauern, bis die Stellantriebe die Heizung abschalten.
Die Kombination Fensterkontakt-Wandthermostat brachte mich in der Anfangszeit zur Verzweiflung. Ich brauchte über ein Jahr,
den folgenden Zusammenhang zu erkennen:
- Anfangs lernte ich die Geräte direkt aneinander an. Die Funkverbindung innerhalb eines Raums war kein Problem.
- Anschließend verband ich den Wandthermostaten mit der Zentrale und konnte so auf den Thermostaten zugreifen.
- Innerhalb einiger Tage ging dann nichts mehr.
- Mehr zufällig entdeckte ich irgendwann direkte Geräteverknüpfungen, die ich nie angelegt hatte und die auch als
nicht funktionsfähig gekennzeichnet waren.
- Offensichtlich hatte der Wandthermstat seine Verknüfungsdaten an die Zentrale übertragen und sich anschließend in
eine entsprechende Betriebsart versetzt.
- Die Fensterkontakte hat jemand konstruiert, der von Hochfrequenz absolut keine Ahnung hat. Er stopfte die Antenne
einfach irgendwie ins Gehäuse, so dass sie extrem schlecht funktioniert. Ergebnis: Eine Verbindung zwischen Fensterkontakt
und der Zentrale zwei Räume weiter ist nicht möglich.
- Die Fensterkontakte erfahren also nichts von der Zentrale und schalten sich auch nicht in die passende Betriebsart um.
- Offensichtlich versuchen die Geräte nur eine begrenzte Zeit lang, ihre Kommunikationspartner zu erreichen, und schalten
sich dann mehr oder weniger ab. Folglich geht nichts mehr!
Zu Beginn meiner zweiten Heizperiode wusste ich mir deshalb nicht anders zu helfen, als alle meine Homematic-Komponenten
auf ihre Werkseinstellung zurückzustellen und alle Einstellungen neu zu machen. Ich habe ein ganzes Wochenende lang geflucht
und war kurz davor, alle Homematic-Komponenten bei Ebay zu verticken.
Zentralenvernüpfungen erstellen
Für Zentralenverknüpfungen muss man die ganzen Homematic-Komponenten erst mal mit der Zentrale verbinden und kann dann
recht einfach die Verknüpfungen zusammenklicken. Auch dabei gilt das bei den direkten Geräteverknüpfungen Geschriebene:
Was man genau einstellen kann, erfährt man erst nach Anlernen der Gerätschaften. Auch hier gibt es diverse Optionen, die
unverständlich benannt und nicht beschrieben sind.
Alle Verknüpfungsmöglichkeiten laufen nach dem folgenden (vereinfachten) Schema ab:
- Die Funktion wird von einem Ereignis ausgelöst. Das kann ein bestimmter Zeitpunkt sein oder die Änderung eines
Zustandes bzw. Variablenwertes. Dazu gibt es z.B. die Option auslösen auf Änderung.
- Eine Reihe von Bedingungen wird geprüft. Dazu kann man Variablenwerte und Gerätezustände abfragen. Der Unterschied
zum obigen Punkt ist nur, dass man die Option nur prüfen wählt.
- Wenn die Bedingungen erfüllt sind, wird eine Funktion ausgelöst.
Wichtig ist, was da nicht geht:
- Es gibt keine mathematischen Funktionen – abgesehen von Vergleichsoperatoren bei den Bedingungen.
- Es gibt keine Schleifen – dazu müsste man beispielsweise Schleifenzähler erhöhen können.
- Es gibt keine Unterprogramm-Aufrufe. Man kann höchstens eine Variable auf einen bestimmten Wert setzen und damit
eine andere Zentralenverknüpfung starten.
- Es gibt kaum Möglichkeiten, etwas zu protokollieren. Man kann nur Gerätezustände oder Variablenwerte so kennzeichnen,
dass ihre Werte bei Änderungen im Systemlog auftauchen. Diese Möglichkeit wird man aber nur sparsam nutzen,
weil das Log sonst nur ein paar Stunden umfasst und nur recht umständlich durchsucht werden kann. Mal ganz abgesehen
davon, dass das Ausgeben des Logs bei der CCU1 mehrere Minuten dauert. Die CCU2 ist da wohl etwas schneller.
Mit Systemvariablen arbeiten
Das Konzept der Zentralenverknüpfungen ist nicht schlecht, stößt aber schnell auf Grenzen. Ein interessanter Weg,
komplexere Funktionen zu verwirklichen, eröffnet sich mit Systemvariablen. Dazu ein Beispiel aus meiner
Heizungssteuerung:
- Ohne Kommunikationsmöglichkeit mit der Heizungssteuerung bleibt mir nur, Vor- und Rücklauftemperatur zu messen und
mir Algorithmen zu überlegen, wann ich der Heizung die Stromversorgung ein- und ausschalten sollte.
- Dafür gibt es zwei getrennte Steuergrößen: Der Wärmebedarf des Hauses und die Warmwasserbereitung. Den Wärmebedarf
leite ich aus den Stellungen der Stellantriebe ab. Die Warmwasserbereitung passiert zu definierten Zeiten.
- Wenn die Heizung Warmwasser bereiten soll, muss ich die Stromversorgung einschalten. Dazu schicke ich zu passenden
Zeitpunkten unbedingte Einschaltbefehle an den Hutschienen-Aktor – beispielsweise um 5:15 h. Dabei ist es
gleichgültig, ob die Stromversorgung schon eingeschaltet war oder nicht.
- Nach der Warmwasserbereitung müssen aber diverse Bedingungen abgefragt werden, ehe der Hutschienenaktor einen
Aus-Befehl erhalten darf:
- Wenn die Heizung arbeiten soll, darf sie nicht abgeschaltet werden.
- Es wäre ungeschickt die Heizung abzuschalten, während der Brenner läuft oder sich noch viel Wärme im Kessel
befindet.
Zudem darf die Heizung auch dann nicht abgeschaltet werden, wenn das Haus zwar warm genug ist, aber das Warmwasser
gerade aufgeheizt wird und der Kessel deshalb warm ist.
Diese Kombinationen allein mit Zentralenverknüpfungen zu verwirklichen wird beliebig unübersichtlich. Deshalb läuft das
mittlerweile so:
- Zu Beginn der Warmwasserbereitung prüft eine zeitgesteuerte Zentralenverknüpfung, ob überhaupt jemand anwesend ist
und schaltet ggf. den Hutschienenaktor ein. Gleichzeitig setzt sie die selbst definierte Systemvariable
Warmwasserbereitung auf wahr.
- Nach der Warmwasserbereitung setzt eine zeitgesteuerte Zentralenverknüpfung die Systemvariable Warmwasserbereitung
auf falsch – nicht mehr!
- Eine Zentralenverknüpfung wird immer dann gestartet, wenn ausgewählte Stellantriebe auf weniger als 10% schließen.
Falls zu diesem Zeitpunkt alle diese Stellantriebe so weit zu sind, wird die selbst definierte Systemvariable
Heizung muss ein auf falsch gesetzt.
- Wenn einer dieser Stellantriebe auf mehr als 20% öffnet, wird die Systemvariable Heizung muss ein auf wahr
gesetzt. Das passiert meist zu den Zeitpunkten, zu denen die Solltemperatur des entsprechenden Raums zeitgesteuert erhöht
wird. Im Winter kann das aber auch z.B. um 3 h passieren, wenn ein Raum von der Tag- unter die Nacht-Solltempemperatur
abkühlt.
- Eine Zentralenverknüpfung startet, wenn die selbst definierte Systemvariable Heizung muss ein auf wahr
gesetzt wird. Sie schickt einen Ein-Befehl an den Hutschienenaktor.
- Immer wenn die Differenztemperatur zwichen Vor- und Rücklauf des Heizungskreislaufs kleiner wird als 2°C, startet eine
weitere Zentralenverknüpfung. Die prüft, ob die beiden Systemvariablen Warmwasserbereitung und
Heizung muss ein auf falsch stehen. Wenn ja, schickt sie einen Aus-Befehl an den Hutschienen-Aktor.
Auf diesem Weg wird die Heizung nur ausgeschaltet, wenn kein Wärmestau im Kessel entstehen kann und auch sicher keine
Wärme gebraucht wird. Zudem wird die Heizung nur eingeschaltet, wenn wenn auch Wärme gebraucht wird. Bei typischem Aprilwetter
läuft die Heizung unter der Woche am Morgen für drei Stunden und dann ab 17 h wieder. Die Auslöser sind meist Küche und Bad
auf der Nordseite des Hauses. Schien über den Tag die Sonne lange genug ins Wohnzimmer, schaltet die Heizung um 20 h wieder ab
– bis zum nächsten Morgen um 5 h. Ergebnis: Die Heizung, und vor allem die Umwälzpumpe des Heizkreislaufs, sind oft nur
6 h am Tag in Betrieb.
|