Smart Processes Management
Executor for Runnerty: MQTT
Module MQTT Publisher. This is a wrapper from the MQTT.js
Through NPM
npm i @runnerty/executor-mqtt
You can also add modules to your project with runnerty-cli
npx runnerty-cli add @runnerty/executor-mqtt
This command installs the module in your project, adds example configuration in your config.json
and creates an example plan of use.
If you have installed runnerty-cli globally you can include the module with this command:
rty add @runnerty/executor-mqtt
Add in config.json:
{
"id": "mqtt_default",
"type": "@runnerty-executor-mqtt",
"hostname": "localhost"
}
{
"id": "mqtt_default",
"type": "@runnerty-executor-mqtt",
"protocol": "mqtt",
"hostname": "localhost",
"port": 1883,
"username": "guest",
"password": "pass",
"keepalive": 60,
"reschedulePings": true,
"clientId": "mqttjs_@RANDOM(0, 1024, 1024)",
"protocolId": "MQTT",
"protocolVersion": 4,
"clean": true,
"reconnectPeriod": 1000,
"connectTimeout": 30000,
"queueQoSZero": true,
"tlsKeyFile": "./my_cert.key",
"tlsCertFile": "./my_cert.cert",
"tlsCAFile": "./my_cert.ca",
"rejectUnauthorized": false,
"properties": {
"sessionExpiryInterval": 3600,
"receiveMaximum": 1024,
"maximumPacketSize": 32,
"topicAliasMaximum": 32,
"requestResponseInformation": true,
"userProperties": {
"some": "value"
},
"authenticationMethod": "auth_method",
"authPacket": {
"some": "value"
},
"resubscribe": true
}
}
Add in plan.json:
{
"id": "mqtt_default",
"topic": "MY_TOPIC",
"message": "My message from Runnerty!"
}
{
"id": "mqtt_default",
"topic": "MY_TOPIC",
"message": "My message from Runnerty!",
"options": {
"qos": 0,
"retain": false,
"dup": false,
"properties": {
"payloadFormatIndicator": true,
"messageExpiryInterval": 60,
"topicAlias": 1,
"responseTopic": "res_topic",
"userProperties": {
"some": "value"
},
"subscriptionIdentifier": 1234,
"contentType": "contenttype_value"
}
}
}
More information in MQTT api reference
PROCESS_EXEC_ERR_OUTPUT
: Error output message.