diff --git a/everblu_meters.c b/everblu_meters.c index 8c59e11..9b939f1 100644 --- a/everblu_meters.c +++ b/everblu_meters.c @@ -107,6 +107,10 @@ void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const ch } +void on_publish_cb(struct mosquitto *mosq, void *userdata, int level){ + // On publish success disconnect which will make the event loop return and consequently exit the program + mosquitto_disconnect(mosq); +} int main(int argc, char *argv[]) { @@ -127,6 +131,7 @@ int main(int argc, char *argv[]) mosquitto_connect_callback_set(mosq, my_connect_callback); mosquitto_message_callback_set(mosq, my_message_callback); mosquitto_subscribe_callback_set(mosq, my_subscribe_callback); + mosquitto_publish_callback_set(mosq, on_publish_cb); mosquitto_username_pw_set(mosq, MQTT_USER, MQTT_PASS);