"""Hottis WiFi Relay vendor transformations.""" import logging from typing import Any logger = logging.getLogger(__name__) def transform_relay_to_vendor(payload: dict[str, Any]) -> str: """Transform abstract relay payload to Hottis WiFi Relay format. Hottis WiFi Relay expects plain text 'on' or 'off' (not JSON). Example: - Abstract: {'power': 'on'} - Hottis WiFi Relay: 'ON' """ power = payload.get("power", "off").upper() return power def transform_relay_to_abstract(payload: str) -> dict[str, Any]: """Transform Hottis WiFi Relay relay payload to abstract format. Hottis WiFi Relay sends plain text 'on' or 'off'. Example: - Hottis WiFi Relay: 'ON' - Abstract: {'power': 'on'} """ return {"power": payload.strip().lower()} # Registry of handlers for this vendor HANDLERS = { ("relay", "to_vendor"): transform_relay_to_vendor, ("relay", "to_abstract"): transform_relay_to_abstract, }