hottis wifi relay 4
All checks were successful
ci/woodpecker/tag/build/5 Pipeline was successful
ci/woodpecker/tag/build/6 Pipeline was successful
ci/woodpecker/tag/namespace Pipeline was successful
ci/woodpecker/tag/build/1 Pipeline was successful
ci/woodpecker/tag/build/4 Pipeline was successful
ci/woodpecker/tag/config Pipeline was successful
ci/woodpecker/tag/build/3 Pipeline was successful
ci/woodpecker/tag/build/7 Pipeline was successful
ci/woodpecker/tag/build/2 Pipeline was successful
ci/woodpecker/tag/deploy/4 Pipeline was successful
ci/woodpecker/tag/deploy/2 Pipeline was successful
ci/woodpecker/tag/deploy/5 Pipeline was successful
ci/woodpecker/tag/deploy/1 Pipeline was successful
ci/woodpecker/tag/deploy/6 Pipeline was successful
ci/woodpecker/tag/deploy/3 Pipeline was successful
ci/woodpecker/tag/ingress Pipeline was successful

This commit is contained in:
2025-12-10 21:26:19 +01:00
parent 3e0a1b49ab
commit b471ab5edc

View File

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