diff --git a/src/mqtt.c b/src/mqtt.c
index 7a7ba59dfb57b06d850ebb5f13619c5291b5f8c2..b5e40aec4909563b96fffd4426ac28c3452e8017 100644 (file)
--- a/src/mqtt.c
+++ b/src/mqtt.c
/**
* collectd - src/mqtt.c
- * Copyright (C) 2014 Marc Falzon <marc at baha dot mu>
+ * Copyright (C) 2014 Marc Falzon
+ * Copyright (C) 2014,2015 Florian octo Forster
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ * Marc Falzon <marc at baha dot mu>
+ * Florian octo Forster <octo at collectd.org>
**/
// Reference: http://mosquitto.org/api/files/mosquitto-h.html
#define MQTT_DEFAULT_PORT 1883
#define MQTT_DEFAULT_TOPIC_PREFIX "collectd"
#define MQTT_DEFAULT_TOPIC "collectd/#"
+#ifndef MQTT_KEEPALIVE
+# define MQTT_KEEPALIVE 60
+#endif
+
/*
* Data types
}
status = mosquitto_connect (conf->mosq, conf->host, conf->port,
- /* keepalive = */ 10, /* clean session = */ conf->clean_session);
+ /* keepalive = */ MQTT_KEEPALIVE, /* clean session = */ conf->clean_session);
if (status != MOSQ_ERR_SUCCESS)
{
char errbuf[1024];
static int mqtt_config_publisher (oconfig_item_t *ci)
{
mqtt_client_conf_t *conf;
+ char cb_name[1024];
user_data_t user_data;
int status;
int i;
conf->host = strdup (MQTT_DEFAULT_HOST);
conf->port = MQTT_DEFAULT_PORT;
conf->client_id = NULL;
+ conf->qos = 0;
conf->topic_prefix = strdup (MQTT_DEFAULT_TOPIC_PREFIX);
+ conf->store_rates = 1;
C_COMPLAIN_INIT (&conf->complaint_cantpublish);
ERROR ("mqtt plugin: Unknown config option: %s", child->key);
}
+ ssnprintf (cb_name, sizeof (cb_name), "mqtt/%s", conf->name);
memset (&user_data, 0, sizeof (user_data));
user_data.data = conf;
- plugin_register_write ("mqtt", mqtt_write, &user_data);
+ plugin_register_write (cb_name, mqtt_write, &user_data);
return (0);
} /* mqtt_config_publisher */
conf->host = strdup (MQTT_DEFAULT_HOST);
conf->port = MQTT_DEFAULT_PORT;
conf->client_id = NULL;
+ conf->qos = 2;
conf->topic = strdup (MQTT_DEFAULT_TOPIC);
+ conf->clean_session = 1;
C_COMPLAIN_INIT (&conf->complaint_cantpublish);