import logging import requests logger = logging.getLogger(__name__) TIMEOUT = 5 def build_wled_url(hostname, r, g, b, segment=None, effect=""): """Build WLED HTTP API URL.""" base = f"http://{hostname}/win&A=255&R={r}&G={g}&B={b}" if effect: base = f"http://{hostname}{effect}&R={r}&G={g}&B={b}" if segment is not None: base = f"{base}&SS={segment}" return base def call_wled(url): """Send HTTP request to WLED device. Returns (success, status_text).""" try: r = requests.post(url, timeout=TIMEOUT) return True, f"{r.status_code} {r.reason}" except requests.exceptions.RequestException as e: logger.warning("WLED nicht erreichbar: %s - %s", url, e) return False, str(e)