The Fault in Our SmartThings Overall Architecture Logic – or how I learned to be confused by SmartApps and not-SmartApps

(Brian Smith) #1

To many, I’m sure this isn’t news. However, I still feel it is good to continue to discuss. You can’t get better at things if you don’t talk about them!

So, I have had the epiphany – I’m confused. I’m confused because the ST app has hard-to-find SmartApps and easy-to-find Alerts and Actions…and the later are limited causing confusion. So, on to the story…

I finally have a room that is completely motion based (at the moment until Flics have shipped and work with ST). Our living room, which is not often used, has a lovely Fibaro Motion Sensor and a Linear Dimmer Outlet Module controlling two table lamps. I did this because the table lamps are nowhere near the one outlet that is controlled by the switch.

So, I did what I have been taught – I tapped on Lights & Switches and created a group called Living Room. I added the Linear Dimmer to the group. I then selected Turn on when there is motion. So far, so good. My lights now come on when I walk in the room. There was a high approval factor in the house.

Then, night (mode) came and I went downstairs. My kitchen lights came up to 10%…because, you know, it was night and I didn’t want the neighboors to see me in my undies! I then said to myself, “Self, wouldn’t it be great if the living room lights came up to 10% when I walked in there in the middle of the night for whatever reason as well?” I then told myself that was a great idea, so I should do it.

So, I went back to bed and opened the SmartThings app on my phone. I tapped on Lights & Switches, then on my Living Room group I added. Then I tapped on Turn on when there is motion.

“Uh-oh,” I thought. I already have it set to come up to 100% during the day. Where do I set it so it does that AND comes up to 10% at night?

I know, I’ll hit the + at the bottom of the main screen. Done. Let me scroll across…ah, yes…Actions! Now Lighting…look, I know what I’m doing! Look, there is an option Turn on when there is Motion, just like I have now. Perfect! Let me tap that.

Wait a minute, it says that Living Room lights are already configured. Well, yes, they are configured already, thanks for letting me know that. But, I’m tapping the +, so that means I want to add a new option. You know, + means to add something.

What? I can’t? The options under Actions are the same as what I already did? Hmm…now what? Oh, I need to install a SmartApp. Where do I find the one I want? I want to do another action, but this time it needs to be a SmartApp because it is a second action on a set of devices that already have actions assigned to them? And what about the Action that I already added?

I’m confused…they are both the same thing, just different brightness levels for different modes.

…and, therein lies one of the major flaws that I see with the overall thought process of SmartThings.

When is an Action not an Action? When it is a SmartApp? Now, I realize that they are actually all SmartApps. But, that is not how they are actually presented and operate. They are presented as two distinct and different options. And, to be honest, they are not all SmartApps that are created equal. If they were, I would have been able to add another Action…or as many Actions as I wanted, because that is what I can do with a SmartApp.

And now, I’m stuck. I need to find a SmartApp that will allow me to dim to 10% on motion when in night mode. But, now I’ll have controls for same event and devices in two completely different places within the ST phone app when the only difference between them is that one happens in Home mode and the other is to happen in Night mode.

So, I just wrote this long, winding post to prove a point that I’m sure many others have proven…it is long and winding because it is confusing and inconsistent.

It is time to fundamentally overhaul a fundamental part ST…or at least make things clearer by treating every Action as a SmartApp that follows that exact same path.

Now, let us be clear…I love ST. I love that I can control things from anywhere without any complicated port forwarding, blah, blah, blah. Although I’m an IT Director, I like to leave that crap at work!

But, it is time for some tough love. I SOOOOO want ST to succeed. I really think it can with all the great people there.

How can we help make this better?

Lights on Motion SmartApp?

Hopefully this is exactly what the future rules engine will provide. We’ll see.

( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #3

The Dashboard, Lighting & Switches Shortcut Panels, and Hello Home “Actions” / “Solution SmartApps” were all late additions to the system. I forget what date they suddenly appeared in the UI. It would be interesting to look it up.

These were added to make the product seem more plug-and-play to the average consumer. Solution SmartApps offer the most obvious common functions (turn on a light when…)… But have limited options.

But, as you observed, these features definitely seem inconsistent from a UI perspective and yet are obviously just SmartApps, so they were easy to tack-on. But Community Developers cannot create Solution SmartApps or custom Actions (yet).

As JD says, perhaps a Rules definition UI will clean things up.

(Dan) #4

“So, I just wrote this long, winding post to prove a point that I’m sure many others have proven…it is long and winding because it is confusing and inconsistent.”

Actually, you clearly stated the problem with the ST syntax. I am less hopeful that the syntax will change. Possibly, it just needs a less technical UI wrapped around it. It has the old WordStar / Spellbinder word processor feel to it. These products have long since been replaced with more user-understandable products. The IoT race will be won by the company that can make it simple and not the company with the most elaborate features.

Tonka Toy (immediately usable, fixed options) vs. Erector Set (learning curve, infinite options.)

Tonka Toy sales always exceeded Erector Set sales. Thanks for the post.

(Mike Maxwell) #5

Yea, ran into the exact same problem, so I wrote an auto Dimmer app. You let the stock smart apps manage the on/off states, this app manages the dim levels…
I get that ST’s limitations are limiting and confusing, so I tend to code my way out of issues, I know that not everyone can or wants to spend time on that though.

(Bruce) #6

The insight that Shortcuts (Lights & Switches, and others) and Hello Home phrases are just apps is central to understanding how ST works. To the extent this is less than obvious in the UI, that’s a problem that should be fixed. People come into ST with a mindset that is almost always different than what ST actually is. They run into trouble attempting to interpret ST with their own mindset, because it doesn’t actually do what they expect (“scenes” are a good example). What ST does do is quite remarkable and quite powerful, and once someone can embrace its reality, a whole world of possibilities opens up.

I’m not convinced a “rules engine” will improve things. It will of necessity be yet another UI overlay on the underlying ST engine (unless you believe ST is going to throw the baby out with the bath water and start over). As such it could introduce it’s own confusion as to how it maps to the underlying engine.

ActiON points us in an interesting direction. It was developed to address a WAF UI problem, and does so successfully. One can understand the use of ActiON without having to understand the underlying ST engine. Perhaps a rules engine will take the same form, namely a UI overlay that hides the underlying engine. These UI overlays take on a life of their own. The current ActiON thread has over 770 posts. There are other UI overlay apps with their own following. Those who implemented these apps, of necessity had to fully grasp the underlying ST engine, but their users don’t. Is that the future?

@brianlees, what isn’t obvious is that you can have any number of “lights” in Lights & Switches that include the same devices. And, you can have any number of Hello Home phrases that reference the same devices, etc. You are absolutely right that this can be confusing the way it’s presented in the current UI.


Very well said!

Add to that the fact that the schedule for each is buried deep in settings, when quite often, as the OP said, what you want to duplicate is “all of that, with one parameter change, but at a different time.”

A rules engine UI for home automation typically provides tab or tile jumps to the schedule. This alone would be a huge help.


It won’t be embraced by the masses until it becomes more simplified, intuitive and (most importantly) reliable. Even then I’m not so sure. These companies are trying to solve a problem the majority just don’t see. Not to suggest that ST can’t be a financial success, but as for large scale adoption…I don’t see it anytime soon.

I’m not a coder. Im copying & pasting and hoping for the best, but I like tech stuff. A few days back I setup a movie mode to trigger a scene and set temperature upon a specific trigger. I tested it several times and all was well. Last night was the moment to show the cool factor to my wife, and what happens? The thermostat didn’t move, and only a single hue light changed to the proper color and level. WTH?

If it takes considerable time to setup and tweak, and then still fails to function it simply will not succeed in the long run. Don’t get me wrong. I like doing what I can with ST and prefer it to Wink, but this certainly isn’t for most folks. It needs to be to win.


Also there’s the current obvious-to-techies-not-others that in some places a rename is a save of a clone, not just a rename. A “save as” feature. This saves a lot of typing, but confusing.

Nontechies expect to FIRST copy, then make changes. Again, a common feature of many rule engines, and very useful especially when you do want to keep the original as well.

(Brian Smith) #10

Totally agree with the Save As / Duplicate option. So many times in all sorts of apps I want to use one part as the basis for another part so I don’t have to reinvent the wheel.

(Brian Smith) #11

I was hoping this topic would stir up some discussion. My goal was to talk it out more and see ideas that the community has to make the app better.

(Billy Martin) #12

I had the same issue with the master bathroom lights. My wife is up much earlier than I am and the bathroom lights were really bright (6 x GE Link lights). I had a SmartApp attached to a sensor to auto turn on/off the lights, but at 100% it was waking me up. I adjusted the primary SmartApp to only work 0600-2100, then created another Master Bathroom Night SmartApp that runs 2100-0600 and starts the lights at 10% dimmed. Not the most elegant solution, and shouldn’t be necessary, but it works.

(Paul) #13

Has anyone from ST actually confirmed that they are implementing such a rules engine? I know a lot of users have asked, but I don’t know if I’ve seen a “yeah, we agree and we’re working on that” from ST. Maybe @ben could point us in the right direction?


@ben has, a couple of times. For example, see this topic:

(Paul) #15

Well that’s a relief. Thanks.


@brianlees man - thanks so much for voicing what I think is frustrating so many ST users. I am in almost exactly the same boat as you. I literally went through almost the same exact thinking process as you did, but mine with my Master Bathroom lights. I have been forced to use Lights Turn on With Motion, and @Mike_Maxwell 's auto dimmer in order to accomplish what I need.

Let’s just say this, ST, in its current state:

  • It’s not easy to get things working that are any more complicated than “turn the light on when there is motion…regardless of time of day, brightness, weather, occupancy, or any of the other 100 factors that might affect what level you want the lights to turn on.”
  • Even when you DO get something working…don’t expect it work every time. Not even close. I have about 20 connected devices and I don’t think I’ve even come close to 100% reliability with ANY of them. And I’ve heard this SO MUCH - “got it working…then 3 days later it didn’t work. Then it worked. Then it didn’t.”
  • The app is kind of a hot mess. When I go to set an Action or a rule, my brain tells me that there are 3 different ways to do it in the app, and even when I get it set, I’m not sure if what I just did contradicts a rule I already have set on that device. I can’t edit modes directly.
  • While I’m complaining - here’s a short list of the issues I’ve had/am having:
    • My garage door opens correctly about 50% of the time as I approach the house. It always closes correctly, lol.
    • My exterior lights (which are all set on sunrise/sunset actions), go on or off correctly about 75% of the time. Sometimes, one works and the others don’t :smile:
    • My app ALWAYS says “Some lights are on.” Even when they’re clearly not.
    • I tried using an original presence sensor to open and close my garage door. At less than 50ft from the hub overnight, it was constantly opening the garage door because it “lost touch” with the hub and thought I was gone.

I’ll stop there. Guess I just wanted to chime in as another frustrated user who LOVES ST and wants it to succeed. So, I add my two cents here hoping that yet another set of honest feedback from a somewhat-knowledgeable user might spur action to get all of this cleaned up.

( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #17

Fascinating discussion as always – particularly since we still seem to come up with new angles to find fault with SmartThings. :confounded:

My grown-up “Christmas (St. Patrick’s? Easter?) Wish” is for someone at SmartThings to categorize and enumerate all the known issues so that we can see how (if, when) each category is being addressed, all in one organized place.

Some individual issues are certainly less critical than others, though that does depend on the perspective of the individual Customer. Some of the issues have acceptable workarounds or “known degrees of tolerance”. The value of classifying them is, IMHO, immeasurable tremendous and limitless.

Such categories could include (and please feel free to suggest amendments – or just tell me that this type of categorization is hopeless):

  1. Mobile App (performance, layout, usability, intuitiveness, inconsistencies, Tile labels).

    NB: Should possibly distinguish between functionality that requires the SmartApp (i.e., configuration of Devices and SmartApps) vs. routine view-state & basic controls (i.e., the stuff that is replicated in Action Dashboard and other third party interfaces…?).

  2. SmartApp Organization (finding the right SmartApp, redundancy, support policies of internal and external, Rules Engine).

    2(b). SmartApp bugs: reporting and tracking of them.

  3. Device Support (what is the meaning of “Labs” and the timeline / priority for improved functionality & reliability of popular and less popular Devices).

  4. Scheduling Reliability (sunrise/sunset, unschedule(), runIn())

  5. Device State Reporting (lights showing off when actually on and vice versa: Is this only a Mobile App issue, or are Device Instance states unreliable).

  6. Cloud Reliability (cross-area slowdowns and outages: How frequent? How long? How deep / wide? Why? Which system parts? Which of these are not reported in the “status” webpage, if any?)

  7. Presence Sensing (ST Sensor, Mobile Phone Presence; reliability, workarounds).

  8. Developer IDE & Simulator (availability, performance, features, GitHub integration).

  9. Consumer Documentation (basic, Knowledge Base, FAQ)

  10. Developer Documentation (guidelines, architecture, best practices, detailed reference, Terminology Glossary (“SmartApp” vs “Mobile App” – never just “app”, please, …).

  11. Tech Support responsiveness and helpfulness for Consumer Level issues.

  12. Tech Support responsiveness and helpfulness for Power User / Developer issues.

  13. Platform Development Limitations & Unclarity (Architecture, New Capabilities required, Local TCP streams, Mobile App / Portal “richness” (HTML5?), Hub V2.0 pre-release documentation and Beta, openness vs. closedness (incl. Samsung concerns), SmartApp/Device “Store” and licensing).

  14. Standards Conformance (Z-Wave and ZigBee clusters, certification level, more examples of stuff that isn’t Z-Wave and ZigBee and how this should work …).

15., 16, … ?

The goal is to avoid overlap and redundancy, though, of course, many issues can legitimate cross category lines – in this case, the issue should be listed in multiple categories but qualified as to “what part” of the issue belongs to each respective category.

(Bruce) #18

OK, since when is not understanding something a reason to blame the thing you don’t understand? It’s clear that a lot of people don’t understand ST. I really have to wonder how much effort they have applied to understanding it before they post how unhappy they are. I say this because at one time I didn’t understand ST. But I didn’t run to this community saying “This is bad [because I haven’t figured it out]”. I knew I hadn’t figured it out. So the task was to figure it out, which I am still doing today. Yesterday, @tgauchat helped me through an hours long private message exchange to understand two things that I didn’t understand. One turned out to be impossible, for good reasons. The other I was able to fix with his help.

Yes, ST has reliability issues. Yes, it is a powerful and complicated system. If you want to harness that power for your home automation, it will take some effort on your part. Complaining about ST’s shortcomings is EASY. Getting ST to function (but for its reliability issues) is also EASY. Take you pick!!


@bravenel - thanks for your challenge.

There’s a difference between not understanding something, and it just plain not working.

I have reached out to the community many times (you and I have actually talked about one of your apps) via private message, when I didn’t understand something.

Most of the issues I have are legitimate. The reason? Because I have followed the stated directions and/or existing process to a T, and yet things still don’t work. Of all of the issues that I have…there is not 1 that is currently being caused by the fact that I don’t understand what’s going on, or how it’s supposed to work. On the contrary, it either doesn’t work as expected, or there simply is not a way to even force the system to do what I want.

Finally, I’ll say that (at least speaking for myself), my sole intention for posting my information was to provide “in the trenches” feedback for the ST team. If they’re smart…they’ll take note of mine, and many others’ feedback when taking into consideration what to attack first, what to release next, etc. My intention was never just to simply whine. That doesn’t help anybody.

To be honest, while not a developer, I consider myself to be a consumer who has more knowledge of technical things, and willingness to figure these things out, than the average homeowner. I’m not expert, but I like tech stuff, and I like figuring all this out.

Here’s the bottom line…most people don’t. They don’t like “figuring it out” and “finding a SmartApp combination in the repository that will just barely, sometimes, solve your issue.” For ST to get to the masses…they’re gonna have to make it easier, more intelligent, and less work.

Otherwise, it will remain only suited for those of us who are willing to dig through repositories to find random, unofficial SmartApp combinations to do what we need…because we like to.


It’s not easy for me, and I majored in computer information systems and worked in network design and installation.

But cutting and pasting is difficult for me these days. (I’m now quadriparetic.) so is scrolling. So is using a laptop.

ST is marketed as a plug and play system, not an IDE. It should be a lot easier based on its marketing. (Which to be fair applies to most of the competition as well.)

The minimote is an “easy” install for a complex device. ST needs to hit that standard for a lot more devices.