Go-ha-client V2 – Lightweight Go client for Home Assistant

Hi everyone,

I’ve just released V2 of my Go client for Home Assistant:

This project is a lightweight and idiomatic Go client for interacting with the Home Assistant REST and WebSocket APIs. It is designed to be simple, clean, and suitable for backend services, microservices, CLI tools, or custom automation logic written in Go.

What’s new in V2
• Cleaner and more consistent API design
• Improved internal structure and maintainability
• Better separation of concerns
• More robust WebSocket handling
• Improved error handling
• General refactoring and stabilization

Version 2 focuses on making the client easier to integrate into production-grade Go applications.

Why this project

While there are existing Home Assistant clients, I wanted a solution that offers:
• Minimal dependency footprint
• Clean, Go-first design
• Full control over WebSocket communication
• Easy embedding into existing Go backends

This client aims to be a solid foundation if you are building:
• Custom Home Assistant integrations
• External automation services
• Event-driven systems consuming HA events
• Monitoring or orchestration services

Features
• REST API support
• WebSocket API support
• Authentication handling
• Event subscription
• Service calls
• State retrieval

I would really appreciate feedback on the client design, suggestions for missing features, or any real-world use cases. If you are building something around Home Assistant in Go, I would be happy to hear about it.

Thanks.

What would someone accomplish with this? What’s the use case? Why did you develop another API for an already existing API?

it is client for official Home Assistant API and WS

Why would I want to use it? What are the use cases?