Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/domoticalabs/ember-mqttjs
Ember async service for connecting to mqtt using mqtt.js library.
https://github.com/domoticalabs/ember-mqttjs
ember ember-addon ember-services emberjs emberjs-addon
Last synced: 4 months ago
JSON representation
Ember async service for connecting to mqtt using mqtt.js library.
- Host: GitHub
- URL: https://github.com/domoticalabs/ember-mqttjs
- Owner: domoticalabs
- License: mit
- Created: 2020-02-21T12:24:47.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-15T16:23:27.000Z (about 2 years ago)
- Last Synced: 2024-09-29T08:06:34.309Z (4 months ago)
- Topics: ember, ember-addon, ember-services, emberjs, emberjs-addon
- Language: JavaScript
- Size: 3.14 MB
- Stars: 2
- Watchers: 5
- Forks: 2
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
ember-mqttjs [![CI](https://github.com/domoticalabs/ember-mqttjs/actions/workflows/ci.yml/badge.svg)](https://github.com/domoticalabs/ember-mqttjs/actions/workflows/ci.yml)
==============================================================================Ember async service for connecting to mqtt broker through [mqttjs library](https://github.com/mqttjs/MQTT.js).
Compatibility
------------------------------------------------------------------------------* Ember.js v3.24 or above
* Ember CLI v3.24 or above
* Node.js v12 or aboveInstallation
------------------------------------------------------------------------------```
ember install ember-mqttjs
```Usage
------------------------------------------------------------------------------You have to import this service in your route or controller or component or service js class:
```js
import { inject as service } from '@ember/service';
...
@service mqtt;
```
### connect(host, [username], [password]): *RSVP.Promise*
Connect to the mqtt host and register a listener to the `mqtt-message` event:
```js
this.mqtt.connect('wss://test.mosquitto.org:8081').then( () => {
// Do stuff on connection established
});
this.mqtt.on('mqtt-message', (sTopic, sMessage) => {
// Do stuff with topic and message parameters
});
```
### subscribe(topic): *RSVP.Promise*
```js
this.mqtt.subscribe('presence').then( (oGranted)=>{
// Do stuff after succesfully subscription to mqttTopic
});
```
`oGranted` is an array of `{topic, qos}` where:
* *topic*: is a subscribed to topic
* *qos*: is the granted QoS level on it### publish(topic, message): *RSVP.Promise*
```js
this.mqtt.publish('presence', 'Hello').then( () => {
// Do stuff after successfully published message
});
```### unsubscribe(topic): *RSVP.Promise*
```js
this.mqtt.unsubscribe('presence').then( (oGranted)=>{
// Do stuff after succesfully unsubscription to mqttTopic
});
```### mqtt-message [topic, message]: *Event*
New mqtt message received.
```js
this.mqtt.on('mqtt-message', (sTopic, sMessage) => {
// Do stuff with topic and message parameters
});
```### mqtt-connected: *Event*
Connected event.### mqtt-disconnected: *Event*
Disconnected event.### mqtt-error: *Event*
Error event.### mqtt-reconnect: *Event*
Fired when mqtt starts a reconnection### mqtt-close: *Event*
Closed connection event.### mqtt-offline: *Event*
Fired when mqtt goes offline.Contributing
------------------------------------------------------------------------------See the [Contributing](CONTRIBUTING.md) guide for details.
License
------------------------------------------------------------------------------This project is licensed under the [MIT License](LICENSE.md).