Doorbell-to-SMS

Last week, my boss asked me if there was an easy way to make a doorbell that sends a text message when it is pressed. Of course! All you need is a :spark: and a button (and a web server and SMS-messaging service). After about 2 hours of work (mostly debugging why Apache didn’t like my HTTP requests), I had a fully-functioning prototype!

Source code is here. Setup and instructions are in the comments at the top.

6 Likes

I’m interested to see how you got the SMS function up and running.

Thanks for Sharing :smile:

1 Like

< plug > I used the API for smartCommunicator to send the SMS messages. I'm the lead developer on the project and wrote the API that I consumed with the :spark:+PHP script. </ plug >

However, I know there are several other SMS providers that you could use. Twilio is the first that comes to mind.

If you don’t need SMS, there are some smartphone notification apps that can be used. However, doing it securely (e.g., SSL) requires an intermediary such as a PC, mac, or linux box (the spark doesn’t do SSL).

For calling, conference calls, voice transcription, SMS (in/out), Twilio is an API you should also check out.

Once events/publish/callbacks are supported by spark, it should be trivial to wire up your own API hit by the spark cloud to twilio for example. With that you could not only trigger an SMS, you could call someone and ask if the door should be opened - a simple voice system is very easy to do with the twilio ML.

3 Likes

@wgbartley @hansamann Twilio looks pretty fully featured and capable of helping the Spark Core do many other really cool things. The SMS pricing is really cheap also so no fuss there form me.

So for now you guys are saying that it will be really easy for a beginner to get spark cloud and Twilio working together once the Events/Publish/Callbacks are up and working with the Spark Cloud? Or can this still be easily done today?

@Dave When do you expect the Events/Publish/Callbacks feature to be released?

I just want to easily be able to setup SMS text messages based on events triggered by sensors or software on the Spark Core which is connected to the internet. I see others doing this now but nothing that looks easy for a beginner like me to implement, or maybe just not clear enough instructions for me to follow to make the harder to use ways work.

The easier we make this to use the more people will end up using the Spark Core to do it.

1 Like

I think the webhooks are designed for that sort of thing with Twilio and similar services. The events/publish feature is now available using Spark.publish(). You could also use e-mail to send yourself text messages by using an e-mail address like 5556671234@vzw.com (or whatever your cellular provider uses). For now, it wouldn’t be super easy to integrate directly with Twilio, or even e-mail, without a script in the middle (in my case, a PHP script hosted on a web server). When the webhooks are available, I’ll see what I can come up with as far as integrating with Twilio at the very least!

Hi @RWB,

My hope hope was to release it this sprint (which ends at the end of March), or sooner. A lot of my time is tied up in prep for this next round of manufacturing, so I can’t say for sure yet, sorry! We have this feature working in testing / staging, so hopefully sooner rather than later. :slight_smile:

Thanks,
David

1 Like

@wgbartley Yea your right, I have Verizon so I could send email to get a text on my phone. Looking forward to what you come up with.

@Dave Sounds like there will be quite a few new great features included in the next update.

i have used twilio with the spark core (halloween costume and my door lock)…but i just used twilio for inbound SMS, which was super easy, since you can hit a webservice when you receive an SMS via your twilio number. im interested in seeing a legit library!

I’ve got this on my to-do list for my spark tools web service. http://sccb.azurewebsites.net

I was thinking of firing alerts based on data reaching thresholds. Ex. Text me when temp drops below x.

Once the publish callbacks are released it should be pretty straight forward to alerts based on those as well.

Twilio are excellent. I get free usage with my ninja block, the service hasn’t failed me once. No delay either

Perhaps you could use pushover or zapier, combined with IFFFT.

To increase functionality you could set up a tiny camera that would take a picture of whoever rang the bell. Really only useful if you added an ‘away’ mode… IFFFT has geographic trigger capabilities.

Exciting project! Gets me thinking about what other arcane home devices are in need of an update…smoke detectors?

1 Like

great stuff! Got the PIR working with Spark.publish but how to go next? I.e. how can I alert via EMAIL or SMS without the need to write php or add a middle layer etc.

@kareem613 - I really like your cloud implementation http://sccb.azurewebsites.net/ and already registered a couple of devices there for graphs and schedules, fully configured in only a few minutes, amazing! One question though; any plans to implement alerts based on incoming events? current alerts are based on 5 minutes schedules, which is not suitable for my project (my car would be long gone :wink:

thx,

Leo

1 Like

I got mine sending SMS by having the spark publish an event, and setting up an Azure WebJob on Microsoft’s azure platform. The job is a simple console program that listens for the event and then uses Amazon’s SNS api to send a text.

Totally in the plan! Think that’s the next main priority.
Publish to events and triggering functions from alerts.
That adds up to publishing from one device can trigger activity on another.

Thanks, I will take a look. for now I have solved it by creating a tcp server and connect to api.pushingbox.com

( GET /pushingbox?devid=)

and created a scenario in pushingbox that connects to HOIIO (which allows to dial up and send texts through GET calls) and simultaneously connects to FAAST (an IOS app for notifications) It works flawlessly!

1 Like

Just a heads up that we will be releasing webhooks / callback support, just need to get some time to finish / release it. :slight_smile: Which will simplify this greatly.

Thanks!
David

2 Likes

Thanks Dave, sounds promising! any rough ETA to share? (or beta available?) Will it enable alerts when cores switching offline? something I am struggling with at the moment.

1 Like

Hi @LeoGetz,

I’m running a beta, and am happy to add people to it in the meantime. Just email me at david@spark.io from the email account you registered with, and I’ll get ya going. I’m hoping to finish this feature in the next few weeks, but we’ve been focusing on getting through hiring first. :slight_smile:

Thanks,
David