Virtuelles Trennrelais

Auch ein einfaches Trennrelais für die Jalousiesteuerung kann mit der HomeMatic noch etwas verfeinert werden

7433 Zeichen
Score aktualisiert
100%
Code: d3f7764fc5324549b18eb8bf53806491
Token in Entwicklung nicht aktualisiert
img-Tag in Entwicklung deaktiviert

Wenn mehrere Rolladen-Antriebe über einen einzelnen Schalter gesteuert werden sollen, benötigt man ein Trennrelais. Damit werden die Antriebe elektrisch voneinander getrennt – ohne Trennrelais kann es sein, dass sie in Endlage sofort wieder umkehren.

Man kann ein Trennrelais auch mit der HomeMatic einsetzen: An den Jalousie-Aktor wird das Trennrelais angeschlossen, daran die Jalousien. Wird der Aktor betätigt, fahren die angeschlossenen Rolladen synchron. Oder man verwendet zwei Aktoren, die mit einem gemeinsamen Schalter betätigt werden: Die Aktoren arbeiten hier wie ein Trennrelais.

Aber warum Mechanik verwenden, wenn ein kleines Programm soviel mehr kann?

Arbeiten an elektrischen Anlagen dürfen nur von Elektrofachkräften durchgeführt werden. Netzspannung ist kein Spielzeug! Bei fehlerhafter Ausführung drohen Sach- und Personenschäden durch Brand oder elektrischen Schlag!

Lassen Sie Jalousie-Aktoren und -Antriebe von einem Elektriker, Jalousiebauer oder entsprechenden Handwerkern installieren, wenn Sie selbst keine Fachkraft sind.

Variablen in HomeMatic-Scripten

Die CCU hatte früher ein Limit von maximal 200 Variablen, das mit Firmware-Version 2.29.18 aufgehoben wurde. Dieses Limit bezog sich auf alle Variablen, die in allen Scripten verwendet werden. Gemeint sind Variablen, die direkt im Script definiert werden: object x; object y; var z;

Wenn Scripte nicht mehr funktionieren und bei der Prüfung unerklärliche Syntax-Fehler auftreten, sollte versuchsweise dieses Programm wieder gelöscht oder deaktiviert werden – oder, noch besser, auf die aktuelle Firmware-Version aktualisiert werden.

Strings in HomeMatic-Scripten

Durch String-Verwendung in HomeMatic-Scripten kann die CCU fehlerhaft arbeiten, instabil werden oder sogar abstürzen. Grundsätzlich gilt: Je öfter mit Strings hantiert wird, desto eher führt dies zu Problemen.

Ich empfehle daher, nach Umsetzung dieser Anleitung die CCU unter Beobachtung zu halten.

Das Problem

Im Wohnzimmer habe ich die klassische 80er-Jahre-Anordnung von Panoramafenster und Terrassentür.

Die Jalousie des Panoramafensters braucht deutlich weniger Zeit als die der Terrassentür, um von 100 % auf 0 % zu fahren – klar, der Weg ist ja kürzer. Starten beide bei offener Jalousie, kann man sie synchron fahren lassen und sie bleiben bei manuellem Stopp auf derselben Höhe stehen. Fahren sie von unten los, ist die Terrassentür-Jalousie gerade halb geöffnet, wenn die des Panoramafensters bereits oben ist. Doof.

Werden die Jalousien programmgesteuert gestartet, wird die Sache noch komplizierter. Zur Beschattung ist der ideale Wert beim Panoramafenster 30 %, bei der Terrassentür ungefähr 60 %. Ich müsste für eine einheitliche Höhe bei allen Programmen die richtigen Zahlen vorgeben. Auch doof.

Und dann ist da noch die Gartenarbeit: Ich möchte ungern draußen stehen und dabei zusehen, wie die Terrassentür-Jalousie mich aussperrt. Das wäre so richtig doof.

Die Lösung

Beide Antriebe werden über separate Aktoren gesteuert und kalibriert (d.h. die Zeit, die zum vollständigen Öffnen oder Schließen benötigt wird, wird gemäß Bedienungsanleitung im Aktor eingestellt). Der Fenstergriff an der Terrassentür bekommt einen Drehgriffkontakt, so dass die CCU bei entriegelter Tür darauf reagieren kann.

Die Jalousie des Panoramafensters wird mein „Master“: Wenn sie eine neue Position einnimmt, wird die Terrassentür-Jalousie nachgezogen.

