MQTT v2 Testing
This commit is contained in:
parent
a92a71d5e7
commit
894c6a68fd
66
src/_EMR/mqtt.sh
Normal file
66
src/_EMR/mqtt.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Path variables
|
||||||
|
ROOT_PATH="/srv/hestia"
|
||||||
|
EMR_FOLDER="src/_EMR"
|
||||||
|
MQTT_HOST="192.168.0.12"
|
||||||
|
IGN_TOPIC="hestia/v2/igniter"
|
||||||
|
EXH_TOPIC="hestia/v2/exhaust"
|
||||||
|
AUG_TOPIC="hestia/v2/auger"
|
||||||
|
FR_TOPIC="hestia/v2/feed-rate"
|
||||||
|
|
||||||
|
# Loop
|
||||||
|
while true; do
|
||||||
|
# Prompt for input
|
||||||
|
echo "###################################"
|
||||||
|
echo "# Hestia Emergency MQTT Panel #"
|
||||||
|
echo "###################################"
|
||||||
|
echo "# 1. Toggle Exhaust #"
|
||||||
|
echo "# 2. Toggle Igniter #"
|
||||||
|
echo "# 3. Toggle Auger Loop #"
|
||||||
|
echo "# 4. Set Feed Rate #"
|
||||||
|
echo "# 5. Edit ENV Variables #"
|
||||||
|
echo "###################################"
|
||||||
|
echo "# 0. Exit #"
|
||||||
|
echo "###################################"
|
||||||
|
|
||||||
|
# Read user input
|
||||||
|
read -p "Menu Option: " choice
|
||||||
|
|
||||||
|
# Switch case on input
|
||||||
|
case $choice in
|
||||||
|
1)
|
||||||
|
echo "Toggling Exhaust"
|
||||||
|
cd $ROOT_PATH
|
||||||
|
mosquitto_pub -h $MQTT_HOST -t $EXH_TOPIC -m "toggle"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
echo "Toggling Igniter"
|
||||||
|
cd $ROOT_PATH
|
||||||
|
mosquitto_pub -h $MQTT_HOST -t $IGN_TOPIC -m "toggle"
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
echo "Toggling Auger Loop"
|
||||||
|
cd $ROOT_PATH
|
||||||
|
mosquitto_pub -h $MQTT_HOST -t $AUG_TOPIC -m "toggle"
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
echo "Setting Feed Rate"
|
||||||
|
read -p "Enter Feed Rate: " feed_rate
|
||||||
|
cd $ROOT_PATH
|
||||||
|
mosquitto_pub -h $MQTT_HOST -t $FR_TOPIC -m $feed_rate
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
echo "Editing ENV Variables"
|
||||||
|
nano $ROOT_PATH/.env
|
||||||
|
;;
|
||||||
|
0)
|
||||||
|
echo "Exiting"
|
||||||
|
exit
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid input"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
@ -73,6 +73,22 @@ module.exports = {
|
|||||||
topic: config.mqtt.topics.startup
|
topic: config.mqtt.topics.startup
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.v2igniter = {
|
||||||
|
topic: config.mqtt.topics.v2igniter
|
||||||
|
};
|
||||||
|
|
||||||
|
this.v2exhaust = {
|
||||||
|
topic: config.mqtt.topics.v2exhaust
|
||||||
|
};
|
||||||
|
|
||||||
|
this.v2auger = {
|
||||||
|
topic: config.mqtt.topics.v2auger
|
||||||
|
};
|
||||||
|
|
||||||
|
this.v2feedRate = {
|
||||||
|
topic: config.mqtt.topics.v2feedRate
|
||||||
|
};
|
||||||
|
|
||||||
this.shutdown = {
|
this.shutdown = {
|
||||||
topic: config.mqtt.topics.shutdown
|
topic: config.mqtt.topics.shutdown
|
||||||
};
|
};
|
||||||
@ -141,7 +157,23 @@ module.exports = {
|
|||||||
// Empty block for 'hestia/command' topics
|
// Empty block for 'hestia/command' topics
|
||||||
this.emit('shutdown');
|
this.emit('shutdown');
|
||||||
} else {
|
} else {
|
||||||
this.emit('announcement', `Unknown topic: ${topic}`);
|
switch (topic) {
|
||||||
|
case 'hestia/v2/igniter':
|
||||||
|
this.emit('igniter', message.toString());
|
||||||
|
break;
|
||||||
|
case 'hestia/v2/exhaust':
|
||||||
|
this.emit('exhaust', message.toString());
|
||||||
|
break;
|
||||||
|
case 'hestia/v2/auger':
|
||||||
|
this.emit('auger', message.toString());
|
||||||
|
break;
|
||||||
|
case 'hestia/v2/feed-rate':
|
||||||
|
this.emit('feedRate', message.toString());
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.emit('announcement', `Unknown topic: ${topic}`);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -7,7 +7,11 @@
|
|||||||
"pof": "hestia/status/pof",
|
"pof": "hestia/status/pof",
|
||||||
"vacuum": "hestia/status/vacuum",
|
"vacuum": "hestia/status/vacuum",
|
||||||
"startup": "hestia/command/startup",
|
"startup": "hestia/command/startup",
|
||||||
"shutdown": "hestia/command/shutdown"
|
"shutdown": "hestia/command/shutdown",
|
||||||
|
"v2igniter": "hestia/v2/igniter",
|
||||||
|
"v2exhaust": "hestia/v2/exhaust",
|
||||||
|
"v2auger": "hestia/v2/auger",
|
||||||
|
"v2feedRate": "hestia/v2/feed-rate"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"states": {
|
"states": {
|
||||||
@ -18,7 +22,11 @@
|
|||||||
"pof",
|
"pof",
|
||||||
"vacuum",
|
"vacuum",
|
||||||
"startup",
|
"startup",
|
||||||
"shutdown"
|
"shutdown",
|
||||||
|
"v2igniter",
|
||||||
|
"v2exhaust",
|
||||||
|
"v2auger",
|
||||||
|
"v2feedRate"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pins": [
|
"pins": [
|
||||||
|
20
src/main.js
20
src/main.js
@ -79,6 +79,26 @@ process.psState.on('announcement', msg => {
|
|||||||
fn.log(`State: ${msg}`, 'INFO');
|
fn.log(`State: ${msg}`, 'INFO');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
process.comlink.on('igniter', (message) => {
|
||||||
|
fn.log(`ComLink: V2 Igniter: ${message}`, 'INFO');
|
||||||
|
// TODO: Implement Igniter toggle
|
||||||
|
});
|
||||||
|
|
||||||
|
process.comlink.on('exhaust', (message) => {
|
||||||
|
fn.log(`ComLink: V2 Exhaust: ${message}`, 'INFO');
|
||||||
|
// TODO: Implement Exhaust toggle
|
||||||
|
});
|
||||||
|
|
||||||
|
process.comlink.on('auger', (message) => {
|
||||||
|
fn.log(`ComLink: V2 Auger: ${message}`, 'INFO');
|
||||||
|
// TODO: Implement Auger toggle
|
||||||
|
});
|
||||||
|
|
||||||
|
process.comlink.on('feed-rate', (message) => {
|
||||||
|
fn.log(`ComLink: V2 Feed Rate: ${message}`, 'INFO');
|
||||||
|
// TODO: Implement Feed Rate toggle
|
||||||
|
});
|
||||||
|
|
||||||
/***************************************************************************************/
|
/***************************************************************************************/
|
||||||
// Call Things
|
// Call Things
|
||||||
/***************************************************************************************/
|
/***************************************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user