"""Shelly 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 Shelly format. Shelly expects plain text 'on' or 'off' (not JSON). Example: - Abstract: {'power': 'on'} - Shelly: 'on' """ power = payload.get("power", "off") return power def transform_relay_to_abstract(payload: str) -> dict[str, Any]: """Transform Shelly relay payload to abstract format. Shelly sends plain text 'on' or 'off'. Example: - Shelly: 'on' - Abstract: {'power': 'on'} """ return {"power": payload.strip()} # Registry of handlers for this vendor HANDLERS = { ("relay", "to_vendor"): transform_relay_to_vendor, ("relay", "to_abstract"): transform_relay_to_abstract, }