]> git.giacomolli.uk - onehouse/blob - driver/alamo/client.go
Poll and command shared Alamo thermostats
[onehouse] / driver / alamo / client.go
1 package alamo
2
3 import "context"
4
5 // Client performs one raw gateway exchange. The driver serializes exchanges and
6 // applies the shared request interval. Implementations honor ctx, return full
7 // validated records, and do not log. The caller owns the client and its
8 // cleanup. Errors omit addresses, queries, and response data.
9 type Client interface {
10 Status(ctx context.Context) ([]State, error)
11 Action(ctx context.Context, mac string, action Action) (State, error)
12 }