fix: resolve 4 bugs found in HA integration code review

- Auto-authorize HA events in gateway (system-generated, not user messages)
- Guard _read_events against None/closed WebSocket after failed reconnect
- Use UUID for send() message_id instead of polluting WS sequence counter
- entity_id parameter now takes precedence over data["entity_id"]
This commit is contained in:
0xbyt4 2026-02-28 15:12:18 +03:00
parent b32c642af3
commit 2390728cc3
4 changed files with 16 additions and 6 deletions

View file

@ -106,10 +106,11 @@ def _build_service_payload(
) -> Dict[str, Any]:
"""Build the JSON payload for a HA service call."""
payload: Dict[str, Any] = {}
if entity_id:
payload["entity_id"] = entity_id
if data:
payload.update(data)
# entity_id parameter takes precedence over data["entity_id"]
if entity_id:
payload["entity_id"] = entity_id
return payload