Simple Remote Control Via URL


#7

By default yes, but if you change the ‘piston execution parallelism’ to ‘enabled’ in the piston settings, then multiple triggers will spawn multiple concurrent waits.

I’m not 100% certain if this will mess up the existing $args.device value though… have fun testing that one lol! :crazy_face:

For the benefit of others, this setting is accessed by clicking on the piston name whilst in the editor, then the cog symbol.


#8

So I did a quick test… parallelism enabled does not help… if you change any of the $args, only the last sent values are used.

I guess you would need to store the various $args values in variables, so each parallel execution can refer to the original $args values, not the newly updated ones.

Leave that one to you @WCmore

EDIT: Storing $args does not work either… they get overwritten… will need to store an array of values, and a counter for each execution so the correct position in the array can be called back… more than I can be bothered to do lol


#9

LOL. I think I will leave out the extra code for the WAIT.
IMO, piston “69q0” is much more elegant & useful without it,
so any (all?) devices can be controlled with that one piston.


#10

I agree… waits can be processed on the device / software sending the request.


#11

For anyone looking for a use case for this, I’ve setup two iOS shortcuts to disable my Arlo cameras for a certain period of time or until a certain time or day. When running the shortcut I am asked for either the amount of minutes to disable them or the time to turn them back on (dependent on the shortcut run), and that number is then passed at the end of a Webcore URL request in my shortcut. I can post a screenshot of my shortcuts, if anyone else is interested.
I’m not sure why NetGear still hasn’t hopped on the shortcut bus yet, but this is actually a more powerful solution than they would have come up with.


#12

I have been experimenting with a wifi ESP8266/arduino device sending status to webcore like this…

URL/execute/Arduino1?motion=active&door=open&temp=75&humidity=50&pump=on

Ultimately wanted to use this device at another house (which doesn’t have SmartThings) to keep an eye on the failing sump pump.


Stringify type http trigger in Webcore
#13

Kevin, What Command are you running in webcore to disable and resume your Arlo cameras. I have not been able to get this accomplished. If I can I will then emulate your iOS short cut. Can you share your piston?


#14

I think you were referring to me when you wrote this. If you’ve added your Arlo cameras to Smartthings and Webcore then they should show up there. You then just turn them “off” or “on”. I would rather the ability to Arm or Disarm, but Samsung doesn’t give us that ability.


#15

bwarman, Thanks. I tired on and off sometime ago, but did not work for some reason. I tried a test this morning and seem to work without issue. Agree Arm and Disarm would be much preferable, but I am just turning 2 of my 3 cameras off when my wife or I am at home, and then turn on when we are all away.


#16

@millsjq, yeah, I’ve had spotty reliability with any type of API calls to Arlo. I used to use Stringify to control my Shortcuts and that wouldn’t always work either. I’ve noticed that it seems less likely to turn off/on when there is activity being recorded on one of the cameras. If I turn them off because I’ve gotten an alert, I almost always check to make sure they’ve all turned off.


#17

Thanks for the additional info. I also was using Stringify and with Arlo, had greater reliability and options. In almost all other areas Webcore give me more flexibility.


#18

Quick update. Until Webcore can arm/disarm the Arlo base station I have switched to using IFTTT to arm and disarm my Arlo base station. I created a virtual switch in Smartthings called “Arlo Cameras” and then created an applet in IFTTT which, “If Arlo Cameras switches to Off” will disarm my Arlo base station. Then I created one doing the opposite so “If Arlo Cameras switches to On” will arm my base station. I used the same iOS shortcuts but just turned my virtual “Arlo Cameras” switch on and off. Then IFTTT takes care of the rest.

The added bonus of doing it this way is that I can use my Echos and Google Homes to turn on and off “Arlo Cameras”, which turns on and off my base station.


#19

Please be careful with this @bwarman

Someone with bad intentions can easily disarm your station… even from outside.


#20

Yeah, I considered that but I also added push notifications if the applet ever runs, so I’ll be alerted if they ever do turn off when I don’t want them to.

I know it’s not rock solid security, but a lot of loopholes would have to be stepped through in order for my security to completely fall through. I’ve also got a security system, Ring doorbell, and a few cameras inside.


#21

How did you get “device device = {$args.device}” in there to begin with? I can get “device device = {$device}” defined but the former isn’t an option in the web editor. It doesn’t let me manually define that.


#22

For the initial value, select expression and set $args.device as the value.


#23

Awesome, yea I eventually figured out that was a way to make that appear, although seemed like a round about way to get there. Good to know my guess was correct. Working on a general purpose piston for Amazon Echo, to make them speak individually (EchoSpeaks SmartApp), announce across them (EchoSpeaks) or set message notifications(Alexa NotifyMe Skill) with a single web driven piston, the idea being this can be driven by external means, like Tasker, MacroDroid, a Raspberry Pi or whatever. Basically a general purpose text to speech dohickey.

Also took me a while to figure out how to test for empty arguments since this piston does several very different things, each “function” is just a different argument (or arguments) to get it to do that particular thing that just falls through an if, else if, else if logic until it figures out what you want it to do.


#24


#25

Full write up please!


#26

:roll_eyes: