Hi there, I have seen the ST can push notification whenever there is a status change to SMS or an email address. Are there anyway to set it up to send a POST request to a certain endpoint? GET request also works!
If you have a hub, you can install the [ST Edge] Web Requestor: a driver to issue local POST and GET HTTP requests Edge driver which can do what you want. You do have to run a local proxy server since hubs can only talk to local LAN devices and not to the Internet. With this method, you would use ST Routines to trigger the action based on a specific state change specified in the Routine.
If you don’t have a hub, you could use the 3rd party rules engine sharptools.io to do the http GET/POST and in their rules engine you can specify a trigger of any change to a particular attribute such as switch, switchLevel, etc.
It makes a difference whether the URL is local or not because smartthings has a security requirement that custom edge drivers are not allowed to communicate outside the local network. People get around that by having a local server device like a raspberry pi, and which can then send the webhook out to the Internet.
There are three different popular methods, although there are probably some additional ones that just haven’t been written up yet.
- the third-party app, SharpTools, is a very popular dashboard which can run in just about any Internet browser. It also has a nice visual rules engine. You do not have to have a smartthings/Aeotec Hub to use it. If you pay for their premium tier, it can then send webhooks. This is probably the easiest way and doesn’t require buying any additional devices, but you do have to pay an annual license fee.
- use the maker channel on the third-party service Ifttt. This used to be free, but it now has a monthly subscription, and to be honest, I’m a little hesitant to recommend it, because I don’t know how long they’re going to stay in business. But as of the time of this writing, they exist. Again, this will not require that you have a smartthings/Aeotec hub. But the rule is a little less sophisticated than what you can do with Sharptools. You will have to set up a SmartThings virtual device to trigger your Ifttt “applet” which will then do the actual sending.
- if you do have a smartthings/Aeotec hub, you have a whole bunch of different options. These are all created by community members. Here in the forum, we call these “edge services”. They will usually require that you have an additional server device at home on your local network. Here’s the list, you will probably see several that look interesting. In particular, check out “web requester“ which is specifically for handling webhooks.
https://community.smartthings.com/tag/edge_services
—-
I see @h0ckeysk8er and I crossposted, but I’m going to leave up my post because I had a little more detail.
I just looked into this, and i found the websocket from the smartThings website which contains the device status might be easier to implement? I may need to look into more how to successfully establish the connection between my server and the websocket endpoint. I try to repeat the message i saw from the Chrome network WS, and i received 44{“message”:“Cookie problem”} so far.
Hello there, I’ve noticed that the ST can send a push notification anytime the status of an SMS or email address changes. Is there a way to configure it to send a POST request to a certain endpoint? The GET request also works!
Have you read this entire topic? There are several suggestions for how to do GET and POST to URLs using community developed drivers and a 3rd party rules engine.