Regel wenn ein zweiter Zustand auch zutrifft

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Supermario
Beiträge: 19
Registriert: 13. Feb 2019 20:59

Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Supermario »

Hallo eventuellst könnt ich ja nochmal ein wenig Schützenhilfe bekommen.....
ich möchte, wenn die Tür aufgeht, eine Notation und Mai erhaltenl ... das funktioniert hervorragend.

rule "React on Door / Window Status (zwave_device_xxxxxxxx_node3_sensor_door) change/update"
when
Item zwave_device_xxxxxxxx_node3_sensor_door changed from CLOSED

then
sendMail("xxxxxg@xxxx.com", "Alarm Tür Wohnzimmer", "checken die Tür ist offen")
sendBroadcastNotification("Wohnzimmertür auf")

end


nun würde ich das gern in Abhängigkeit meines iPhones steuern.... also nur wenn das Phone auch ausgelogged ist (closed) soll die Notification gesendet werden.

die folgende Regel funktioniert:
rule "React on iPhone Mario (meinPhone) change/update"
when
Item meinPhone changed from CLOSED to OPEN
then
sendBroadcastNotification("Willkommen zu Hause Mario")


end

nun dachte ich, ich könnte mit "if(meinPhone.state == CLOSED) was machen klappt aber leider nicht.....
hab schon ne weile probiert bevor ich jetzt frage..... LG Mario

Nelson666
Beiträge: 6
Registriert: 16. Mär 2017 20:27

Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Nelson666 »

Hallo,

Versuch doch einfach in der ersten Rule den Zustand des Telefons abzufragen.

Code: Alles auswählen

If (meinPhone.state == CLOSED) {
 //mach was, Telefon ist nicht zu Hause
} else if (meinPhone.state == CLOSED) {
 //mach was anderes, tel ist zu Hause. 
}
Bei mir funktioniert das so.
Das „from CLOSED“ in der ersten Rule verstehe ich ehrlich gesagt nicht. Ich mach das immer wie in deiner 2. Rule ( form OPEN to CLOSED) oder halt umgedreht.

Gesendet von iPhone mit Tapatalk

Supermario
Beiträge: 19
Registriert: 13. Feb 2019 20:59

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Supermario »

Rule "React on Door / Window Status (zwave_device_9ce163e6_node3_sensor_door) change/update"
when
Item zwave_devicexxxxxx_node3_sensor_door changed from CLOSED to OPEN

then
sendMail("xxxxx@xxxx.com", "Alarm Tür Wohnzimmer", "checken die Tür ist offen")
sendBroadcastNotification("Wohnzimmertür auf")
If (meinPhone.state == CLOSED) {
//keine Benachrichtigung... aber wie mache ich das...
}

end


mit der ersten Regel sendet meine Tür eine Beachrichtigung :ugeek:

Nelson666
Beiträge: 6
Registriert: 16. Mär 2017 20:27

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Nelson666 »

Versuchs mal so, ungetestet.

Code: Alles auswählen

Rule "React on Door / Window Status (zwave_device_9ce163e6_node3_sensor_door) change/update"
when
	Item zwave_devicexxxxxx_node3_sensor_door changed from CLOSED to OPEN

then
	If (meinPhone.state == CLOSED) {
		//Phone nicht zu Hause
		sendMail("xxxxx@xxxx.com", "Alarm Tür Wohnzimmer", "checken die Tür ist offen")
		sendBroadcastNotification("Wohnzimmertür auf")
	}

end
Edit: was benutzt du denn, um den Status des Telefons abzufragen? Zuverlässig funktioniert das bei mir nur mit diesem TR064 Plugin für die Fritzbox. Hier unten noch ein kleiner Auszug aus einer meiner funktionierenden Rules für die Haustür.
Wenn die Haustür geöffnet wird, kein Telefon zu Hause ist und "Anwesend" (Switch) aus ist, wird eine Benachrichtigung an unsere Telefone gesendet.

