Seite 1 von 1

Dummy Switch Item erstellen

Verfasst: 25. Feb 2019 23:16
von mcdandrew
Ich möchte gern folgendes Projekt umsetzen.

An unserem Garagentor befindet sich ein Kontaktsensor, welche über eine Rule überwacht wird und in der Zeit zwischen 22:00 - 06:00 ein Sonoff S20 mit angeschlossener Sirene ansteuert.

Das funktioniert soweit....

Über die Openhab APP möchte ich nun die Möglichkeit haben in der Sitemap ein Switch Item zum Deaktivieren der Alarmauslösung zu haben....schließlich kann es auch mal vorkommen, dass man abend mal in die Garage muss.
Nur irgendwie funktioniert das nicht...

Sitemap-File

Code: Alles auswählen

Switch item=garage_alarm_status label="ON/OFF"
Item-File

Code: Alles auswählen

String garage_alarm_status "Alarmanlage Garage"
Rule-File

Code: Alles auswählen

rule "Tuersensor_Garage_Changed"
when
	Item garage_ks_status changed
    then 
		if(garage_ks_status.state.toString() == "false")
		{
			if (now.getHourOfDay >= 22 || now.getHourOfDay <= 6)
			{
				if(garage_alarm_status.state.toString() == "ON")
				{
					S20_Alarm.sendCommand(ON)
				}
			}
		}
end
Mir fehlt das Verständnis wie der Status in dem Item gespeichert wird und damit ich ihn in der Rule abgefragt nutzen kann.
Über eine weitere Rule sollte dann bei einem eventuellen Systemstart das Item gesetzt werden.

Re: Dummy Switch Item erstellen

Verfasst: 25. Feb 2019 23:40
von udo1toni
Wenn Du in der Sitemap einen Schalter verwenden willst, wäre es das einfachste, auch ein Switch Item dafür zu verwenden.
Item:

Code: Alles auswählen

Switch garage_alarm_status "Alarmanlage Garage"
Sitemap:

Code: Alles auswählen

Switch item=garage_alarm_status
Rule:

Code: Alles auswählen

rule "Tuersensor Garage Changed"
when
    Item garage_ks_status changed
then 
    if(garage_ks_status.state.toString == "false" && (now.getHourOfDay < 6 || now.getHourOfDay > 21) && garage_alarm_status.state == ON) 
        S20_Alarm.sendCommand(ON)
end
Ob der Zustand des Items garage_ks_status so passt, weiß ich natürlich nicht. Im Allgemeinen sollte man versuchen, Kontakte als Contact Item anzulegen. Dann sähe der korrekte Vergleich so aus:

Code: Alles auswählen

if(garage_ks_status.state == OPEN)
Zur Zeitspanne: Um 05:59:59 Uhr liefert getHourOfDay eine 5, eine Sekunde später eine 6 zurück. Um 21:59:59 gilt das entsprechende.

Re: Dummy Switch Item erstellen

Verfasst: 26. Feb 2019 22:54
von mcdandrew
Die Defintion als Switch Item war der Schlüssel zum Erfolg...vielen Dank für die Unterstützung.

Alarmanlage ist nun aktiv...mal sehen ob ich in der Nacht aus dem Schlaf gerissen werde :lol: