@jsh/mqtt

Since v8.0.52

Client

The MQTT client.

Usage example
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const mqtt = require("@jsh/mqtt");
const client = new mqtt.Client({ serverUrls: ["tcp://127.0.0.1:1236"] });
try {
    client.onConnect = connAck => { println("connected."); }
    client.onConnectError = err => { println("connect error", err); }
    client.connect({timeout: 10*1000});
    client.publish("test/topic", "Hello, MQTT!", 0)
} catch(e) {
    console.log("Error:", e);
} finally {
    client.disconnect({waitForEmptyQueue:true});
}
Creation
ConstructorDescription
new Client(options)Instantiates a MQTT client object with an options
Options
OptionTypeDefaultDescription
serverUrlsString[]server addresses
keepAliveNumber10
cleanStartBooleantrueclean session
usernameString
passwordString
clientIDStringrandom id
debugBooleanfalse
sessionExpiryIntervalNumber60
connectRetryDelayNumber10
connectTimeoutNumber10
packetTimeoutNumber5
queueStringmemory

connect()

Syntax
connect(opts)
Parameters
  • opts Object
PropertyTypeDescription
timeoutNumberconnection timeout in milliseconds
Return value

None.

disconnect()

Syntax
disconnect(opts)
Parameters
  • opts Object
PropertyTypeDescription
waitForEmptyQueueBoolean
timeoutNumberdisconnect wait timeout in milliseconds
Return value

None.

subscribe()

Syntax
subscribe(opts)
Parameters
  • opts Object SubscriptionOption
SubscriptionOption
PropertyTypeDescription
subscriptionsObject[]Array of Subscription
propertiesObjectProperties
Subscription
PropertyTypeDescription
topicString
qosNumber0, 1, 2
retainHandlingNumber
noLocalBoolean
retainAsPublishedBoolean
Properties
PropertyTypeDescription
userObjectkey-value properties
Return value

None.

Usage example
const topicName = 'sensor/temperature';
client.subscribe({subscriptions:[{topic:topicName, qos:0}]});

unsubscribe()

Syntax
unsubscribe(opts)
Parameters
  • opts Object UnsubscribeOption
UnsubscribeOption
PropertyTypeDescription
topicsString[]Array of topics to unsubscribe
propertiesObjectProperties
Properties
PropertyTypeDescription
userObjectuser key-value properties
Return value

None.

Usage example
const topicName = 'sensor/temperature';
client.unsubscribe({topics:[topicName]});

publish()

Syntax
publish(opts, payload)
Parameters
  • opts Object PublishOptions
  • payload String or Number
PublishOptions
PropertyTypeDescription
topicString
qosNumber0, 1, 2
packetIDString
retainBoolean
propertiesObject
Return value
  • Object
PropertyTypeDescription
reasonCodeNumber
propertiesObject
Usage example
let r = client.publish('sensor/temperature', 'Hello World', 1)
console.log(r.reasonCode)

onMessage callback

Callback function that receives a message.

Syntax
function (msg) { }
  • msg Object Message
Message
PropertyTypeDescription
packetIDNumber
topicString
qosNumber0, 1, 2
retainBoolean
payloadObjectPayload
propertiesObjectProperties
Payload
  • msg.payload.bytes()
  • msg.payload.string()
Properties
PropertyTypeDescription
correlationDatabyte[]
contentTypeString
responseTopicString
payloadFormatNumberor undefined
messageExpiryNumberor undefined
subscriptionIdentifierNumberor undefined
topicAliasNumberor undefined
userObjectuser properties

onConnect callback

On connect callback.

Syntax
function (ack) { }
Parameters
  • ack Object
PropertyTypeDescription
sessionPresentBoolean
reasonCodeNumber
propertiesObjectProperties
Properties
PropertyTypeDescription
reasonStringString
reasonInfoString
assignedClientIDString
authMethodString
serverKeepAliveNumberor undefined
sessionExpiryIntervalNumberor undefined
userObject
Return value

None.

onConnectError callback

On connect error callback.

Syntax
function (err) { }
Parameters
  • error String
Return value

None.

onDisconnect callback

On disconnect callback

Syntax
function (disconn) { }
Parameters
  • disconn Object
Return value

None.

onClientError callback

On client error callback

Syntax
function (err) { }
Parameters
  • err String
Return value

None.

Last updated on