Commit Graph
1 Commits
Author SHA1 Message Date
Kaloyan DanchevandClaude Opus 4.6 14db4f6e71 Add Home Assistant WebSocket client module
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
- New ha_client.rs: background-thread WebSocket client using tungstenite
  with rustls TLS. Handles auth, state subscription, service calls, and
  recorder/statistics history fetch for climate graphs. Auto-reconnects
  on disconnect with 5s delay.
- HaState added to State struct: tracks connection status, entity states,
  and temperature history per entity.
- main.rs loads ha-home/config.json at startup, extracts all referenced
  entity IDs, and creates the HaService. ha_tick() drains responses into
  state each frame, matching the weather_tick pattern.
- tungstenite 0.24 added to Cargo.toml with handshake + rustls features.

All 84 existing tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 12:00:09 +03:00