Select Page
This entry has been published on 2015-08-21 and may be out of date.

Last Updated on 2015-08-21.

Szenario

  • Garagentor mit Motor, der sich per potentialfreiem Kontakt (z.B. Taster, KNX-Aktor) steuern lässt
  • 2 Magnetkontakte an einer KNX-Tasterschnittstelle, jeweils an beiden Enden der Antriebsschiene
  • OpenHAB sowie eibd-Server vorhanden und bereits in Betrieb
  • Tor soll per OpenHAB steuerbar sein und Statusinfos liefern

garagentorantrieb mit magnetkontakten garagentorantrieb mit magnetkontakten2 garagentorantrieb mit magnetkontakten3

 

Lösungsansatz für die Konfiguration

home.items:

Contact CT_EG_Einzelgarage_TorsensorOben	{knx="<0/0/7"}	//Kontakt 1
Contact CT_EG_Einzelgarage_TorsensorUnten	{knx="<0/0/8"}	//Kontakt 2
Switch Sonstiges_EG_Einzelgarage_Torswitch	{knx="<1/0/13"} //Switch für Steuerung
String Sonstiges_EG_Einzelgarage_Tor 		"Tor [MAP(garagedoor.map):%s]"	<garagedoor> 	(EG_Einzelgarage, FensterTueren)								//Element für GUI

 

home.sitemap:

Frame label="Tor"
{
    Switch item=Sonstiges_EG_Einzelgarage_Tor mappings=[ON="Start/Stopp"]
}

 

 

home.rules:

rule "Einzelgaragentor"
when 
	Item CT_EG_Einzelgarage_TorsensorOben  received update
	or
	Item CT_EG_Einzelgarage_TorsensorUnten received update
then
	var wert1 = CT_EG_Einzelgarage_TorsensorOben.state as OpenClosedType 
	var wert2 = CT_EG_Einzelgarage_TorsensorUnten.state as OpenClosedType
			
	if ((wert1 == OPEN) && (wert2 == CLOSED)) {
	
		Sonstiges_EG_Einzelgarage_Tor.postUpdate("closed")
		return false
	}
	if ((wert1 == CLOSED) && (wert2 == OPEN)) {
	
		Sonstiges_EG_Einzelgarage_Tor.postUpdate("open")
		return false
	}	
	Sonstiges_EG_Einzelgarage_Tor.postUpdate("ajar") //kein eindeutiges Ergebnis -> fährt (oder Fehler)

end

rule "EinzelgaragentorBewegen"
when
	Item Sonstiges_EG_Einzelgarage_Tor received update ON
then
	//logInfo("EinzelgaragentorBewegen","Tor öffnen")
	//logInfo("EinzelgaragentorBewegen", "[{}]", Sonstiges_EG_Einzelgarage_Tor.state)
	sendCommand(Sonstiges_EG_Einzelgarage_Torswitch, ON)
end

 

garagedoor.map:

open=offen
closed=zu
ajar=fährt
-=unknown
ON=Starte
unknown=unbekannt