diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go index 338f86d7..35d620c3 100644 --- a/matterclient/matterclient.go +++ b/matterclient/matterclient.go @@ -69,6 +69,7 @@ type MMClient struct { logger *logrus.Entry rootLogger *logrus.Logger lruCache *lru.Cache + allevents bool } // New will instantiate a new Matterclient with the specified login details without connecting. @@ -119,6 +120,10 @@ func (m *MMClient) SetLogLevel(level string) { } } +func (m *MMClient) EnableAllEvents() { + m.allevents = true +} + // Login tries to connect the client with the loging details with which it was initialized. func (m *MMClient) Login() error { // check if this is a first connect or a reconnection @@ -220,6 +225,10 @@ func (m *MMClient) WsReceiver() { continue } } + if m.allevents { + m.MessageChan <- msg + continue + } switch msg.Raw.Event { case model.WEBSOCKET_EVENT_USER_ADDED, model.WEBSOCKET_EVENT_USER_REMOVED,