npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

devicehive

v2.1.0

Published

DeviceHive JS Library

Readme

DeviceHive-javascript

DeviceHive-javascript is promise-based library for using DeviceHive.

Installation Instructions

For Node.js use case (Node v4.x on Mac, Linux, or Windows on a x86 or x64 processor), DeviceHive-javascript will install nice and easy with:

npm install devicehive

Generation bundle for browser usage

In case you want to use DeviceHive-javascript in the browser:

  1. Clone repo;
  2. Inside repo folder run npm install;
  3. Inside repo folder run npm run build;
  4. Get devicehive.js/devicehive.min.js in dist folder.

Usage

During development you can use this library with Promises, and Async/Await functions.

Connecting to DeviceHive

Using HTTP/HTTPS

Note: Using HTTP/HTTPS you need to pass 3 different service URL`s: mainServiceURL, authServiceURL and pluginServiceURL.

const DeviceHive = require('devicehive');
const httpDeviceHive = new DeviceHive({
    login: 'login',
    password: 'password',
    mainServiceURL: 'http://<host>:<port>/<path>',
    authServiceURL: 'http://<host>:<port>/<path>',
    pluginServiceURL: 'http://<host>:<port>/<path>'
});
httpDeviceHive.connect();

Using WebSocket

Note: Using WebSocket you need to pass only one service URL: mainServiceURL.

const DeviceHive = require('devicehive');
const wsDeviceHive= new DeviceHive({
    login: 'login',
    password: 'password',
    mainServiceURL: 'ws://<host>:<port>/<path>'
});
wsDeviceHive.connect();

Using Models

You can use models described in DeviceHive.models

// Getting Device model
const Device = DeviceHive.models.Device;

// Getting Device list query model
const DeviceListQuery = DeviceHive.models.query.DeviceListQuery;

Full Example and using API

You can use API described in DeviceHive.command, DeviceHive.configuration, DeviceHive.device, DeviceHive.deviceType, DeviceHive.info, DeviceHive.notification, DeviceHive.network, DeviceHive.plugin, DeviceHive.token, DeviceHive.user.

Here is example of how you can use DeviceHive-javascript:

const DeviceHive = require('devicehive');

// Getting Device model
const Device = DeviceHive.models.Device
// Getting Device list query model
const DeviceListQuery = DeviceHive.models.query.DeviceListQuery;

// Configurating DeviceHive
const myDeviceHive = new DeviceHive({
    login: 'login',
    password: 'password',
    mainServiceURL: 'ws://<host>:<port>/<path>'
});

// Configurating Device model
const device = new Device({
    id: 'myTestId',
    name: 'myTestName',
    networkId: 1,
    deviceTypeId: 1,
    blocked: false
});

// Configurating Device List query
const myDeviceListQuery = new DeviceListQuery({
    networkId: 1
});

// Push message handler
myDeviceHive.on(DeviceHive.MESSAGE_EVENT, (message) => {
    console.log(message);
});

// Error handler
myDeviceHive.on(DeviceHive.ERROR_EVENT, (error) => {
    console.error(error);
});

// Connecting and usin API
myDeviceHive.connect()
    .then(() => myDeviceHive.device.list(myDeviceListQuery))
    .then(data => console.log(data))
    .then(() => myDeviceHive.device.add(device))
    .then(data => console.log(data))
    .then(() => myDeviceHive.device.list(myDeviceListQuery))
    .then(data => console.log(data))
    .then(() => myDeviceHive.device.delete(device.id))
    .then(data => console.log(data))
    .then(() => myDeviceHive.device.list(myDeviceListQuery))
    .then(data => console.log(data))
    .catch(error => console.warn(error));

API Reference

DeviceHive

DeviceHive module

new DeviceHive(options)

DeviceHive module

| Param | Type | Description | | --- | --- | --- | | options | object | Initial settings | | [options.accessToken] | string | Access token | | [options.refreshToken] | string | Refresh token | | [options.login] | string | Login | | [options.password] | string | Password | | options.mainServiceURL | string | Main Service URL | | [options.authServiceURL] | string | Auth Service URL (required only for http) | | [options.pluginServiceURL] | string | Plugin Service URL (required only for http) | | [options.autoUpdateSession] | boolean | Flag to enable/disable autoupdating session. Default: true |

deviceHive.connect({ accessToken, refreshToken, login, password, reconnectionAttempts, reconnectionInterval })

Connect and authorize

Params: | Param | Type | Description | | --- | --- | --- | | options.accessToken | string | Access token (default DeviceHive constructor configuration) (optional) | | options.refreshToken | string | Refresh token (default DeviceHive constructor configuration) (optional) | | options.login | string | Login (default DeviceHive constructor configuration) (optional) | | options.password | string | Password (default DeviceHive constructor configuration) (optional) | | options.reconnectionAttempts | number | Reconnection attempts (default infinity (-1)) (optional) | | options.reconnectionInterval | number | Reconnection interval in ms (default 5000) (optional) |

DeviceHive.models : Object

Returns DeviceHive models

DeviceHive.command: Object

Look at DeviceCommandAPI.

DeviceHive.configuration : Object

Look at ConfigurationAPI.

DeviceHive.device: Object

Look at DeviceAPI.

DeviceHive.deviceType: Object

Look at deviceTypeAPI.

DeviceHive.info: Object

Look at InfoAPI.

DeviceHive.notification: Object

Look at DeviceNotificationAPI.

DeviceHive.network: Object

Look at NetworkAPI.

DeviceHive.plugin: Object

Look at PluginAPI.

DeviceHive.token: Object

Look at TokenAPI.

DeviceHive.user: Object

Look at UserAPI.


Nested DeviceHive API

ConfigurationAPI

Returns information about the current configuration

configurationAPI.get(name) ⇒ Promise

Creates ConfigurationAPI

| Param | Type | | --- | --- | | name | number |

configurationAPI.put(configuration) ⇒ Promise

Updates a configuration

| Param | Type | | --- | --- | | configuration | Configuration |

configurationAPI.delete(name) ⇒ Promise

Deletes an existing configuration

| Param | Type | | --- | --- | | name | number |

DeviceAPI

Returns information about the current device

deviceAPI.get(deviceId) ⇒ Promise

Creates DeviceAPI

| Param | Type | | --- | --- | | deviceId | string |

deviceAPI.list(deviceListQuery) ⇒ Promise

Return a list of devices

| Param | Type | | --- | --- | | deviceListQuery | DeviceListQuery |

deviceAPI.count(deviceCountQuery) ⇒ Promise

Returns count of devices

| Param | Type | | --- | --- | | deviceCountQuery | DeviceCountQuery |

deviceAPI.add(device) ⇒ Promise

Registers or updates a device

| Param | Type | Description | | --- | --- | --- | | device | object | data |

deviceAPI.delete(deviceId) ⇒ Promise

Deletes an existing device

| Param | Type | | --- | --- | | deviceId | string |

DeviceCommandAPI

Returns information about the current command

deviceCommandAPI.get(deviceId, commandId) ⇒ Promise

Creates DeviceCommandAPI

| Param | Type | Description | | --- | --- | --- | | deviceId | number | Device ID | | commandId | number | Command ID |

deviceCommandAPI.list(commandListQuery) ⇒ Promise

Return a list of commands

| Param | Type | | --- | --- | | commandListQuery | CommandListQuery |

deviceCommandAPI.insert(deviceId, command) ⇒ Promise

Registers a command

| Param | Type | Description | | --- | --- | --- | | deviceId | number | Device ID | | command | Command | |

deviceCommandAPI.update(command) ⇒ Promise

Updates a command

| Param | Type | | --- | --- | | command | Command |

deviceCommandAPI.poll(commandPollQuery) ⇒ Promise

| Param | Type | | --- | --- | | commandPollQuery | CommandPollQuery |

deviceCommandAPI.pollMany(commandPollManyQuery) ⇒ Promise

| Param | Type | | --- | --- | | commandPollManyQuery | CommandPollManyQuery |

deviceCommandAPI.wait(deviceId, commandId) ⇒ Promise

| Param | | --- | | deviceId | | commandId |

deviceCommandAPI.subscribe(commandPollQuery) ⇒ Promise

| Param | Type | | --- | --- | | commandPollQuery | CommandPollQuery |

deviceCommandAPI.unsubscribe(subscriptionId) ⇒ Promise

| Param | Type | | --- | --- | | subscriptionId | Number |

DeviceNotificationAPI

Returns information about the current notification

deviceNotificationAPI.get(deviceId, notificationId) ⇒ Promise

Creates DeviceNotificationAPI

| Param | Type | Description | | --- | --- | --- | | deviceId | number | Device ID | | notificationId | number | Notification ID |

deviceNotificationAPI.list(notificationListQuery) ⇒ Promise

Return a list of notifications

| Param | Type | | --- | --- | | notificationListQuery | NotificationListQuery |

deviceNotificationAPI.insert(notification) ⇒ Promise

Registers a notification

| Param | Type | | --- | --- | | notification | Notification |

deviceNotificationAPI.poll(notificationPollQuery) ⇒ *

| Param | Type | | --- | --- | | notificationPollQuery | NotificationPollQuery |

deviceNotificationAPI.pollMany(notificationPollManyQuery) ⇒ *

| Param | Type | | --- | --- | | notificationPollManyQuery | NotificationPollManyQuery |

deviceNotificationAPI.subscribe(notificationPollQuery) ⇒ Promise

| Param | Type | | --- | --- | | notificationPollQuery | NotificationPollQuery |

deviceNotificationAPI.unsubscribe(subscriptionId) ⇒ Promise

| Param | Type | | --- | --- | | subscriptionId | Number |

DeviceTypeAPI

Returns information about the current deviceType

deviceTypeAPI.get(deviceTypeId) ⇒ Promise

Creates DeviceTypeAPI

| Param | Type | | --- | --- | | deviceTypeId | number |

deviceTypeAPI.list(deviceTypeListQuery) ⇒ Promise

Return a list of deviceTypes

| Param | Type | | --- | --- | | deviceTypeListQuery | DeviceTypeListQuery |

deviceTypeAPI.count(deviceTypeCountQuery) ⇒ Promise

Returns count of deviceTypes

| Param | Type | | --- | --- | | deviceTypeCountQuery | DeviceTypeCountQuery |

deviceTypeAPI.insert(deviceType) ⇒ Promise

Registers a deviceType

| Param | Type | Description | | --- | --- | --- | | deviceType | DeviceType | data |

deviceTypeAPI.update(deviceType) ⇒ Promise

Updates a deviceType

| Param | Type | Description | | --- | --- | --- | | deviceType | DeviceType | data |

deviceTypeAPI.delete(deviceTypeDeleteQuery) ⇒ Promise

Deletes an existing deviceType

| Param | Type | | --- | --- | | deviceTypeDeleteQuery | deviceTypeDeleteQuery |

NetworkAPI

Returns information about the current network

networkAPI.get(networkId) ⇒ Promise

Returns a network

| Param | Type | | --- | --- | | networkId | number |

networkAPI.list(networkListQuery) ⇒ Promise

Return a list of networks

| Param | Type | | --- | --- | | networkListQuery | NetworkListQuery |

networkAPI.count(networkCountQuery) ⇒ Promise

Returns count of networks

| Param | Type | | --- | --- | | networkCountQuery | NetworkCountQuery |

networkAPI.insert(network) ⇒ Promise

Registers a network

| Param | Type | Description | | --- | --- | --- | | network | Network | data |

networkAPI.update(networkId, network) ⇒ Promise

Updates a network

| Param | Type | Description | | --- | --- | --- | | networkId | number | | | network | Network | data |

networkAPI.delete(networkDeleteQuery) ⇒ Promise

Deletes an existing network

| Param | Type | | --- | --- | | networkDeleteQuery | networkDeleteQuery |

PluginAPI

Returns information about the current plugin

pluginAPI.list(pluginListQuery) ⇒ Promise

Return a list of plugins

| Param | Type | | --- | --- | | pluginListQuery | PluginListQuery |

pluginAPI.count(pluginCountQuery) ⇒ Promise

Returns count of plugins

| Param | Type | | --- | --- | | pluginCountQuery | PluginCountQuery |

pluginAPI.insert(plugin, pluginRegisterQuery) ⇒ Promise

Registers a plugin

| Param | Type | | --- | --- | | plugin | Plugin | | pluginRegisterQuery | PluginRegisterQuery |

pluginAPI.update(plugin) ⇒ Promise

Updates a plugin

| Param | Type | | --- | --- | | plugin | Promise |

pluginAPI.delete(Plugin) ⇒ Promise

Deletes an existing plugin

| Param | Type | | --- | --- | | Plugin | object |

InfoAPI

Get server info

infoAPI.getServerInfo()

Creates InfoAPI

infoAPI.getCacheInfo()

Get cache info

infoAPI.getClusterInfo()

Get cluster info

TokenAPI

Authentificate using login and password

tokenAPI.login(login, password)

Creates TokenAPI

| Param | Type | | --- | --- | | login | string | | password | string |

tokenAPI.authPlugin(token)

Create user token

| Param | Type | Description | | --- | --- | --- | | token | string | Plugin token |

tokenAPI.createUserToken(userToken)

Create user token

| Param | Type | | --- | --- | | userToken | UserToken |

tokenAPI.createPluginToken(pluginToken)

Create plugin token

| Param | Type | | --- | --- | | pluginToken | PluginToken |

tokenAPI.refresh(refreshToken)

Refresg token

| Param | Type | | --- | --- | | refreshToken | string |

UserAPI

ConfigurationAPI

Returns information about the current configuration

configurationAPI.get(name) ⇒ Promise

Creates ConfigurationAPI

Returns: Promise - selected configuration

| Param | Type | | --- | --- | | name | number |

configurationAPI.put(configuration) ⇒ Promise

Updates a configuration

Returns: Promise - count of configuration

| Param | Type | | --- | --- | | configuration | Configuration |

configurationAPI.delete(name) ⇒ Promise

Deletes an existing configuration

| Param | Type | | --- | --- | | name | number |

DeviceAPI

Returns information about the current device

deviceAPI.get(deviceId) ⇒ Promise

Creates DeviceAPI

Returns: Promise - selected device

| Param | Type | | --- | --- | | deviceId | string |

deviceAPI.list(deviceListQuery) ⇒ Promise

Return a list of devices

Returns: Promise - list of devices

| Param | Type | | --- | --- | | deviceListQuery | DeviceListQuery |

deviceAPI.count(deviceCountQuery) ⇒ Promise

Returns count of devices

Returns: Promise - count of devices

| Param | Type | | --- | --- | | deviceCountQuery | DeviceCountQuery |

deviceAPI.add(device) ⇒ Promise

Registers or updates a device

Returns: Promise - count of devices

| Param | Type | Description | | --- | --- | --- | | device | object | data |

deviceAPI.delete(deviceId) ⇒ Promise

Deletes an existing device

| Param | Type | | --- | --- | | deviceId | string |

DeviceCommandAPI

Returns information about the current command

deviceCommandAPI.get(deviceId, commandId) ⇒ Promise

Creates DeviceCommandAPI

Returns: Promise - selected command

| Param | Type | Description | | --- | --- | --- | | deviceId | number | Device ID | | commandId | number | Command ID |

deviceCommandAPI.list(commandListQuery) ⇒ Promise

Return a list of commands

Returns: Promise - list of commands

| Param | Type | | --- | --- | | commandListQuery | CommandListQuery |

deviceCommandAPI.insert(deviceId, command) ⇒ Promise

Registers a command

Returns: Promise - count of commands

| Param | Type | Description | | --- | --- | --- | | deviceId | number | Device ID | | command | Command | |

deviceCommandAPI.update(command) ⇒ Promise

Updates a command

Returns: Promise - count of commands

| Param | Type | | --- | --- | | command | Command |

deviceCommandAPI.poll(commandPollQuery) ⇒ Promise

| Param | Type | | --- | --- | | commandPollQuery | CommandPollQuery |

deviceCommandAPI.pollMany(commandPollManyQuery) ⇒ Promise

| Param | Type | | --- | --- | | commandPollManyQuery | CommandPollManyQuery |

deviceCommandAPI.wait(deviceId, commandId) ⇒ Promise

| Param | | --- | | deviceId | | commandId |

deviceCommandAPI.subscribe(commandPollQuery) ⇒ Promise

| Param | Type | | --- | --- | | commandPollQuery | CommandPollQuery |

deviceCommandAPI.unsubscribe(subscriptionId) ⇒ Promise

| Param | Type | | --- | --- | | subscriptionId | Number |

DeviceNotificationAPI

Returns information about the current notification

deviceNotificationAPI.get(deviceId, notificationId) ⇒ Promise

Creates DeviceNotificationAPI

Returns: Promise - selected notification

| Param | Type | Description | | --- | --- | --- | | deviceId | number | Device ID | | notificationId | number | Notification ID |

deviceNotificationAPI.list(notificationListQuery) ⇒ Promise

Return a list of notifications

Returns: Promise - list of notifications

| Param | Type | | --- | --- | | notificationListQuery | NotificationListQuery |

deviceNotificationAPI.insert(deviceId, notification) ⇒ Promise

Registers a notification

Returns: Promise - count of notifications

| Param | Type | | --- | --- | | deviceId | Number | | notification | Notification |

deviceNotificationAPI.poll(notificationPollQuery) ⇒ *

| Param | Type | | --- | --- | | notificationPollQuery | NotificationPollQuery |

deviceNotificationAPI.pollMany(notificationPollManyQuery) ⇒ *

| Param | Type | | --- | --- | | notificationPollManyQuery | NotificationPollManyQuery |

deviceNotificationAPI.subscribe(notificationPollQuery) ⇒ Promise

| Param | Type | | --- | --- | | notificationPollQuery | NotificationPollQuery |

deviceNotificationAPI.unsubscribe(subscriptionId) ⇒ Promise

| Param | Type | | --- | --- | | subscriptionId | Number |

DeviceTypeAPI

Returns information about the current deviceType

deviceTypeAPI.get(deviceTypeId) ⇒ Promise

Creates DeviceTypeAPI

Returns: Promise - selected deviceType

| Param | Type | | --- | --- | | deviceTypeId | number |

deviceTypeAPI.list(deviceTypeListQuery) ⇒ Promise

Return a list of deviceTypes

Returns: Promise - list of deviceTypes

| Param | Type | | --- | --- | | deviceTypeListQuery | DeviceTypeListQuery |

deviceTypeAPI.count(deviceTypeCountQuery) ⇒ Promise

Returns count of deviceTypes

Returns: Promise - count of deviceTypes

| Param | Type | | --- | --- | | deviceTypeCountQuery | DeviceTypeCountQuery |

deviceTypeAPI.insert(deviceType) ⇒ Promise

Registers a deviceType

Returns: Promise - count of deviceTypes

| Param | Type | Description | | --- | --- | --- | | deviceType | DeviceType | data |

deviceTypeAPI.update(deviceType) ⇒ Promise

Updates a deviceType

Returns: Promise - count of deviceTypes

| Param | Type | Description | | --- | --- | --- | | deviceType | DeviceType | data |

deviceTypeAPI.delete(deviceTypeDeleteQuery) ⇒ Promise

Deletes an existing deviceType

| Param | Type | | --- | --- | | deviceTypeDeleteQuery | deviceTypeDeleteQuery |

NetworkAPI

Returns information about the current network

networkAPI.get(networkId) ⇒ Promise

Returns a network

Returns: Promise - selected network

| Param | Type | | --- | --- | | networkId | number |

networkAPI.list(networkListQuery) ⇒ Promise

Return a list of networks

Returns: Promise - list of networks

| Param | Type | | --- | --- | | networkListQuery | NetworkListQuery |

networkAPI.count(networkCountQuery) ⇒ Promise

Returns count of networks

Returns: Promise - count of networks

| Param | Type | | --- | --- | | networkCountQuery | NetworkCountQuery |

networkAPI.insert(network) ⇒ Promise

Registers a network

Returns: Promise - Network

| Param | Type | Description | | --- | --- | --- | | network | Network | data |

networkAPI.update(network) ⇒ Promise

Updates a network

Returns: Promise - Network

| Param | Type | Description | | --- | --- | --- | | network | Network | data |

networkAPI.delete(networkDeleteQuery) ⇒ Promise

Deletes an existing network

Returns: Promise - Network

| Param | Type | | --- | --- | | networkDeleteQuery | networkDeleteQuery |

PluginAPI

Returns information about the current plugin

pluginAPI.list(pluginListQuery) ⇒ Promise

Return a list of plugins

Returns: Promise - list of plugins

| Param | Type | | --- | --- | | pluginListQuery | PluginListQuery |

pluginAPI.count(pluginCountQuery) ⇒ Promise

Returns count of plugins

Returns: Promise - count of plugins

| Param | Type | | --- | --- | | pluginCountQuery | PluginCountQuery |

pluginAPI.register(plugin, pluginRegisterQuery) ⇒ Promise

Registers a plugin

Returns: Promise - Plugin

| Param | Type | | --- | --- | | plugin | Plugin | | pluginRegisterQuery | PluginRegisterQuery |

pluginAPI.update(pluginUpdateQuery) ⇒ Promise

Updates a plugin

Returns: Promise - Plugin

| Param | Type | | --- | --- | | pluginUpdateQuery | PluginUpdateQuery |

pluginAPI.delete(topicName) ⇒ Promise

Deletes an existing plugin

Returns: Promise - Plugin

| Param | Type | | --- | --- | | topicName | string |

InfoAPI

Get server info

infoAPI.getServerInfo() ⇒ Promise

Get server info

infoAPI.getCacheInfo() ⇒ Promise

Get cache info

infoAPI.getClusterInfo() ⇒ Promise

Get cluster info

TokenAPI

Authenticate using login and password

tokenAPI.login(login, password)

Creates TokenAPI

| Param | Type | | --- | --- | | login | string | | password | string |

tokenAPI.authPlugin(token)

Create user token

| Param | Type | Description | | --- | --- | --- | | token | string | Plugin token |

tokenAPI.createUserToken(userToken)

Create user token

| Param | Type | | --- | --- | | userToken | UserToken |

tokenAPI.createPluginToken(pluginToken)

Create plugin token

| Param | Type | | --- | --- | | pluginToken | PluginToken |

tokenAPI.refresh(refreshToken)

Refresh token

| Param | Type | | --- | --- | | refreshToken | string |

UserAPI

Return a list of users

userAPI.list(userListQuery) ⇒ Promise

Creates UserAPI

Returns: Promise - list of users

| Param | Type | | --- | --- | | userListQuery | UserListQuery |

userAPI.count(userCountQuery) ⇒ Promise

Returns count of users

Returns: Promise - count of users

| Param | Type | | --- | --- | | userCountQuery | UserCountQuery |

userAPI.get(userId) ⇒ Promise

Returns information about the current user

Returns: Promise - selected user

| Param | Type | | --- | --- | | userId | number |

userAPI.insert(user) ⇒ Promise

Registers a user

Returns: Promise - count of users

| Param | Type | Description | | --- | --- | --- | | user | User | data |

userAPI.update(user) ⇒ Promise

Updates a user (only for administrators)

Returns: Promise - count of users

| Param | Type | Description | | --- | --- | --- | | user | User | data |

userAPI.delete(userId) ⇒ Promise

Deletes an existing user

| Param | Type | | --- | --- | | userId | number |

userAPI.getCurrent() ⇒ Promise

Returns information about the current user

Returns: Promise - selected user

userAPI.updateCurrent(user) ⇒ Promise

Updates a user (only for administrators)

Returns: Promise - count of users

| Param | Type | Description | | --- | --- | --- | | user | User | data |

userAPI.getDeviceTypes(userId) ⇒ Promise

| Param | | --- | | userId |

userAPI.unassignAllDeviceTypes(userId) ⇒ Promise

| Param | | --- | | userId |

userAPI.assignAllDeviceTypes(userId) ⇒ Promise

| Param | | --- | | userId |

userAPI.unassignDeviceType(userId, deviceTypeId) ⇒ Promise

| Param | | --- | | userId | | deviceTypeId |

userAPI.getDeviceType(userId, deviceTypeId) ⇒ Promise

| Param | | --- | | userId | | deviceTypeId |

userAPI.assignDeviceType(userId, deviceTypeId) ⇒ Promise

| Param | | --- | | userId | | deviceTypeId |

userAPI.getNetwork(userId, networkId) ⇒ Promise

Gets information about user/network association

| Param | Type | Description | | --- | --- | --- | | userId | number | User ID | | networkId | number | Network ID |

userAPI.assignNetwork(userId, networkId) ⇒ Promise

Associates network with the user

| Param | Type | Description | | --- | --- | --- | | userId | number | User ID | | networkId | number | Network ID |

userAPI.unassignNetwork(userId, networkId) ⇒ Promise

Removes association between network and user

| Param | Type | Description | | --- | --- | --- | | userId | number | User ID | | networkId | number | Network ID |

Models

Configuration

Configuration model

new Configuration(options)

Creates new Configuration model

| Param | Type | Description | | --- | --- | --- | | options | Object | model options object | | options.name | string | Configuration parameter name. | | options.value | string | Configuration parameter value. | | options.entityVersion | number | Specifies the version field or property of an entity class. |

configuration.toObject() ⇒ Object

Returns instance as a plain JS object

Device

Device model

new Device(options)

Creates new Device model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | string | Device unique identifier | | options.name | string | Device display name | | options.data | object | Device data, a JSON object with an arbitrary structure | | options.networkId | number | Associated network id | | options.deviceTypeId | number | Associated deviceType id | | options.blocked | boolean | Indicates whether device is blocked |

device.toObject() ⇒ Object

Returns instance as a plain JS object

DeviceCommand

DeviceCommand model

new DeviceCommand(options)

Creates new DeviceCommand model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | number | Command identifier | | options.command | string | Command name | | options.timestamp | string | Command UTC datetime (yyyy-MM-dd'T'HH:mm:ss.SSS ISO 8601) | | options.lastUpdated | string | Last command update UTC datetime (yyyy-MM-dd'T'HH:mm:ss.SSS ISO 8601) | | options.userId | number | Associated user identifier | | options.deviceId | string | Device unique identifier | | options.networkId | number | Network unique identifier | | options.deviceTypeId | number | DeviceType unique identifier | | options.parameters | object | Command parameters, a JSON object with an arbitrary structure | | options.lifetime | number | Command lifetime, a number of seconds until this command expires | | options.status | string | Command status, as reported by device or related infrastructure | | options.result | object | Command execution result, an optional value that could be provided by device |

deviceCommand.toObject() ⇒ Object

Returns instance as a plain JS object

DeviceNotification

DeviceNotification model

new DeviceNotification(options)

Creates new DeviceNotification model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | number | Notification identifier | | options.deviceId | string | Device unique identifier | | options.networkId | number | Network unique identifier | | options.deviceTypeId | number | Device type unique identifier | | options.notification | string | Notification name | | options.timestamp | string | Notification UTC datetime (yyyy-MM-dd'T'HH:mm:ss.SSS ISO 8601) | | options.parameters | object | Notification parameters, a JSON object with an arbitrary structure |

deviceNotification.toObject() ⇒ Object

Returns instance as a plain JS object

DeviceType

DeviceType model

new DeviceType(options)

Creates new DeviceType model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | number | Device type identifier | | options.name | string | Device type name | | options.description | string | Device type description |

deviceType.toObject() ⇒ Object

Returns instance as a plain JS object

Network

Network model

new Network(options)

Creates new Network model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | number | Network identifier | | options.name | string | Network name | | options.description | string | Network description |

network.toObject() ⇒ Object

Returns instance as a plain JS object

Plugin

Plugin model

new Plugin(options)

Creates new Plugin model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | id | Plgin unique idnetifier | | options.name | string | Plugin name | | options.description | string | Plugin description | | options.topicName | string | Plugin topic name | | options.filter | string | Plugin filter | | options.status | string | Plugin status | | options.subscriptionId | string | Plugin subscribtion id | | options.userId | number | Plugin user id | | options.parameters | object | Json object with parameters |

plugin.toObject() ⇒ Object

Returns instance as a plain JS object

PluginToken

PluginToken model

new PluginToken(options)

Creates new PluginToken model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.actions | Array | Plugin Token actions | | options.expiration | string | Plugin expiration | | options.type | number | Plugin type | | options.topicName | string | Plugin topic name |

pluginToken.toObject() ⇒ Object

Returns instance as a plain JS object

User

User model

new User(options)

Creates new User model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.id | numebr | User identifier | | options.login | string | User login using during authentication | | options.role | number | User role. Available values: 0: Administrator role, 1: Client role. | | options.status | number | User status. Available values: 0: The user is active, 1: The user has been locked out due to invalid login attempts, 2: The user has been disabled | | options.lastLogin | string | User last login timestamp (UTC) | | options.data | object | User data, a JSON object with an arbitrary structure | | options.password | string | User Password | | options.introReviewed | boolean | Indicates if user reviewed an intro | | options.allDeviceTypesAvailable | boolean | Is all device types awailable |

user.toObject() ⇒ Object

Returns instance as a plain JS object

UserToken

UserToken model

new UserToken(options)

Creates new UserToken model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.userId | number | User id | | options.actions | Array | User Actions | | options.networkIds | Array | Network id's | | options.deviceTypeIds | Array | Devicetype id's | | options.expiration | string | Token expiration datetme |

userToken.toObject() ⇒ Object

Returns instance as a plain JS object

Query models

CommandListQuery

CommandListQuery class

new CommandListQuery(options)

Creates new CommandListQuery model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.deviceId | string | Device ID | | options.start | string | Start timestamp | | options.end | string | End timestamp | | options.command | string | Command name | | options.status | string | Command status | | options.sortField | string | Sort field | | options.sortOrder | string | Sort order | | options.take | number | Limit param | | options.skip | number | Skip param |

commandListQuery.toObject() ⇒ Object

Returns instance as a plain JS object

CommandPollManyQuery

CommandPollManyQuery class

new CommandPollManyQuery(options)

Creates new CommandPollManyQuery model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.deviceIds | string | List of device IDs | | options.networkIds | string | List of network IDs | | options.deviceTypeIds | string | List of devicetype IDs | | options.names | string | Command names | | options.timestamp | string | Timestamp to start from | | options.waitTimeout | number | Wait timeout in seconds | | options.limit | number | Limit number of commands |

commandPollManyQuery.toObject() ⇒ Object

Returns instance as a plain JS object

CommandPollQuery

CommandPollQuery class

new CommandPollQuery(options)

Creates new CommandPollQuery model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.deviceId | string | Device ID | | options.names | string | Command names | | options.timestamp | number | Timestamp to start from | | options.returnUpdatedCommands | boolean | Checks if updated commands should be returned | | options.waitTimeout | number | Wait timeout in seconds | | options.limit | number | Limit number of commands |

commandPollQuery.toObject() ⇒ Object

Returns instance as a plain JS object

CommandWaitQuery

CommandWaitQuery class

new CommandWaitQuery(options)

Creates new CommandWaitQuery model

| Param | Type | Description | | --- | --- | --- | | options | Object | model options object | | options.waitTimeout | Number | wait timeout (sec) |

commandWaitQuery.toObject() ⇒ Object

Returns instance as a plain JS object

DeviceCountQuery

DeviceCountQuery class

new DeviceCountQuery(options)

Creates new DeviceCountQuery model

| Param | Type | Description | | --- | --- | --- | | options | object | model options object | | options.name | string | Filter by device name | | options.namePattern | string | Filter by device name pattern. In pattern wildcards '%' and '_' can be used | | options.networkId | number | Filter by associated network identifier | | options.networkName | string | Filter by associated network name |

deviceCountQuery.toObject() ⇒ Object

Returns instance as a plain JS object

DeviceListQuery

DeviceListQuery class

<a name="new_DeviceListQ