@mangar2/connect

connects and subscribes to a broker

Usage no npm install needed!

<script type="module">
  import mangar2Connect from 'https://cdn.skypack.dev/@mangar2/connect';
</script>

README

Abstract

Provides functions to connect to the ( http based ) yaha mqtt broker

Contents

Meta

File connect.js
Abstract Provides functions to connect to the ( http based ) yaha 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 .

Class Connect

new Connect(clientId, brokerHost, brokerPort, listenerPort)

Organises connections to broker This is part of the http based mqtt broker . Use this class to connect/disconnect and subscribe/unsubscribe to the broker All functions are based on async/promises

Example

let connect = new Connect("/connect/test", "127.0.0.1", 9001, 9002);
result = await connect.connect(CLEAN);

Connect Parameters

Name Type Description
clientId string id of this client
brokerHost string hostname ( or ip ) of the broker
brokerPort number port of the broker
listenerPort number port to listen for published messages from broker

Connect Members

Name Type description
isConnected boolean True , if the client is connected
token Object.<send:string, receive:string> Gets/Sets send and receive token

Connect Methods

close

async close ()

Closes the connection to the broker

connect

async connect (clean, version, keepAlive) => {Object}

Connects to the broker

connect Parameters
Name Type Attribute Default Description
clean boolean true , if a disconnect shall clean any connection information
version string optional '1 . 0' interface version ( 0 . 0 or 1 . 0 )
keepAlive number optional 600000 time in milliseconds the broker will keep the connection without receiving calls
connect returns
Type Description
Object payload returned from connect request

connectAndSubscribe

async connectAndSubscribe (clean, topics, version, keepAlive) => {Object}

First connect , then subscribe

connectAndSubscribe Parameters
Name Type Attribute Default Description
clean boolean true , if a disconnect shall clean any connection information
topics Object topics to subscribe to { topic1 : QoS1 , topic2 : QoS2 , . . . }
version string optional '1 . 0' interface version ( 0 . 0 or 1 . 0 )
keepAlive number optional 600000 time in milliseconds the broker will keep the connection without receiving calls
connectAndSubscribe returns
Type Description
Object combined result from connect and subscribe

disconnect

async disconnect (version) => {Object}

Disconnects from the broker

disconnect Parameters
Name Type Attribute Default Description
version string optional '1 . 0' interface version ( 0 . 0 or 1 . 0 )
disconnect returns
Type Description
Object empty object

on

on (event, callback)

Sets a callback .

on Parameters
Name Type Description
event string event name ( not case sensitive ) for the callback
callback function ( parameter )
on throws
Type Description
Error if the event is not supported
Error if the callback is not 'function'

pingreq

async pingreq () => {boolean}

Sends a ping request to signal the client is alive

pingreq returns
Type Description
boolean true on success

subscribe

async subscribe (topics, version) => {Object}

Subscribe to the broker

subscribe Parameters
Name Type Attribute Default Description
topics Object topics to subscribe to { topic1 : QoS1 , topic2 : QoS2 , . . . }
version string optional '1 . 0' interface version ( 0 . 0 or 1 . 0 )
subscribe returns
Type Description
Object payload returned from subscribe request

unsubscribe

async unsubscribe (topics, version) => {Object}

Unsubscribes from the broker

unsubscribe Parameters
Name Type Attribute Default Description
topics Array topics to unsubscribe [ topic1 , topic2 , . . . ]
version string optional '1 . 0' interface version ( 0 . 0 or 1 . 0 )
unsubscribe returns
Type Description
Object empty object