Guest User

Untitled

a guest
Oct 15th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.56 KB | None | 0 0
  1. import appdaemon.plugins.hass.hassapi as hass
  2.  
  3. class DishWasher(hass.Hass):
  4.     def initialize(self):
  5.         self.handle = None
  6.         self.power_plug = 'switch.plug_158d0001fa2873'
  7.         self.hall_lamp_desk = 'light.desk_hall'
  8.  
  9.         self.listen_state(self.callback, self.power_plug, attribute='load_power')
  10.  
  11.     def callback(self, entity, attribute, new, old, kwargs):
  12.         self.log('callback')
  13.         if old > 14.0:  # условие: потребление больше 14
  14.             self.log('cancel timer')
  15.             self.cancel_timer(self.handle)  # отменяем таймер
  16.         elif old <= 14.0:  # условие: потребление меньше 14
  17.             self.log('set timer')
  18.             self.set_timer()  # устанавливаем таймер
  19.  
  20.     def set_timer(self):
  21.         self.log('running set timer')
  22.         self.handle = self.run_in(self.lamp_off, 120)
  23.  
  24.     def lamp_off(self, kwargs):
  25.         self.log('running turn off')
  26.         self.turn_off(self.hall_lamp_desk)
  27.  
  28. # ЛОГ:
  29. # 2019-10-15 16:13:28.297529 INFO dishwasher: callback
  30. # 2019-10-15 16:13:28.299090 INFO dishwasher: set timer
  31. # 2019-10-15 16:13:28.300646 INFO dishwasher: running set timer
  32. # 2019-10-15 16:13:40.322555 INFO dishwasher: callback
  33. # 2019-10-15 16:13:40.323649 INFO dishwasher: set timer
  34. # 2019-10-15 16:13:40.324430 INFO dishwasher: running set timer
  35. # 2019-10-15 16:13:50.027945 INFO dishwasher: callback
  36. # 2019-10-15 16:13:50.028918 INFO dishwasher: cancel timer
  37. # 2019-10-15 16:15:28.004445 INFO dishwasher: running turn off
Advertisement
Add Comment
Please, Sign In to add comment