nixfilter-mqtt
Version:
Filters for publishing and subscribing to MQTT topics, similar to "mosquitto_pub" and "mosquitto_sub"
37 lines (31 loc) • 1.04 kB
JavaScript
;
var nixfilter, utils;
// Require the "nixfilter" module
nixfilter = require('nixfilter');
// Require the "./utils" module
utils = require('./utils');
// Define the filter and register it on the module
nixfilter.filter(module, {
description: 'Subscribe to a MQTT topic and output messages published to the topic',
input_reader: null,
add_arguments: function(argument_parser) {
utils.add_common_arguments(argument_parser);
argument_parser.addArgument(['subscribe_topic'], {
help: 'The MQTT topic to subscribe to'
});
},
setup: function(args) {
return utils.connect_to_mqtt_broker(args).then((mqtt_client) => {
this.mqtt_client = mqtt_client;
this.mqtt_client.on('message', (topic, message) => {
return this.output(message);
});
return this.mqtt_client.subscribe(args.subscribe_topic);
});
},
terminate: function() {
return utils.disconnect_from_mqtt_broker(this.mqtt_client);
}
});
//# sourceMappingURL=mqtt_subscribe.js.map