Advertisement
KrystianD

Turn light and monitor off after no movement detected

Jan 13th, 2015
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.96 KB | None | 0 0
  1. # Automation script for KDhome (Home automation system) - http://krystiand.net/projekt/12/kdhome
  2.  
  3. import kdhome, kdstate
  4.  
  5. class Light(kdhome.KDHome):
  6.  
  7.     roomState = None
  8.  
  9.     def __init__(self):
  10.         super().__init__()
  11.  
  12.         # state name, default state, time to revert to default state (s)
  13.         self.roomState = kdstate.KDTimedState("room_state", "empty", 20 * 60)
  14.         self.roomState.stateChangedCallback = self.roomStateChanged
  15.  
  16.     def run(self):
  17.         while True:
  18.             self.poll(500, [])
  19.             self.process()
  20.             self.roomState.process()
  21.  
  22.     def onInputChangedEvent(self, id, name, value):
  23.         if name == "MOTION_SENSOR":
  24.             self.roomState.changeState("used")
  25.  
  26.     # Room state
  27.     def roomStateChanged(self, sender, oldState, newState):
  28.         if newState == "empty":
  29.             self.setOutput("MONITOR", False)
  30.             self.setOutput("LIGHT", False)
  31.         elif newState == "used":
  32.             self.setOutput("MONITOR", True)
  33.             self.setOutput("LIGHT", True)
  34.  
  35. home = Light()
  36. home.connect("localhost", 9999)
  37. home.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement