Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Execute shell command on MQTT messages
JavaScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
README.md Docu
config-example.json
mqtt-exec.js Ups
package.json

README.md

mqtt-exec

A simple MQTT agent based on node.js that subscribes to a given list of MQTT topics on the specified broker and executes a given shell script/command whenever a message arrives. It can also be used in combination with a Home Automation Framework like Home.Pi

Setup

npm install mqtt-exec -g

Start broker

Start the MQTT broker with

mosquitto

Configuration

Create/Modify configuration "config.json"

{
  "/home/devices/livingroom/ligh1/value/set":  { "true"  : "sudo /home/pi/rcswitch-pi/sendRev B 1 1", 
                                                 "false" : "sudo /home/pi/rcswitch-pi/sendRev B 1 0" },
  "/home/devices/livingroom/ligh2/value/set":  { "true"  : "sudo /home/pi/rcswitch-pi/sendRev B 3 1", 
                                                 "false" : "sudo /home/pi/rcswitch-pi/sendRev B 3 0"}                     
}

Start application

Start application with the path to the config file and the URL of the MQTT broker

mqtt-exec -c /path/to/config.json -h mqtt://localhost:1883

or run it in the backround with logging to a file

nohup mqtt-exec -c /path/to/config.json > mqtt-exec.log  &

You can also set the MQTT broker url as environment variable

export MQTT_BROKER_URL=mqtt://localhost:1883

Simulate the execution of a command

mosquitto_pub -d -t home/devices/light1/value/set -m "true"
Something went wrong with that request. Please try again.