[ST Edge] Web Requestor: a driver to issue local POST and GET HTTP requests

Even if it’s hokey, I’ll take it…I’m just not smart enough to remember that #17 is turn on the office light

I’m not sure I am buying that one. You have tried to nest a string containing double quotes inside double quotes. So you have just escaped the braces, colons and spaces from the shell parsing and curl isn’t seeing the quotes. There is probably just a very relaxed JSON parser on the server end that doesn’t object to broken JSON.

This is one of they best edge drivers yet! Way to go! Thanks for sharing! Saved my bacon with the soon to be loss of Groovy and WebCORE!

1 Like

If anyone has managed to get assistant relay to broadcast please share your config

image
For some reason the tile in the ST app shows “Offline”, but it still functions correctly without issue. It has been offline for a week or two now. Any idea what would cause that?

Thank you for this driver! Solved my problem of being able to change camera angles through Blue Iris based on a door opening or vibration sensor. I had done this through webcore, but now with this I was able to move those automations off of webcore and back into smartthings automation. Thanks!!!

2 Likes

I’ve had this behavior on a number of devices across different drivers. I attribute it to yet more bugs in the platform and/or mobile app.

3 Likes

Is there a way to use this device to activate LIFX scenes? If so, would someone mind talking to me through it or giving me some hints?

Does anyone know if this can be used to turn on an Nvidia Shield pro and if so how to find the url command?

I am running the edgebridge to pull from a url a data that I eventually want to put into a device.
It looks like I am getting a 200 return in the ST App for this driver, and the edgebridge shows this:
image
But I cannot figure out how to get that 82.2 value.

Right now you probably can’t. The key search is a very simplistic one at the moment. In this case you need “values[1][1]”, but the current driver just supports a simple key name only. You could get “range” or “majorDimension”, for example, in your data.

I’ve been meaning to add the ability to support a more proper key string that could enable you to do something like this, but I just haven’t gotten to it. I’ll try to give this some time over the next week or so.

Good to know, Ill be on the lookout.

Now with that said, I want to eventually take this value and display it in one of your Edge Drivers for a Virtual Temperature device. When trying to set the value in a routine, it only lets me input a text value, not the value from this response. Will that be doable? Will that require more changes to be made?

I think you may hit the limits of what you can do with basic automation routines, or even Rules. You’re in SmartApp territory with what you want to do, which is to utilize variables. You probably could have done it with webcore.

You could probably accomplish what you want to do with a Python script using the SmartThings API.

Its currently a webcore script at the moment, just a few lines. I can sort of replicate it in sharptools but that will cost me I believe and its not clean. I dont know enough about the new rules api nor python to create something.

I’m not sure what “it’s not clean” means, but feel free to PM me or tag me in a new post if you need help with the SharpTools side of things (trying to be respectful of Todd’s thread and not derail it).

1 Like

Hi, sorry for the slow response, I was consumed with “real life”… I am having no luck either passing an authorization token and I’m getting 401 returned as well. @TAustin any direction you could provide?

Please send me (in direct message, if you prefer) the exact device settings you are using.

1 Like

I’m trying to use Web Requestor with Fully Kiosk Browser.
I want the screen to turn off when a switch turns. I don’t know the field names since they’re all untitled but in the tile I’m getting back

200

Fully Remote Admin

The screen is not turning off.
Is this the correct command and format?

GET:http://192.168.1.nnn:2323/?cmd=forceSleep&password=myPassword

You might try it without the slash after the port number:

GET:http://192.168.1.nnn:2323?cmd=forceSleep&password=myPassword

Actually the slash is needed.

/?cmd=screenOn&password=[pass]
/?cmd=screenOff&password=[pass]
/?cmd=forceSleep&password=[pass]