humidifier.py 653 B

1234567891011121314151617181920212223242526
  1. """Humidifier adv parser."""
  2. from __future__ import annotations
  3. import logging
  4. _LOGGER = logging.getLogger(__name__)
  5. # mfr_data: 943cc68d3d2e
  6. # data: 650000cd802b6300
  7. # data: 650000cd802b6300
  8. # data: 658000c9802b6300
  9. # Low: 658000c5222b6300
  10. # Med: 658000c5432b6300
  11. # High: 658000c5642b6300
  12. def process_wohumidifier(data: bytes, mfr_data: bytes | None) -> dict[str, bool | int]:
  13. """Process WoHumi services data."""
  14. assert mfr_data is not None
  15. _LOGGER.debug("mfr_data: %s", mfr_data.hex())
  16. _LOGGER.debug("data: %s", data.hex())
  17. return {
  18. "isOn": bool(data[1]),
  19. "level": data[4],
  20. "switchMode": True,
  21. }