snips-sam
Version:
The Snips Assistant Manager
39 lines • 1.57 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const cli_1 = require("../cli");
const session_1 = require("../session");
exports.command = 'sound-feedback <toggle>';
exports.desc = 'Toogle sound feedback on or off';
exports.builder = yargs => {
return yargs
.positional('toggle', {
describe: 'Toggle the feedback sound',
type: 'string',
choices: ['on', 'off'],
demandOption: true,
});
};
exports.handler = (argv) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const toggle = JSON.parse(JSON.stringify(argv)).toggle;
const mqttToggle = toggle === 'on' ? 'On' : 'Off';
const ssh = new session_1.SSHService();
yield ssh.connect()
.catch(e => {
cli_1.default.stream.error(e);
process.exit();
});
yield ssh.checkCommandExists('mosquitto_pub')
.then(mosquittoClientInstalled => {
if (mosquittoClientInstalled)
return;
cli_1.default.stream.loading('Installing mosquitto-clients');
return ssh.aptGetY(['mosquitto-clients'], _ => { })
.then(_ => cli_1.default.stream.success());
})
.then(_ => ssh.run(`mosquitto_pub -h localhost -p 1883 -t "hermes/feedback/sound/toggle${mqttToggle}" -m '{"siteId": "default"}'`))
.then(_ => cli_1.default.stream.success(`Feedback sound has been turned ${toggle.toLowerCase()}`))
.catch(e => cli_1.default.stream.error(e));
ssh.disconnect();
});
//# sourceMappingURL=sound-feedback.js.map
;