Small world, I was about to make this thread myself. I actually work for a home automation company that installs Veras for our low end systems (ie not bank breaking Crestron/Control4/Savant etc). My experience with SmartThings is lacking as I have yet to poke around the IDE and see what is available beyond the currently available apps. With that said, please correct me if I mistakenly say the Vera can do something Smartthings can’t, and tell me how please lol. I haven’t messed with modes at all, and I have a feeling that’s where I’m missing some key Smartthings features.
As to remote access, it seems to be about the same from mobile apps. You log in to your Vera account and are taken to the Vera server that serves you your Vera unit. When you send a remote command the server SSHes into your unit and executes the command. Not sure how Smartthings’ Cloud does it but I assume it’s similar. As far as reliability from my experience that’s more reliant on the devices/things in your system than the controller. Range is an issue, and the more devices/repeaters you have the more responsive the system is. Also remote access for both is free (unlike Nexia). Beyond that, here are my thoughts on the Vera in comparison to SmartThings.
Hardware: The build quality is better but then again it is more mature. However there are some features that would be VERY handy to have in Smartthings. The biggest are batteries and a hardware zwave include and zwave exclude button with a zwave status light (on for ready, blinking moderately for include mode, blinking rapidly for remove). When a device has been included or excluded the LED pulses before going back to the include or exclude mode. Now, you never run it on batteries, but these 3 features allow you to add devices that you may not can easily bring to the hub, or take the hub to a place that you have power or network acess, like a lock at your front door. This allows you move the hub around while you add and remove devices. As an installer this is invaluable.
The Vera 3 has it’s own wifi and DHCP server, but it’s not worth much. Most I’ve used it is to check logs of stubborn devices while the vera is sitting next to the lock and I’m in a comfy chair with my laptop. Which brings me to my first software point.
Software: The Vera has a webUI, but I won’t harp on this because we know it’s coming sometime. It allows you to operate the Vera, no cloud required. Sounds blasphemous with this whole internet of things, but it is handy. When the Vera WebUI or apps are loaded, if they determine they are on the same network as the vera, it talks to the Vera directly which cuts out on some delays. It sounds nitpicky but I have client’s that HATE any kind of delay or status lag. A lot of people will think it’s not working and send a light 50 toggle commands! Though that’s not an issue current SmartThings customers would mind, this is just what I see as an installer. It’s still not instant like say, Lutron’s RadioRA2, but it’s good enough.
Scenes VS Smartapps
A scene in Vera and other zwave controllers works in a way similar to Smartapps, but from my experience much easier to set up. A scene in part, is like an All in One SmartApp.
When you create a scene in vera you start with all of your devices, then you select what you want them to do much like you would when controlling a single device in the gui. So I could make a Night scene that turns off all the interior lights, locks the doors, sets the alarm (via a ethernet control module plugged into the alarm panel), sets the thermostat to a good level and turns off the sonos audio (through a finicky plugin, sonos is pretty closed off API wise). As are nest Wifi thermostats but I digress. Anyway, now I have a scene button that I can hit and all of that gets executed. Right now, that would take a monster of a SmartApp.
Now a scene isn’t very useful if you have to hit that button right? That’s where schedules and triggers come in. You can schedule a scene to run every x minutes/hours etc, every day (or specific weekdays or
dates) at a specific time or sunrise, sunset or an offset before or after. This is useful to say create an on the fly scene like say a morning scene that turns on my desk lamp, but only during the weekdays.
I had my vera do this, but have yet to do so on Smartthings, it just does it ever day with the Once a Day Smartapp. Is there a way to do so with modes? You can also add time delays in your scenes. You could have one scene turn a light on, wait 5 minutes, then turn if off.
A trigger is an action of another device that will trigger the scene in an If x then y manner (scene execution). When you set up a trigger you have a selection of each device and events you can select via dropdown lists to trigger the scene. These are similar to SmartApp Events but the scene creation lets you select any number of device triggers. The Vera scene triggers are all independent and any trigger will execute the scene. What I wish for on both platforms would be to execute x with some more logic including nested if, else, and, ors or exclusive ors.
Smartthings have most of these capabilities, if not the potential, but they are “limited” by the smartapps written. I put that in quotes because all of the power is there, but an app has to be written first for each specific combination of scenes, triggers, schedules to allow that functionality. With Vera I can create a scene to do whatever I want, whenever I want without getting or writing a specific SmartApp. This is why I called vera scenes an All in one SmartApp. You can also use lua/luup code in the scenes, which can do some more crazy stuff (but I’d imagine nothing more than SmartApps can do).
Vera also has plugins that can create virtual devices. These virtual devices are often for IP controlled devceslike cameras, alarm panels, and AV systems. Some add more programming logic but I haven’t used those yet. I had a client that wanted a morning scene to only execute during the school year. Problem is, the school year date range changesdepending on the year and district. I’m not automating that lol. I created a virtual light switch that did nothing but toggle ond an off. I set his “morning school” scene check the status of this light, if it was on it triggered the scene to turn on his kids hall lights at 7am and light their way to the kitchen. I had to do that with lua scripting as it was more advanced. Fun fact, the sonos plugin let’s you use the sonos system to speak text, but it’s pretty gimmicky.
A list of plugins can be found at http://code.mios.com/account
Another good thing about the WebUI is that it allows for control of the system from outside the app. I can sent http get requests like:
http://veraIP:port/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum=1
To run a scene on demand
http://veraIP:port/data_request?id=id=lu_action&DeviceNum=4&serviceId=urn:micasaverde-com:serviceId:HaDevice1&action=ToggleState
To toggle a specific switch on or off
http://veraIP:port/data_request?id=lu_action&DeviceNum=14&serviceId=urn:upnp-org:serviceId:SwitchPower1&action=SetTarget&newTargetValue=0
To turn a specific light off
http://veraIP:port/data_request?id=lu_action&DeviceNum=3&serviceId=urn:upnp-org:serviceId:Dimming1&action=SetLoadLevelTarget&newLoadlevelTarget=75
sets dimmer to 75%
http://veraIP:port/data_request?id=status&output_format=xml&DeviceNum=6
To get the status of a device
These can also be done remotely over https to vera’s servers, obviously the format is different.
More info here
http://wiki.micasaverde.com/index.php/Luup_UPNP_Files
Anything the vera can do via it’s interface can be triggered by a URL. This is really handy for 3rd party integration (though using drivers or software made using the API is better). With the URL commands I can use say, use tasker for android (which I personally love) to control my lights via voice or my pebble smartwatch directly. Right now with smartthings I set up something something similar where I say a command or use the watch to trigger tasker to text the ifttt.com service a specific phrase and it connects to my Smartthings and executes a command. More info on that here
See http://build.smartthings.com/forums/topic/ifttt-is-live/ and http://build.smartthings.com/forums/topic/use-pebble-android-to-control-smartthings-in-a-round-about-way/
It’s my hope that smartthings developesa system to allow control from outside the app be it URLs or a more official method via an SDK/API. Wow, that was more than I had intended. In conclusion, Vera is more developed right hardware and software wise now but Smartthings has the potential to eclipse it.
Edit: Wow notepad KILLED my formatting!