diff --git a/mqtt.go b/mqtt.go index 1b0017d..4383ded 100644 --- a/mqtt.go +++ b/mqtt.go @@ -48,6 +48,14 @@ func (m *MQTTClient) Publish(topic string, payload []byte, qos int, retain bool, return token.Error() } +func (m *MQTTClient) Disconnect() error { + if m.Client.IsConnected() { + m.Client.Disconnect(250) + log.Info("client disconnected") + } + return nil +} + func (m *MQTTClient) SubscribeOnConnect(client *MQTT.Client) { log.Infof("client connected") diff --git a/publish.go b/publish.go index 8959764..94b2514 100644 --- a/publish.go +++ b/publish.go @@ -53,4 +53,5 @@ func publish(c *cli.Context) { } log.Info("Published") + client.Disconnect() }