UNPKG

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
#!/usr/bin/env node 'use strict'; 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