diff --git a/internal/homekit/server.go b/internal/homekit/server.go index a1cc9144..cb114fea 100644 --- a/internal/homekit/server.go +++ b/internal/homekit/server.go @@ -198,9 +198,11 @@ func (s *server) AddPair(conn net.Conn, id string, public []byte, permissions by "client_public": []string{hex.EncodeToString(public)}, "permissions": []string{string('0' + permissions)}, } - s.pairings = append(s.pairings, query.Encode()) - s.UpdateStatus() - s.PatchConfig() + if s.GetPair(conn, id) == nil { + s.pairings = append(s.pairings, query.Encode()) + s.UpdateStatus() + s.PatchConfig() + } } func (s *server) DelPair(conn net.Conn, id string) {