Communications

Choosing Communications

LANnouncer supports four communication types:

  • LAN
  • SMS
  • GCM (Google Cloud Messaging)
  • WAN (Direct Server Messaging)
Displays the Android App Screen

Main Screen of the Android App, annotated

The LAN and WAN modes both require the network listener be on.  The GCM and SMS modes receive notifications from other routes.

Each has pros and cons.

LAN

The LAN approach is both the most private and the fastest.  Communications are directed to the local I.P. address of the Android device, which listens on port 1035 by default, though this is configurable.  If your Android device lives inside your residence, where your SmartThings hub (for example), is, then LAN is a great way to go.  LAN is not sufficient for IFTTT unless you configure Port Forwarding and use either a static IP or a Dynamic DNS service that maps your router’s dynamic IP to a known name.  (Asus routers tend to come with that, the name being something like myhandle.asuscomm.com.)

Pro Con

Fast

This is the fastest mechanism because there are no middle-men.

Set-Up

LAN requires you know the IP Address of the Android device and that it stay constant. If the Android device is a tablet at a single location, that’s not very hard, but still requires configuration in the Advanced Networking options. But for a mobile device, this is nearly impossible.

Private

If set up to only go across a LAN (e.g. from one LAN device to another), no communications are exposed.  This requires all communications be done by local devices or over VPN, of course.

Hard To Reach

Only devices on the LAN can talk to your device, unless you open a port and configure forwarding on your router. That’s not as convenient and safe as using another mechanism.

SMS

SMS uses standard SMS messages to send commands to the device.

Pro Con

Simple

SMS is easy to configure. The commands can be a bit tricky the first time – see the chart for how to send them – but once configured, it’s easy. No firewalls or fancy IDs.

Slow

SMS is the least deterministic of the communication methods.

Crosses communication boundaries

SMS works wherever the device is.

Harder to send

Although LANnouncer can handle SMS sent via email to your gateway, it’s still generally easier to use a REST or IFTTT call, or a SmartThings event.

Not on tablets

SMS is generally only available on phones. LANnouncer is designed to take advantage of hardware you may no longer have a cellular connection on.

GCM

Google Cloud Messaging is the system used for sending updates to most Android devices from the outside world.  Google uses it to send notifications of app updates, for example.

LANNouncer added GCM support for the purpose of supporting IFTTT; IFTTT needs an outside interface it can talk to, and GCM is the standard one.  You could, of course, send updates via SMS from the outside world, but most of the outside world doesn’t speak SMS.

Pro Con

Configuration

The hard work of configuring GCM is on the development side… which I’ve done for you.

Not Private

LAN is the most private. SMS is decently private, in that the commands go over SMS, but that’s a large-scale system run by anonymous corporate types who probably don’t care that you exist. GCM requires a server that knows about LANnouncer… which means a KeyBounce server. Any commands from IFTTT will go through IFTTT, KeyBounce and Google before reaching your device. None of us are likely to care about or read it, but there ismore out there.
Note that this problem exists with all activities on, e.g., the Samsung SmartThings hub too… anything going on in your house is processed in Samsung’s cloud. Any IFTTT calls of any sort are processed, partially, by IFTTT. So this is a trade-off you’ve already made, but it is there.

Works anywhere

GCM will find your device whether cellular or wifi. If it has a connection, it can get the message.

Cost

That KeyBounce server? Someone had to write it and run it. There may be a modest cost associated with using LANnouncer-GCM.

Speed

Not as fast or reliable as the LAN or WAN connections, but faster than SMS.

WAN

WAN means, basically, TCP, or “the internet”, in this case.  After implementing GCM support, the LANNouncer Staff was annoyed that, at times, messages could take five minutes to be processed.  Extensive research revealed that, yes, this is how GCM works.  It can lose the connection for extended periods of time, and doesn’t refresh them so as to extend battery life.

So the LANNouncer Staff (all one of us) buckled down and wrote a custom service.  This provides far faster responsiveness than GCM.  However, it’s also an even more custom approach, so it is throttled for non-Premium users.  Meaning you can get one message every five minutes instantly, but if you expect to need more than that, or if you’re just a nice and grateful person, you should donate to become a Premium user helping to pay the server costs.Pros

Pro Con

Speed

WAN is about as fast as LAN.  In theory it’s slower, but you won’t notice the difference.

Not Private

WAN is more private than GCM.  After all, it’s not going to Google.  But the messages do go through the same LANNouncer Message server the GCM messages have to go through, so it’s better than GCM or SMS, but less secure than using your own LAN alone.