Code: Alles auswählen

rule "Haustuer wird geöffnet"
	when
		Item Reed_EG_Haustuer changed from CLOSED to OPEN
	then
		if(Wetterstation_Helligkeit.state<=40) {
			Licht_Aussen_Haustuer_Zeitschalter.sendCommand(ON)
			Licht_EG_Flur_Haustuer_Zeitschalter.sendCommand(ON)
	    }
		if( (cFboxMacOnline_K.state == CLOSED) && (cFboxMacOnline_E.state == CLOSED) && (Anwesend.state == OnOffType::OFF) ) {
			executeCommandLine("/usr/local/bin/telegramSendMsg.sh 'Haustür wurde geöffnet!!!!'")
			executeCommandLine("/usr/local/bin/telegramSendMsg_e.sh 'Haustür wurde geöffnet!!!!'")
		}
		LastOpenHaustuer.postUpdate(new DateTimeType)
end

Supermario
Beiträge: 19
Registriert: 13. Feb 2019 20:59

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Supermario »

ja genau das "TR064 Plugin für die Fritzbox" funktioniert auch prima mit "Rule Engine (Experimental) misc-ruleengine - 2.4.0" allerdings kann ich damit keine mail Action auslösen...... aber sie löst in Abhängigkeit des Handy´s ziemlich zuverlässig Steckdosen mir Sirenen aus.

Nelson666
Beiträge: 6
Registriert: 16. Mär 2017 20:27

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Nelson666 »

Lass Dir doch mit loginfo mal die Zustände der wichtigen Items in der Rule ausgeben.

Telefon und Wohnzimmer Contact


Gesendet von iPhone mit Tapatalk

Supermario
Beiträge: 19
Registriert: 13. Feb 2019 20:59

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Supermario »

Folgendes meinte der Log

2019-03-07 20:55:11.902 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'React on Door / Window Status (zwave_device_xxxxxxxx_node3_sensor_door) change/update': The name 'If' cannot be resolved to an item or type; line 9, column 5, length 30

mit dieser Regel:

rule "React on Door / Window Status (zwave_device_xxxxxxxx_node3_sensor_door) change/update"
when
Item zwave_device_xxxxxxxx_node3_sensor_door changed from CLOSED



then
If (meinPhone.state == CLOSED) {
sendMail("xxx..com", "Alarm Tür Wohnzimmer", "checken die Tür ist offen")
sendBroadcastNotification("Wohnzimmertür auf")
}

end

Benutzeravatar
udo1toni
Beiträge: 13955
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von udo1toni »

Das If muss ein if sein. Das Schlüsselwort Rule wird ebenso klein geschrieben.

Code: Alles auswählen

rule "React on Door / Window Status (zwave_device_9ce163e6_node3_sensor_door) change/update"
when
    Item zwave_devicexxxxxx_node3_sensor_door changed from CLOSED to OPEN
then
    if(meinPhone.state == CLOSED) { // Phone nicht zu Hause
        sendMail("xxxxx@xxxx.com", "Alarm Tür Wohnzimmer", "checken die Tür ist offen")
        sendBroadcastNotification("Wohnzimmertür auf")
    }
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Nelson666
Beiträge: 6
Registriert: 16. Mär 2017 20:27

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Nelson666 »

Man sollte halt doch nicht alles am Telefon schreiben.
Hast völlig recht.


Gesendet von iPhone mit Tapatalk

Supermario
Beiträge: 19
Registriert: 13. Feb 2019 20:59

Re: Regel wenn ein zweiter Zustand auch zutrifft

Beitrag von Supermario »

OMG und genau so hat es geklappt.....
ich danke Euch vielmals!!! die Idee mit dem "Then if" und danach war der Schreibfehler Ihr seid Klasse.....

TAUSEND DANK!!! es hat mich schon Wut und Nächte gekostet ......
nochmal Danke!!!

Antworten