__Dave__

OpenHAB - Open window timer

Dec 5th, 2020 (edited)
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.91 KB | None | 0 0
  1. import java.util.Map
  2. var file = "windows.rules"
  3.  
  4. val Map<String, Timer> timers = newHashMap
  5.  
  6. rule "Notify if window is open too long"
  7. when
  8.     Member of gWarnIfOpen changed
  9. then
  10.     // Always cancel the existing Timer
  11.     val timer = timers.get(triggeringItem.name)
  12.     logInfo(file, "cancelling timer for  " + triggeringItem.name)
  13.     timer?.cancel
  14.     timers.put(triggeringItem.name, null)
  15.  
  16.     // Create a Timer if the door opened
  17.     if(triggeringItem.state == OPEN) {
  18.         var timerTime = (WindowWarningTime.state as DecimalType).intValue
  19.         logInfo(file, "Setting " + timerTime + " minute timer for " + triggeringItem.name)
  20.         timers.put(triggeringItem.name, createTimer(now.plusMinutes(timerTime), [ |
  21.             logInfo(file, "Sending: " + triggeringItem.label + " ist offen")
  22.             val telegramAction = getActions("telegram","telegram:telegramBot:XXXX")
  23.             telegramAction.sendTelegram("%s ist offen", triggeringItem.label)
  24.         ]))
  25.     }
  26. end
  27.  
Add Comment
Please, Sign In to add comment