A Swift client for the HomeAssistant WebSocket API.
Add the following lines to your Package.swift
or use Xcode's "Add Package Dependency…" menu.
// `Package.swift`
dependencies: [
// ...
.package(url: "https://github.com/c-st/HAClient.git"),
// ...
]
let url = "ws://homeassistant.raspberrypi.localdomain/api/websocket"
let client = HAClient(messageExchange: WebSocketClient(url))
// Authenticate
let token = "insert long-lived access token"
try await client.authenticate(token: token)
// Make API requests
let areas = try await client.listAreas()
let devices = try await client.listDevices()
let entities = try await client.listEntities()
let states = try await client.retrieveStates()