Inhalt

HM-SEC-RHS und openHAB

Anders als bei den Fenstern reicht mir für die Rollladensteuerung der Terrassentüren nicht einfach der Zustand auf oder zu, wie ich es bei den Fenstern mit eiem Magnetkontakt lösen konnte. Da eine zugezogende, aber entriegelte Tür wie eine offene Tür behandelt werden muss und den Rollladen oben hält, habe ich mir die Homematic Fenster-Drehgriffkontakte HM-SEC-RHS einmal angesehen und diese in meine Hausautomatisierung integriert. Anders als ein Contact mit 2 Zuständen (auf/zu) kennt dieser Sensor nun jedoch 3 (auf/gekippt/zu).


Für meine Fensterkontakte setze ich auf eine Low-Budget-Lösung mit Magnetkontakten, womit ich den Status offen (offen oder gekippt) oder geschlossen ermitteln kann. Was die Sensoren jedoch nicht können ist der Status “verriegelt”. Für die Rollladensteuerung der Terrassentüren ist das unter umständen aber problematisch, wenn die Sonne untergeht, dadurch die Rollläden herunterfahren, ich aber gerade Kaminholz hole. Niemand möchte dann (möglichst im Winter) bis zum Morgengrauen auf der Terrasse warten müssen, dass die Rollläden den Zutritt wieder ermöglichen.

An den Terrassentüren brauche ich also einen Sensor, der mir den Verriegelungszustand mitteilt. Hier setze ich auf den HomeMatic HM-SEC-RHS, der einfach unter den Drehgriff des Fensters gesteckt wird.

In openHAB lässt sich dieser Kontakt wie gewohnt per UI oder Textfile einbinden:

// conf/things/homematic.things
Bridge homematic:bridge:XXX1234567 [ gatewayAddress="?",gatewayType="ccu",callbackHost="?" ]
{
  Thing HM-Sec-RHS YYY1234567 "Terrassentür"
}
// conf/items/myitems.items
String Terrassentuer_State "Terrassentür [%s]" {channel="homematic:HM-Sec-RHS:XXX1234567:YYY1234567:1#STATE"}

Das HomeMatic-Binding liefert für dieses Gerät den Status allerdings nur als String zurück. In einem langanhaltenen Provisorium hatte ich eine Regel, die auf Änderung des String-Items reagiert und dann den Status des eigentlichen Items aktualisiert hat.

rule "Bathroom contact mapping" 
when
	Item BathRoom_Window_State_Raw received update
then
	if (BathRoom_Window_State_Raw.state == "CLOSED") {
		postUpdate(BathRoom_Window_State, CLOSED)
	} else {
		postUpdate(BathRoom_Window_State, OPEN)
	}
end 

Etwas viel Aufwand, wie ich finde. Meine aktuelle Lösung macht das Mapping direkt an der Item-Konfiguration über die “map”-Transformation-Extension:

// conf/items/myitems.items
Contact Terrassentuer_State "Terrassentür [MAP(window.map):%s]" {channel="homematic:HM-Sec-RHS:XXX1234567:YYY1234567:1#STATE" [profile="transform:MAP", function="homematic2contact.map"] }
// conf/transform/homematic2contact.map
CLOSED=CLOSED
OPEN=OPEN
TILTED=OPEN
=UNDEF

Titelbild von Pixabay.