mqtt-eventemitter

1.1.4 • Public • Published

mqtt-eventemitter (mqtt-ee)

npm version

MQTT with EventEmitter API and callback support

Goal

using MQTT with a EventEmitter based API. with out the need to handle subscribing. and the addition of callback support to other mqtt-eventemitter clients.

examples

see: examples dir

simple events
const mqtt_ee = require('mqtt-eventemitter');
const mqtt_server_url = 'mqtt://test.mosquitto.org';

// first client
mqtt_ee(mqtt_server_url).then(function init(node) {
    setInterval(function() {
        // MQTT topic foo/bar
        node.emit('foo::bar', 'arg1', new Date());
    }, 2000);
});
const mqtt_ee = require('mqtt-eventemitter');
const mqtt_server_url = 'mqtt://test.mosquitto.org';
// second client
mqtt_ee(mqtt_server_url).then(function init(node) {
    // MQTT topic foo/bar
    node.on('foo::bar', function(arg1, date){
        console.log('arg1', arg1);
        console.log('date', date);
    });
});
callback events
const mqtt_ee = require('mqtt-eventemitter');
const mqtt_server_url = 'mqtt://test.mosquitto.org';

// first client
mqtt_ee(mqtt_server_url).then(function init(node) {
    setInterval(function() {
        // MQTT topic foo/bar
        node.emit('foo::bar', 'arg1', function(date) {
            console.log('callback called with', date);
        });
    }, 2000);
});
const mqtt_ee = require('mqtt-eventemitter');
const mqtt_server_url = 'mqtt://test.mosquitto.org';
// second client
mqtt_ee(mqtt_server_url).then(function init(node) {
    // MQTT topic foo/bar
    node.on('foo::bar', function(arg1, cb){
        console.log('arg1', arg1);
        cb(new Date())
    });
});

Package Sidebar

Install

npm i mqtt-eventemitter

Weekly Downloads

3

Version

1.1.4

License

LGPL-2.1-only

Unpacked Size

40.2 kB

Total Files

8

Last publish

Collaborators

  • links2004_