Necrotizing Pineapple Music
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

1.0.5 • Public • Published Library

What's is an integration platform for the internet of things. The main purpose of this platform is that every user can easily connect smart devices together over a standardized interface. Once a thing (a smart device) is connected to the platform, there are some basic applications availabe, i.e. display sensor values on a dashboard, etc.

To connect a thing with sensors and actors to the platform, the user has to write a gateway which acts as the bridge between them. This way, there isn't any limitation which tings can be connected to the platform as long they have some interface which a custom developed gateway can use.

This NodeJS Module implements the specification to develop such gateways. uses MQTT as under laying messaging protocol. The specification is basically a formal description which mqtt topics with which payload format a gateway has to use for full compatibility with the ecosystem.


npm install --save


The library uses the debug npm module with the tags siotgateway:http and siotgateway:mqtt

To see these debug output, set the environment variable DEBUG=siotgateway:*

Example for bash

DEBUG=siotgateway:* node siot_dummy_gateway.js

see also for further examples.

Example Gateway

In this example we instantiate a sensor and an actor and register them on the gateway. We also send some dummy sensor values and register a listener for messages for the actor.

var siot = require(''),
    async = require('async');

var gateway = new siot.gateway({
    centerLicense: "xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx" // insert your license here

var sensor = new siot.sensor({
    uuid: "29d265c1-daf0-4a91-a1d9-45e48239728b",
    name: "SensorTest1",
    valueType: "text"

var actor = new{
    uuid: "71e36799-25f5-4b7f-882f-041f5104add7",
    name: "ActorTest1",
    valueType: "text"

        function (done) {
            gateway.registerDevice(sensor, done)
        function (done) {
            gateway.registerDevice(actor, done)
        function (done) {
        function (done) {
            sensor.sendSensorData("test", done)
    function (err) {
        if (err) return console.error(err);

        actor.on('siot_data', function(message) {

            console.log('received data for actor:', message);


        console.log("setup complete");

API Documentation

See file


Please just raise a pull request on GitHub.

Copyright and license

Copyright 2016, Roger Jaggi and Pascal Bohni under the Apache 2.0 license.



npm i

Downloadsweekly downloads








last publish


  • avatar