How to use Off Command
-
@Rob-Lee, the "Off Command" field is greyed out if "Allow Parameters" is set to false.
Allow Parameters has to be true if you want to use the Off Command field.
I'm glad you asked, because it's not particularly intuitive.
-
On Windows 10. I tried this example and when I asked Alexa to "turn on calculator" it failed. I had to ask "turn Calculator on" for it to work. no biggie there. But when I said "turn Calculator off" it opened another instance of calculator and said as much in reply from my Echo show. What's the issue?
-
@DJ, if you want to do something else when you tell Alexa/Google to turn the virtual device off, you need to populate the Off Command field set Allow Parameters to true.
In this screenshot you'll see I'm closing calculator when Alexa turns the device off.
-
@russ Works like a charm .. a newbee to this.
Now how to send a voice/ text back to my Google Nest Mini. -
@david-jones I am using Cast from Windows. Chasing equivalent for RPi on Raspian.
-
This post is deleted! -
Hi,
I'm trying to set up a command "Turn ON Monitors" and "Turn OFF monitors" for Alexa.
Am I doing something wrong here? Doesn't work.Thank you
-
@David-0, what you show in that screenshot looks correct, assuming nircmd.exe is in that "c:\local apps\nircmd" folder. It's good you quoted the full path because it contains a space.
Do those commands work if you run them locally in a powershell or cmd window? I suppose the monitor on command would be difficult to type if the monitor is off, but you could press the up arrow and delete the two f's and add an n and press enter.
Also, what if you run them from the website, like from your phone? Does that work? If not, you should troubleshoot that before moving on to Alexa (or Smart Things). When you're ready to move on, please check for this page to make sure it shows the "on" Alexa phrase. If it's not there, something is wrong, like maybe your computer isn't your default computer or it doesn't have a voice word set (which you only need to set if it's not your default computer).
I've had pretty good luck with nircmd but some monitors don't respond to nircmd's on/off commands, so you'll want to test the monitor off command manually first.
-
@Russ Hi
Thanks for your continuous support.- Yes, the commands work from the website, triggered from my phone
- I have separated both commands.
- I've changed the "Monitors ON" command to sendkeypress to see if it works better than monitors on.
- Now, Both commands work fine from the website AND from Alexa as well.
- The "Nircmd monitor on" command still doesn't work for some reason (hence I changed to sendkeypress)
- It also doesn't work if I use the "Off Command" option in your Windows App, I apparently have to make 2 separate commands.
Thanks a lot! Sorry for my many questions, I'm just starting with TRIGGERcmd.
Until now, I was using ACC (AssistantComputerControl) and IFTTT in my Alexa routines but as of 31 October, IFTTT won't be available in Alexa anymore in the UK so I needed to switch to something else.
Money well spent on TRIGGERcmd!! -
@David-0 nice job. Good idea using the space to turn the monitor back on.. I'm not sure why nircmd won't do it.
I wonder why the IFTTT Alexa skill is going away in the UK.
-
@Russ Because Amazon are upgrading their API on November 1st. They've been notifying all devs about this but IFTTT being either lazy or stupid, they haven't updated their systems so on November 1st, they will become incompatible with Amazon new API.
-
David, good to know. Also sorry you lost your forum account. I didn't realize it would go away when you disconnected you Google account.
-
fala portuges
-
@Russ I'm trying to setup an on/off command for some services. The PC is x86 so I'm just editing the JSON file.
Here's the line inside the JSON:
{"trigger":"Remote","command":"C:\Users\STICK10\Documents\SC on.bat","offCommand":"C:\Users\STICK10\Documents\SC off.bat","ground":"foreground","voice":"Remote","voiceReply":"Okay","allowParams":"true" },When I try to trigger it, it's only running the SC ON batch file, not the OFF. What's my error? Or do I need to set these as two different commands altogether?
Inside TCMD's cmd window:
{ trigger: 'Remote',
id: '____',
params: 'on' }
Running trigger: Remote Command: C:\Users\STICK10\Documents\SC on.bat
Reported: Command Ran
{ trigger: 'Remote',
id: '____',
params: 'off' }
Running trigger: Remote Command: C:\Users\STICK10\Documents\SC on.bat
Reported: Command Ran -
@Xander, I just tried sending "off" with this commands.json entry and it worked for me.
{ "trigger": "Remote", "command": "C:\\Users\\STICK10\\Documents\\SC on.bat", "offCommand": "C:\\Users\\STICK10\\Documents\\SC off.bat", "ground": "foreground", "voice": "", "voiceReply": "", "allowParams": "true" }
This was my output:
{ trigger: 'Remote', id: '___', params: 'off' } Running trigger: Remote Command: C:\Users\STICK10\Documents\SC off.bat Reported: Command Ran
So maybe you're using a old version of the agent from before I added the logic to use the offCommand field. I know you're running in on an x86 Windows box, so you're not running the normal agent. You can probably just update the agent.js file.
-
@Russ That's probably it. The agent.js has a date stamp of Nov 2017. Closed tcmd, updated from your link (old was 23kb, new is 348kb. Quite the diff!)
But, on starting the batch file, I get an "unexpected token" error. It also overwrote my .json file but it was mostly the line above so I'll redo it if I need to. Swapped the old .js back and it runs so something is amiss.
SyntaxError: Unexpected token < at createScript (vm.js:80:10) at Object.runInThisContext (vm.js:139:10) at Module._compile (module.js:599:28) at Object.Module._extensions..js (module.js:646:10) at Module.load (module.js:554:32) at tryModuleLoad (module.js:497:12) at Function.Module._load (module.js:489:3) at Function.Module.runMain (module.js:676:10) at startup (bootstrap_node.js:187:16) at bootstrap_node.js:608:3
-
@Xander, the latest version of agent.js is about 23k. Maybe try again to download it? Or look at the one you have maybe there's a clue what's wrong with it. It shouldn't be that big.
-
@Russ D'oh. The link here showed it went to ...node.js so I downloaded from here but now it's clear that it was a page about it so I've DL'd it properly ️
That's back up and running.Question, though. I switched the command to use SCHTASKS to run a job of the same batch files to circumvent any UAC issues but SCoff doesn't work in either bat or task form. The cmd window -says- it's being called but no window is called. Any ideas?
[ {"trigger":"Users","command":"schtasks.exe /run /tn users","ground":"foreground","voice":"users"}, {"trigger":"Connect","command":"schtasks.exe /run /tn SCon","ground":"background","voice":"connect"}, {"trigger":"Disconnect","command":"schtasks.exe /run /tn SCoff","ground":"background","voice":"disconnect"}, {"trigger":"Remote","command":"schtasks.exe /run /tn SCon","offCommand":"schtasks.exe /run /tn SCoff","ground":"foreground","voice":"Remote","voiceReply":"Okay","allowParams":"true" }, {"trigger":"Reboot","command":"shutdown /r /t 10","ground":"foreground","voice":"reboot"} ]
In case I would need them as separate commands, I created the Connect/Disconnect commands which I think are fine but they don't show in the TCMD trigger page at all.
-
@Xander, I think the reason those 2 commands don't show up in your account is you've set them as "background" commands and you're not running the background agent. You'll need to run the background agent or switch them to foreground.
You wrote, "SCoff doesn't work in either bat or task form." Does it work if you run it manually from a cmd prompt? You might want to put something in your .bat file that logs to a file so you know for sure whether the .bat is running. I just wonder if it's running but it's getting an error that you can't see. Something like this would at least confirm whether it's running or not:
echo SCoff ran >> c:\logs\scoff.log
-
@Russ Sorry for the delayed reply; crazy week.
Background was the problem on the one part.
On the other, for some weird reason, Task Scheduler was renaming the actual .job from "SCoff" to "SC off" so that the path was wrong. Once I spotted that, I got it working.Just to check - I've been running the x86 version of TCMD on that PC for...years? Other than the updated .js, there's no newer version? The main DL is x64.