Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including evrythng-mqtt with all npm packages installed. Try it out:

var evrythngMqtt = require("evrythng-mqtt")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

evrythng-mqtt v1.1.0

Evrythng.js MQTT plugin for MQTT real-time communication with EVRYTHNG API

EVRYTHNG-MQTT.JS (plugin for EVT.js)

evrythng-mqtt.js is an extension plugin to be used with evrythng.js or evrythng-extended.js JS libraries.

It adds MQTT support to any resource, allowing to publish, subscribe and unsubscribe to the resource's topics easily.

evrythng-mqtt.js is only available for Node.js as a NPM package. For browsers, consider using evrythng-ws.js.

Installation

Node.js

npm install evrythng-mqtt --save

Usage

var EVT = require('evrythng-extended'),
  mqtt = require('evrythng-mqtt');

EVT.use(mqtt);
...

Examples

General

Use specific settings (below are defaults)

mqtt.setup({
  apiUrl: 'mqtts://mqtt.evrythng.com:8883/mqtt',
  reconnectPeriod: 1000,
  keepAlive: 50,
  clientIdPrefix: 'evtjs'
});

Authenticate as an Operator and read a Thng object:

var operator = new EVT.Operator(OPERATOR_API_KEY);
var thngResource = operator.thng('{thngId}');

Subscribe to property updates of a particular Thng:

thngResource.property().subscribe(function(update){
  console.log(update);
});

Publish property updates:

thngResource.property('key').publish(value);

Create an action:

thngResource.action('scans').publish();

Update a Thng:

thngResource.publish({
  name: 'My new cool name'
});

Unsubscribe to a subscribed topic:

thngResource.property().unsubscribe();

Documentation

Check all the available subscriptions on the EVRYTHNG Pubsub documentation.

Source Maps

Source Maps are available, which means that when using the minified version, if you open Developer Tools (Chrome, Safari, Firefox), .map files will be downloaded to help you debug code using the original uncompressed version of the library.

Related tools

evrythng.js

evrythng.js is the core version of evrythng.js intended to be used in public applications and/or devices.

evrythng-extended.js

evrythng-extended.js is an extended version of evrythng.js which includes Operator access to the API.

License

Apache 2.0 License, check LICENSE.txt

Copyright (c) EVRYTHNG Ltd.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free