airpurifyer.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import asyncio
  2. from aioairctrl import CoAPClient
  3. # can set aqil (0,100) or uil (0,1) to control the brightness of the display
  4. # None command works perfectly
  5. def airpurifyer_to_night_mode():
  6. log.info(f"********* airpurifyer_to_night_mode ******************")
  7. client = CoAPClient.create(host="192.168.1.167")
  8. client.set_control_value("uil","0")
  9. client.set_control_value("mode","P")
  10. def airpurifyer_to_day_mode():
  11. log.info(f"********* airpurifyer_to_day_mode ******************")
  12. client = CoAPClient.create(host="192.168.1.167")
  13. client.set_control_value("uil","1")
  14. client.set_control_value("mode","A")
  15. @state_trigger("input_boolean.philips_airpurifyer")
  16. def philips_airpurifyer_button_trigger():
  17. log.info("Fan button pressed Door:" + input_boolean.bedroom_door)
  18. if input_boolean.philips_airpurifyer == 'on':
  19. airpurifyer_to_day_mode()
  20. else:
  21. airpurifyer_to_night_mode()
  22. @state_trigger("input_boolean.bedroom_door == 'off'", state_hold=10, state_hold_false=None)
  23. def turn_off_airpurifyer_trigger_func():
  24. log.info("React to door CLOSE")
  25. input_boolean.philips_airpurifyer = 'off'
  26. @state_trigger("input_boolean.bedroom_door == 'on'", state_hold=300, state_hold_false=None)
  27. def turn_on_airpurifyer_trigger_func():
  28. log.info("React to door OPEN")
  29. input_boolean.philips_airpurifyer = 'on'