You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.4KB

  1. import logging
  2. from modules.core.baseapi import Buzzer
  3. from modules.core.basetypes import Actor, KettleController, FermenterController
  4. from modules.core.core import cbpi
  5. @cbpi.addon.actor.type("Dummy Actor")
  6. class Dummy(Actor):
  7. def __init__(self):
  8. self.logger = logging.getLogger(__name__)
  9. @cbpi.addon.actor.action("WOHOO")
  10. def myaction(self):
  11. self.logger.debug("HALLO!!!")
  12. def on(self, power=100):
  13. '''
  14. Code to switch on the actor
  15. :param power: int value between 0 - 100
  16. :return:
  17. '''
  18. self.logger.info("ON")
  19. def off(self):
  20. self.logger.info("OFF")
  21. @cbpi.addon.kettle.controller()
  22. class MyController(KettleController):
  23. def __init__(self):
  24. self.logger = logging.getLogger(__name__)
  25. def run(self):
  26. while self.is_running():
  27. self.logger.debug("HALLO")
  28. self.sleep(1)
  29. @cbpi.addon.fermenter.controller()
  30. class MyController2(FermenterController):
  31. def __init__(self):
  32. self.logger = logging.getLogger(__name__)
  33. def run(self):
  34. while self.is_running():
  35. self.logger.debug("HALLO")
  36. self.sleep(1)
  37. @cbpi.addon.core.initializer(order=200)
  38. def init(cbpi):
  39. class MyBuzzer(Buzzer):
  40. def __init__(self):
  41. self.logger = logging.getLogger(__name__)
  42. def beep(self):
  43. self.logger.info("BEEEEEEP")
  44. cbpi.buzzer = MyBuzzer()