Das Programm dazu ist zwar relativ lang, aber im Prinzip recht einfach: Jeder Teil prüft die Position der Master-Jalousie und den Verriegelungsstatus der Tür. Wenn die Terrassentür-Jalousie noch nicht die richtige Position hat, wird der entsprechende Programmteil ausgeführt.

Erster Teil – Terrassentür-Jalousie öffnen

Die letzte Bedingung dient dem Komfort: Sendet man „100 %“ an einen Jalousie-Aktor, der sich bereits in der Position 100 % befindet, dann schaltet er dennoch kurzzeitig das Relais ein. Das ist sinnvoll, wenn man einen Rolladen neu kalibrieren möchte, aber im Normalbetrieb nervt das Klicken mich. Darum: Nichts tun, wenn nichts getan werden muss.

Zweiter Teil – Position der Terrassentür-Jalousie angleichen

An dieser Stelle kann die Position der Terrassentür-Jalousie nicht so einfach geprüft werden, da die tatsächliche Position durch das Script berechnet wird. Dieses wird daher auch ausgeführt, wenn die Terrassentür-Jalousie bereits die richtige Position hat.

Allerdings schaltet der Aktor das Relais ohnehin nicht ein, wenn die Position bereits stimmt – das Problem mit den klickenden Relais gibt es nur bei 0 % und 100 %. Von daher ist die Prüfung hier auch nicht notwendig.

Das hinterlegte Script verwendet die Position der Master-Jalousie und errechnet daraus die neue Höhe der Terrassentür-Jalousie.

! HomeMatic-Script
! VIRTUELLES TRENNRELAIS
! http://www.christian-luetgens.de/homematic/programmierung/garten/trennrelais/Trennrelais.htm

string s_panorama = dom.GetObject("Wohnzimmer.Jalousie.Panoramafenster").Address();
string s_terrasse = dom.GetObject("Wohnzimmer.Jalousie.Terrassentuer").Address();

object l_panorama = dom.GetObject("BidCos-RF." # s_panorama # ".LEVEL");
boolean w_panorama = dom.GetObject("BidCos-RF." # s_panorama # ".WORKING").Value();
object l_terrasse = dom.GetObject("BidCos-RF." # s_terrasse # ".LEVEL");
boolean w_terrasse = dom.GetObject("BidCos-RF." # s_terrasse # ".WORKING").Value();

if ((!w_panorama) && (!w_terrasse)) {
  if (l_panorama.Value() > 0.95) {
    l_terrasse.State(1.00);
  } else {
    l_terrasse.State(1.0-(((1.0 - l_panorama.Value())/0.6)*0.34));
  }
}

!  Ende des Scripts

In den ersten beiden Zeilen werden die jeweiligen Kanäle herausgesucht. Im unteren Teil wird geprüft, ob die Rolläden gerade in Bewegung sind – damit werden unnötige Kehrtwenden vermieden. Ganz zum Schluss wird dann der neue Wert gesetzt.

Die richtige Formel ist einfach berechnet: Ich fahre beide Jalousien auf eine gewüschte Position und lese die Werte für die jeweiligen Kanäle in der WebUI der CCU ab. Diese setze ich in die obige Formel ein. Daraus kann die CCU für jede Position der Master-Jalousie einen zugehörigen Wert für die Terrassentür-Jalousie berechnen. Stichwort: Dreisatz.

In meinem Fall waren das 34 % für das Panoramafenster und 60 % für die Terrassentür, entsprechend 0.34 und 0.6 im Programm. Fertig.

Dritter Teil: Jalousie schließen

Vierter Teil: Terrassentür gekippt

Auch hier prüfe ich nicht die aktuelle Position der Terrassentür-Jalousie: Wenn sie bereits die richtige Position hat, tut der Aktor auch diesmal nichts.

Fünfter Teil: Nichts.

Das war’s, alle Fälle sind abgedeckt. Unter dem „Sonst … “-Zweig gibt es nichts.

Erfahrungen und Einbindung in Programme

Das Programm funktioniert einwandfrei, sofern die Jalousie-Aktoren korrekt kalibriert sind. Der Positionsunterschied ist dann nur beim Herauffahren manchmal minimal – nicht mehr als fünf Zentimeter. Ansonsten wird die Terrassentür-Jalousie stets sauber nachgezogen.

Auch die Einbindung in Programme ist sehr einfach: Ich ignoriere die Terrassentür-Jalousie bei allen Überlegungen und kümmere mich nur um die Master-Jalousie vor dem Panoramafenster. Dieses Programm sorgt dann für den Rest.

Navigation