"""Simulator vendor transformations.""" import json import logging from typing import Any logger = logging.getLogger(__name__) def transform_light_to_vendor(payload: dict[str, Any]) -> str: """Transform abstract light payload to simulator format. Simulator uses same format as abstract protocol (no transformation needed). """ return json.dumps(payload) def transform_light_to_abstract(payload: str) -> dict[str, Any]: """Transform simulator light payload to abstract format. Simulator uses same format as abstract protocol (no transformation needed). """ payload = json.loads(payload) return payload def transform_thermostat_to_vendor(payload: dict[str, Any]) -> str: """Transform abstract thermostat payload to simulator format. Simulator uses same format as abstract protocol (no transformation needed). """ return json.dumps(payload) def transform_thermostat_to_abstract(payload: str) -> dict[str, Any]: """Transform simulator thermostat payload to abstract format. Simulator uses same format as abstract protocol (no transformation needed). """ payload = json.loads(payload) return payload # Registry of handlers for this vendor HANDLERS = { ("light", "to_vendor"): transform_light_to_vendor, ("light", "to_abstract"): transform_light_to_abstract, ("thermostat", "to_vendor"): transform_thermostat_to_vendor, ("thermostat", "to_abstract"): transform_thermostat_to_abstract, }