Alexa invocation and SmartThings switch questions

  • @Neflhiem, I was thinking about how I would implement this change to the SmartThings integration. Here's what I'm thinking now:

    If the command allows parameters, then the SmartThings virtual switch will behave differently - it will run the command with a on as a parameter when you turn the switch on, and off as a parameter when you flip the switch off.

    Your command would run a script like c:\scripts\KodiOnOff.bat that would except a parameter like this batch file:

    if "%1"=="on" "C:\Program Files (x86)\Kodi\kodi.exe"
    if "%1"=="off" taskkill /im kodi.exe

    What do you think?

    I liked that idea so I went ahead and updated the SmartThings code to send on or off as a parameter when you toggle the virtual switch on and off.

    If the command doesn't allow parameters, then the command just runs when you toggle the switch off and on.

    I also removed the > in the switch name so it's a little more voice friendly.

    If you've already installed the SmartThings code, you'll have to go back here to find the new code and update it in your SmartThings developer account.

    Now I can say:

    Alexa, turn on DS Kodi
    Alexa, turn off DS Kodi

    EDIT 10/15: Now I say these because DS is my default computer:

    Alexa, turn on Kodi
    Alexa, turn off Kodi

  • THAT IS FREAKING GENIUS!! I can turn it on and off!

    I have several uses for this as my pc is my main home audio input. I can start my media player with 9 hours of "white nose" and have it auto shut off in the morning with the same switch.

    Also I can shut off my internet phone and turn it on in the morning!


  • @Nate-Hales, I knew you'd have some use cases for this.

  • @Russ .... I vote to be able to get rid of the computer name "DS" at least for the default computer. .. Alexa, turn on Kodi
    Alexa, turn off Kodi

    Maybe only add the computer name f people have more than one computer. I bet 99% of us only use one main computer.

  • @Nate-Hales, I think you're right. I'll work on it.

  • @Russ If trigger does not force the Default computer name into the name of the smartthings switch ... then my Alexa would throw the smartthings switch no problem. :)

  • This rocks! I am totally launching games like this. "Alexa, Turn on Rocket League". It will also be great for when I rage quit "ALEXA, TURN OFF ROCKET LEAGUE!"

  • @Russ STOP CODING!! IT WORKS HOW I WANT ALREADY :) @Neflhiem will like this as well because he can now just speak the name of the switch (without saying anything before it) <--- In here:
    I just deleted my computer name (made it blank) and the voice name blank (I had to put one in space-bar to allow it to save) .

  • What am I doing wrong? I am trying to make a .bat file to turn on and off my x-10 lamps... I kinda have no clue how to set up parameters... I just tried to copy you. :) 0_1507784819049_Param.jpg

  • @Nate-Hales, your batch file needs == where you have Front Room Lamps

    if "%1"=="on" curl http://.....%%22A6%%20off%%22
    if "%1"=="off" curl http://.....%%22A6%%20off%%22

    Sorry I was lazy and didn't want to type your full URL but I think you know what I mean. The double % signs are to "escape" your % signs so the batch file parser doesn't think %2 is your second parameter.

  • @Nate-Hales, I see what you mean, but there are people with multiple computers (like me) who need to have a actual computer names (not space) to distinguish them.

    I think I like your original idea - to leave the computer name out of the virtual switch name if it's your default computer.

    I'm glad you have a work-around in the meantime. I might not have time to finish this change until this weekend. We'll see. I'm eager to get it done.

  • wow... well i know what ill be doing tonight when i get in! this looks great @Russ ! Im not good with command line stuff but this looks simple enough to figure out. With all the conversation here it looks like i can pretty much set up everything to work perfectly.. So glad i dropped in to figure this out.. You rock.

  • Thanks @Neflhiem!

    BTW, now the virtual SmartThings switches for your default computer are named without your computer name. The switches for your non-default computer still have the computer name prefix.

    Next I'd like to make it so if you only have one computer, then it's automatically your default computer. I should have done that a long time ago.

  • Got it up and running. Man.. this is friggin perfect. Seriously.. perfect.

  • @Neflhiem, I'm glad you got it working. I like how it turned out too. Thanks again for your questions - I wouldn't have thought to implement this if you hadn't asked.

Log in to reply