Also noch mal, nur der Vollständigkeit halber, mit erweiterten Features:
Code: Alles auswählen
// globale Variablen müssen zu Beginn der rules Datei deklariert werden!
var Timer tWind = null
val Number nSpeedAlarm = 20 // regulär 49
rule "Wind Alarm"
when
Item localCurrentWindSpeed changed
then
logDebug("windAlarm","Rule getriggert, aktuelle Windgeschwindigkeit: {}",localCurrentWindSpeed)
if(localCurrentWindSpeed.state as Number).floatValue > nSpeedAlarm) {
logDebug("windAlarm","Grenzwert {} überschritten!",nSpeedAlarm)
if(tWind === null) {
logInfo("windAlarm","Warnung versenden.")
sendBroadcastNotification("WINDWARNUNG !! Gartensachen sichern!")
tWind = createTimer(now.plusHours(3), [ |
tWind = null
])
} else {
logDebug("windAlarm","Letzte Warnung wurde vor weniger als 3 Stunden versendet.")
}
}
end
- in die Karaf Konsole wechseln: openhab-cli console
- Log Level anzeigen: log:list
- Log Level gezielt setzen: log:set DEBUG org.eclipse.smarthome.model.script.windAlarm
- Log Level gezielt zurücksetzen: log:set DEFAULT org.eclipse.smarthome.model.script.windAlarm
Falls Du einen aktuellen Nightly Build einsetzt, kann es sein, dass org.eclipse.smarthome verkehrt ist und es stattdessen org.openhab heißen muss. Das hängt mit dem Merge von Eclipse Smarthome und openHAB zusammen, und leider ist momentan nicht immer klar, welche Namensräume schon migriert sind.