25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

60 satır
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()