@mangar2/mqttclient

2.3.1 • Public • Published

Abstract

Provides a standard client to communicate with the mqtt broker

Contents

Meta

File mqttclient.js
Abstract Provides a standard client to communicate with the mqtt broker
Author Volker Böhm
Copyright Copyright ( c ) 2020 Volker Böhm
License This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose .

Type definitions

LogPattern {Object}

Name Type Description
topic string log topic pattern
module string module to log , "send" , "receive" or "all" ( for all modules )
level number log level for the pattern

Callback definitions

PollCallback

Callback to retrieve messages to be sent to the mqtt broker

PollCallback returns

Type Description
Array.<Message>, Message messages to send to the broker

Class MqttClient

new MqttClient(options)

Creates a standard mqtt client , connects and subscribes to the broker

MqttClient Parameters

Name Type Description
options Object options to provide for connection

options properties

Name Type Attribute Default Description
clientId string unique id of the client
broker Object information of the broker to connect to
listener number port this client will listen to
version string optional '1 . 0' interface version
keepAliveInSeconds string optional connection keep alive time in seconds
clean boolean optional true clean the broker session on disconnect
retry number amount of retries to send messages to the broker
log Array.<LogPattern> logging settings

broker properties

Name Type Description
host string hostname of the broker
port number port of the broker

MqttClient Members

Name Type description
connected boolean Connection status . true , iff connected
token Object.<send:string, receive:string> Send and receive token to be used to communicate with the mqtt broker
version string Gets/Sets the interface version to use

MqttClient Methods

_createMemoryUsageMessage

_createMemoryUsageMessage () => {Message}

Creates a message showing the memory usage

_createMemoryUsageMessage returns
Type Description
Message the memory usage message with the topic $SYS/ [ clientId ] /memory usage

close

async close ()

closes the client by shutting down all services and loops

isShuttingDown

isShuttingDown () => {boolean}

checks , if the client is shutting down . Every loop must stop once isShuttingDown is true

isShuttingDown returns
Type Description
boolean true , iff shutting down

on

on (event, callback)

Sets a callback .

on Parameters
Name Type Description
event string supports 'shutdown'
callback function
on throws
Type Description
Error if the event is not supported
Error if the callback is not 'function'

publish

publish (message, serviceName)

Publishes a message to the broker

publish Parameters
Name Type Description
message Message message to publish
serviceName string name of the publishing service

message properties

Name Type Description
qos number quality of service ( 0 , 1 , 2 )
retain boolean true to create a retain message

reconnect

async reconnect ()

Connects and subscribes to the broker

registerCloseFunction

registerCloseFunction (closeFunction)

Registers close functions . It will be called when the client close function is called

registerCloseFunction Parameters
Name Type Description
closeFunction function function to be called on close commands

registerRecipient

async registerRecipient (serviceName, subscriptions, callback)

Registeres a recipient

registerRecipient Parameters
Name Type Description
serviceName string name of the subscribing service
subscriptions Object subscription entries of format { topic : qos , topic : qos , . . . }
callback function function to send received messages to
registerRecipient throws
Type Description
Error If subscriptions are not well formatted or callback is not a function

registerSender

registerSender (intervalInMilliseconds, callback)

Registeres a service sending messages in intervals . The service must provide a function ( callback ) without parameters returing an array of messages . The messages will then be sent to the broker

registerSender Parameters
Name Type Description
intervalInMilliseconds number interval in milliseconds to call the senders callback
callback PollCallback function to call

run

async run ()

Starts the mqttclient . Opens the listener and connects to the broker

updateSubscriptions

async updateSubscriptions (serviceName, subscriptions)

Updates the subscriptions

updateSubscriptions Parameters
Name Type Description
serviceName string name of the subscribing service
subscriptions Object subscription entries of format { topic : qos , topic : qos , . . . }
updateSubscriptions throws
Type Description
Error If subscriptions are not well formatted

Package Sidebar

Install

npm i @mangar2/mqttclient

Weekly Downloads

6

Version

2.3.1

License

LGPL-3.0-or-later

Unpacked Size

26.4 kB

Total Files

5

Last publish

Collaborators

  • mangar2