node-mqtt-smarthome
Node module for MQTT-Smarthome
This Module is a wrapper around MQTT.js adding extra functionality to ease the handling of topics and payloads following the mqtt-smarthome architecture proposal.
Usage
$ npm install mqtt-smarthome-connect --save
const mqsh = ;mqsh;mqsh;mqsh;
API
Classes
Typedefs
- messageCallback :
function
MqttSmarthome
Kind: global class
- MqttSmarthome
- new MqttSmarthome([mqttUrl], [options])
- .sub :
MqttSmarthome.subscribe
- .pub :
MqttSmarthome.publish
- .connect()
- .end([force], [callback])
- .reconnect()
- .subscribe(topic, [callback]) ⇒
idSubscription
- .unregisterCallback(id) ⇒
number
- .unsubscribe(topic, [callback])
- .publish(topic, payload, [options], [callback])
- "connect"
- "close"
- "error"
- "offline"
- "reconnect"
- "message" (topic, payload, packet,)
new MqttSmarthome([mqttUrl], [options])
Params
- [mqttUrl]
string
= "mqtt://localhost"
- [options]
object
- see all available options in the MQTT.js docs- [.logger]
object
- [.globalOptions]
object
- that'll overwrite options given in publish(topic, payload, options, callback) - [.clientId]
string
= "mqttsmarthome-<random>"
- [.logger]
MqttSmarthome.subscribe
mqttSmarthome.sub : Just a convenience alias to subscribe
Kind: instance property of MqttSmarthome
MqttSmarthome.publish
mqttSmarthome.pub : Just a convenience alias to publish
Kind: instance property of MqttSmarthome
mqttSmarthome.connect()
Kind: instance method of MqttSmarthome
mqttSmarthome.end([force], [callback])
Disconnect from the MQTT broker.
Kind: instance method of MqttSmarthome
Params
- [force]
boolean
= false
- passing it to true will close the client right away, without waiting for the in-flight messages to be acked. - [callback]
function
- will be called when the client is closed.
mqttSmarthome.reconnect()
Reconnect to the MQTT broker.
Kind: instance method of MqttSmarthome
idSubscription
mqttSmarthome.subscribe(topic, [callback]) ⇒ Kind: instance method of MqttSmarthome
Returns: idSubscription
- id
Params
- topic
string
- [callback]
messageCallback
=
number
mqttSmarthome.unregisterCallback(id) ⇒ Unregister a callback. If no registered callback on the corresponding topic is left a MQTT unsubscribe will be done.
Kind: instance method of MqttSmarthome
Returns: number
- remaining number of subscription on that topic
Params
- id
idSubscription
- an id that was returned by the subscribe() method.
mqttSmarthome.unsubscribe(topic, [callback])
Unsubscribe a whole topic with all its callbacks.
Kind: instance method of MqttSmarthome
Params
- topic
string
- [callback]
function
mqttSmarthome.publish(topic, payload, [options], [callback])
Publish a MQTT message. Payloads that are neither of type string
nor an instance of Buffer
will be JSON
stringified.
Kind: instance method of MqttSmarthome
Params
- topic
string
- payload
*
- [options]
object
- [.qos]
number
= 0
- QoS level - [.retain]
boolean
= false
- Retain Flag - [.dup]
boolean
= false
- Mark as duplicate flag
- [.qos]
- [callback]
function
- Fired when the QoS handling completes, or at the next tick if QoS 0. An error occurs if client is disconnecting.
"connect"
Kind: event emitted by MqttSmarthome
"close"
Kind: event emitted by MqttSmarthome
"error"
Kind: event emitted by MqttSmarthome
"offline"
Kind: event emitted by MqttSmarthome
"reconnect"
Kind: event emitted by MqttSmarthome
"message" (topic, payload, packet,)
Kind: event emitted by MqttSmarthome
Params
- topic
string
- payload
string
- packet,
Mqtt.packet
- see https://github.com/mqttjs/mqtt-packet#publish
function
messageCallback : Kind: global typedef
Params
- topic
string
- payload
string
|number
|boolean
|object
- [wildcardMatch]
array
- If subscription was example/+/foo/bar this array contains the "+" in topic string - packet
Mqtt.packet
License
MIT © Simon Christmann and Contributors