22-04-2016, 16:16:54
(Dieser Beitrag wurde zuletzt bearbeitet: 24-04-2016, 11:34:23 von priema.)
Hallo zusammen,
ich habe folgendes Problem mit meiner Alarmanlagen-Rolle:
wenn ich den Schlüsselschalter (Tür/Fenstersensor) schließe, soll das Licht für eine Sekunde kurz an und wieder aus gehen. -> das funktioniert soweit
wenn ich den Schlüsselschalter wieder öffne (Alarmanlage deaktiviere), soll wieder das Licht kurz an und wieder aus gehen -> funktioniert nicht und ich weiß nicht warum.
Und meine "active_surveillance"-Funktion funktioniert auch nicht :S
Ich hab die einzelnen Funktionen mittels lambda-Funktion umgesetzt, weil es anders nicht funktioniert hat :0
ich habe folgende default.rules:
Die Regel "activation" funktioniert einwandfrei, jedoch die anderen beiden Regeln werden nicht ausgeführt.
Weiß jemand woran das liegen kann?
Ich habe heute extra alles neu von Github installiert, funktioniert jedoch immer noch nicht.
ich habe folgendes Problem mit meiner Alarmanlagen-Rolle:
wenn ich den Schlüsselschalter (Tür/Fenstersensor) schließe, soll das Licht für eine Sekunde kurz an und wieder aus gehen. -> das funktioniert soweit
wenn ich den Schlüsselschalter wieder öffne (Alarmanlage deaktiviere), soll wieder das Licht kurz an und wieder aus gehen -> funktioniert nicht und ich weiß nicht warum.
Und meine "active_surveillance"-Funktion funktioniert auch nicht :S
Ich hab die einzelnen Funktionen mittels lambda-Funktion umgesetzt, weil es anders nicht funktioniert hat :0
ich habe folgende default.rules:
Code:
import org.openhab.core.library.types.*
var boolean surveillance = false
var boolean active_alarm = false
val org.eclipse.xtext.xbase.lib.Functions$Function0 activationHandler = [|
if (Stiegenaufgang_Licht.state == OFF){
sendCommand(Stiegenaufgang_Licht, ON)
Thread::sleep(1000)
sendCommand(Stiegenaufgang_Licht, OFF)
} else {
sendCommand(Stiegenaufgang_Licht, OFF)
Thread::sleep(1000)
sendCommand(Stiegenaufgang_Licht, ON)
}
surveillance = true
]
val org.eclipse.xtext.xbase.lib.Functions$Function0 deactivationHandler = [|
active_alarm = false
surveillance = false
sendCommand(Sirene, OFF)
if (Stiegenaufgang_Licht.state == ON) {
sendCommand(Stiegenaufgang_Licht, OFF)
Thread::sleep(1000)
sendCommand(Stiegenaufgang_Licht, ON)
} else {
sendCommand(Stiegenaufgang_Licht, ON)
Thread::sleep(1000)
sendCommand(Stiegenaufgang_Licht, OFF)
}
]
rule "activation"
when
Item Alarmschalter changed to CLOSED
then
activationHandler.apply()
end
rule "deactivation"
when
Item Alarmschalter changed to OPENED
then
deactivationHandler.apply()
end
rule "active_surveillance"
when
Item Garagentuer changed to OPENED or
Item Haupteingangstuer changed to OPENED or
Item Bewegung changed to ON
then
sendCommand(Stiegenaufgang_Licht, ON)
if (surveillance) {
sendCommand(Sirene, ON)
sendCommand(Stiegenaufgang_Licht, ON)
}
end
Die Regel "activation" funktioniert einwandfrei, jedoch die anderen beiden Regeln werden nicht ausgeführt.
Weiß jemand woran das liegen kann?
Ich habe heute extra alles neu von Github installiert, funktioniert jedoch immer noch nicht.