Getting fed up. SmartThings gets worse and worse (July 2021)

Hi @Leon_Palnau

Here you have all the code of the lua firmware libraries.

This is the great job that makes it very very easy to make or undertand the code of any zigbee or zwave edge driver with all the functions code written to handle capabilities, cluster, attributes and zigbee commands or all zwave commad class.

For lan driver I have no experience, but I guess most of the standard work is done here as well.

1 Like

You can access over the cloud still as your hub maintains a connection, but based on my current understanding, drivers are executed locally now.

You can also write your own drivers and install them completely locally with the smarttings CLI. I’m still figuring out all the terminology, but you can also register for a “channel” (I hope I remember that right) and then get a referral link that you can give to others . When they click the link, they are taken to the smarttings web site and prompted whether they want to join the channel. Once joined you can see any drivers that person has created and it is just one click to install them on locally your hub. I have already done this several times.

There are already tons of drivers available for all sorts of devices so I guess they are not that hard to create. If you are searching for a new driver, the terminology you will need to use to search is “smarttings edge driver” for xxx. If you find a project (usually in GitHub or smart things forum) find the referral link which will allow you to install in one click.

1 Like

Usually the fastest way to find a driver is to use the community-created wiki. There are two pages there that are set up for this.

The first is the table of edge Drivers. It’s very new, and quite incomplete, but the information that is there is good. It’s sortable, so you can sort by model number or by manufacturer.

https://thingsthataresmart.wiki/index.php?title=Table_of_Edge_Drivers

If you don’t find your model there, then check the quick browse lists. These are organized by device class, so there’s one list for lighting, one for sensors, etc. This will take you to the author topic in this forum, where you can check the exact model numbers, see how other people are using it, find out about features, etc. doing it this way should take you directly to the information about the channel link and save you a lot of time compared to just googling.

https://thingsthataresmart.wiki/index.php?title=Quick_Browse_Lists_for_Edge_Drivers

I would also recommend that anyone new to edge drivers read the community FAQ as it explains how to install them, how to determine what you have already installed, official announcements, timelines, and additional helpful information.

FAQ: I have no idea what Edge is. Is that a new developer tool? (2022)

@JRSP

Thanks! I have just been googling.

Edit…actually at least for me this is not that useful. That list is mostly just already natively supported devices.

All of the things that I have purchased for the core of my setup have been official “works with smarttings” z wave devices.

Where I run into issues is I also have a few tinker type devices that I’ve managed to integrate. They are usually Arduino (ESP8266/32) or RPi wifi devices. A former carryover from ST_Anything.

Just to share, one of the best things I’ve found is this GitHub project:

It provides you with a driver UI where you can add up to 50 web API calls to any web device (json, etc). The individual web calls can then be used in scenes or routines. So say I have a device that takes a web call like http post "http://xxxxxxxz/json?{state=“on”}. I put that into slot 1 in the app, create a virtual switch, and then a routine that says " if virtual switch is on, then run webrequester slot 1. Seriously powerful.

That guy has lots of cool tools up there. Smart things should be paying him because he actually gets it.

1 Like

As I said, the table is very new and incomplete.

The good news is that you will find pretty much every custom edge driver which has been released to the public on the quick browse lists, including the one that you just mentioned, and a bunch of others. That particular one is on the “edge services“ list, which has some really cool stuff. :sunglasses:

https://thingsthataresmart.wiki/index.php?title=Quick_Browse_Lists_for_Edge_Drivers

Of course, if you find it easier to Google, go ahead. Different things will work for different people. But one of the basic ideas of edge Drivers is that they should be easy to use for the kind of people who have never heard of GitHub and wouldn’t know what they were looking at if they did get there. :wink:

The quick browse lists will take you to the author topic in this forum, and normally the first post in those threads has the link they need to click on to subscribe to the channel and an explanation of what the features are, and that’s probably all that most people will need.

But again, your choice.

Thanks, that’s good to know. Still not going back :joy:

I just completely migrated from SmartThings today, they had way too many chances. Usually it’s 3 strikes and out, ST was more like 3 strikes every 6 months. Due to the hassle of having to move all my devices from one hub to another, I finally bit the bullet and did it.

I have all the apps I had prior to all these major changes with ST. WebCore is back which is nice, plan on using it just for things like flashing a bulb to indicate mail has arrived (like I used to have). ActionTiles allows me to control devices remotely, selecting only certain devices that are allowed.

The only thing I like with the current ST iOS app is the UI components for inputs such as colors and dimmers. Seems to be the only thing I’m missing. Hubitat has homekit bridge already available which provides the nicer UI components if I actually need them. It was just annoying when things stopped working and come to find out it was yet another update excuse. The most important requirement for a smart home system is reliability. The automations I have with Hubitat work instantly rather than waiting seconds or never.

I was planning to setup Home Assistant until I realized the RPi4’s are way overpriced and looking at the specs for the price, hubitat just made the most sense. What I was able to gather on google:

ST Gen 2 (battery backup, paid $74.99 in 2016):
1GHz ARM A9 (32 bit), 512MB DDR3 RAM, and 4GB flash storage

ST Gen 3 (no battery backup, currently $489.99 on Amazon):
528 MHz ARM A7 (32 bit), 256MB DDR RAM, and 4GB flash storage :face_with_raised_eyebrow: - only getting worse?

Aeotech Hub (ST Hub, no battery backup, currently $134.99 on Amazon):
528 MHz ARM A7 (32 bit), 256MB DDR RAM, and 4GB flash storage

Hubitat Elevation C-7 (no battery backup, powered via USB, paid $123.47 last week):
1.5GHz ARM A53 (64 bit), 1GB of RAM and 8GB of flash storage

Size comparison:

Hubitat doesn’t come with a backup battery compartment but those serious into smart homes already have UPS backups (photo of hubs on my server rack). Hubitat is powered via USB so any passthrough battery bank should suffice.

Is ST still getting worse and worse? This thread started in July 2021.

1 Like

If you are referring to the ST v3 hub, those have not been manufactured in over 2 years. The Aeotec hub is now the rebranded v3 hub and cheaper than the price you found:

https://www.amazon.com/Aeotec-SmartThings-Gateway-Compatible-Assistant/dp/B08TWDNQ5Q/ref=sr_1_2?crid=25LUK3CV8OZG9&keywords=aeotec+smart+home+hub&qid=1677205672&sprefix=aeotec%2Caps%2C111&sr=8-2&ufe=app_do%3Aamzn1.fos.304cacc1-b508-45fb-a37f-a2c47c48c32f

1 Like

I’ve updated my post.

Aeotech Hub (ST Hub, no battery backup, currently $134.99 on Amazon):
528 MHz ARM A7 (32 bit), 256MB DDR RAM, and 4GB flash storage

The local execution was not the only advantage. ST has been frustrating for too many years. Being a software engineer for over 15 yrs, backwards compatibility is a must. How many developers did they just tick off in the community that had supported ST for years.

webCore had no problem calling ST out:

Yes, the reason I am here is I was the OP.

I think it’s pretty stable for me right now, but needs improvements still. For example, I have began to realise by looking through this Lua stuff that I think it would be totally possible to create a GUI app that would let you generate a edge driver for any device without writing a single line of code (hint hint developers).

Where is stuff like this?? The new IFTTT type rules are working great for me and I’ve not had any trouble configuring anything lately.

Congrats on your hubitat though. If I did decide to leave ST, that’s what I would probably choose.

I can imagine webcore would be mad. The routines in ST pretty much made them redundant. Is there something you could do in webcore that you cant do in the ST app currently?

They also have their own rules API now, though I know very little about it

HTTP requests. Global and local variables. Advanced conditions, control structures, and expressions. Ability to set device params.

ST routines couldn’t even keep my porch bulbs set to 3000 color temp no matter what I did. It would keep changing them to daylight. This is exactly what made me decide to ditch ST and order the hubitat that night. I didn’t change anything and suddenly this issue started.

Well, I don’t want to get into an argument, but almost all of those are terminology more than functionality. I was referring to what actual real world outcome it was you cannot achieve.

Http requests is a functionality however and was possible even before the migration. I have been controlling unsupported, custom built devices through web their APIs for years. It only required a custom device handler. I think a big part of the problem with smartthings isn’t their functionality, but the difficulty in finding getting started type information and lack of clear communication. For example, even their new getting started writing edge driver tutorials are extremely vague and lack any sort of context to make the topic understandable. I think they make way too many assumptions about what people starting out know about the backend ST architecture.

As far as your lights go, I don’t know your situation, but if it wasn’t some other internal or external automation that was interfering, then I can only assume it was a poorly written handler/driver or a device that claimed compatibility, but was using a standard driver. In this case I’d be looking at the device manufacturer for answers as it’s not smartthings job to provide working drivers for device manufacturers.

If someone on hubitat has written a good driver, hey good for them. Maybe they have succeeded where smartthings has failed IMO, which is to provide a system that has a high amount of functionality, with a low price of admission.

1 Like

An enormous number of things. webCoRE is effectively a programming language of it’s own (which is both simultaneously a major strength and weakness).

1 Like

Agreed, what works for some won’t for others.

It’s been said before and I’ll say it again, consumer grade home automation is a niche market. As @JDRoberts has pointed out time and time again, the majority of those people using ST don’t have a hub. Those that do are more like my brother-in-law who has a hub to operate a dozen or so light switches and outlets to turn off lights when the kids leave them on at night and turn on/off the Christmas lights. Sophisticated, professional home automation is not typically done by the home user, but accomplished using proprietary controllers that cost big $$$$, installed by companies that charge big $$$$ to do the job.

I’m a little more sophisticated and the transition has been anything but smooth. However, like in the Groovy days, community members have stepped up to fill the gaps that the device manufacturers and ST didn’t fill. And through a combination of new device types, integrations with voice assistants, and 3rd party tools like Sharptools, I solved 99% of all previously existing automation needs as well as some new ones.

WRT webcore. I never took that plunge, but as a casual observer, seems to me that sharptools.io offers much of the functionality that is available in webcore. Would it suck to have to re-write my automations, yeah. But technology moves on and it wouldn’t be the first time I’ve had to recreate something because of technology obsolescence. If Sharptools wanted to woo former webcore users to their platform, they might even create a translator to import webcore automation routines into their system (hint hint).

Which is all to say, it sucks when technology directions shift and you have to find a new path forward. Some of us are sticking with the platform and riding it out using new and existing tools. Maybe that won’t work for others. As others have said, there is no reason to come here and bash ST and its users for staying the course. And I think if others want to find out about the viability of a different platform, they’ll go to the communities for those platforms. No need to sing their virtues here.

2 Likes

Like I said, I’m not willing to argue about this, but webcore is just communicating with smartthings so the answer is definitively no, it cannot. It does however make it easier.

There’s a difference between what you can do on the smartthings platform, including the rules API, what you can do with the features built into the smartthings app, and what you can do if you connect the REST API to your own smartapp hosted elsewhere. There are also third-party integrations, including with hubitat, where Webcore is now a built-in part of their platform. Or, as was mentioned, SharpTools.

So, yes, there’s no arguing that if you allow for things that are just using smartthings as a box of radios and communicating through the REST API, technically you can do it all with smartthings.

But we still don’t have parity with the original groovy Webcore if you only have a mobile device and you just stick to what’s available in the smartthings app built-in features, even if you include the rules API.

The missing features, including calendars, local and global variables, and certain kinds of comparatives are discussed in great detail in the sharptools forum. Some are available in that app and some are still on the wish list there. :thinking:

Again, you could build all of that for yourself, and connect to smartthings via a smart app that you host. But the original Groovy webcore ran in the free Smartthings cloud. You didn’t have to host it yourself. You didn’t need a laptop. (which many millennials do not have). You didn’t need a raspberry pi or another server device. All you needed was a web browser. And if you limit yourself with the new architecture to just a web browser and you don’t arrange for your own contract with a hosting service, then there definitely isn’t parity yet.

That’s more than just Terminology: there’s a real dollar and time cost attached.

One of the reasons sharptools has become so popular as a third-party option is because it, too, only requires a web browser to use the advanced rule building functionality. And that’s an important aspect for many people, although, of course, not all.

Different people have different needs and preferences. Those who are going to program anyway, like those choosing home assistant, might find that with more documentation they really could do everything they wanted to within the smartthings new architecture as long as they write their own smartapp and host it.

But those looking for an equivalent to the original webcore that doesn’t require anything other than a web browser and still offers sophisticated functionality beyond what is included in the rules API will likely find sharptools a better fit.

Choice is good. :sunglasses:

4 Likes

Calenders would be a good point I guess. While you can schedule things to occur on a repeating weekly basis, yes as far as I know there is no way to do certain day/ time things. So you have at least mentioned one point where the functions are enhanced.

I personally have never had a need for it. So far the rules based approach from smart things has met all my needs. I’d much rather write the functionality into an enhanced driver, vs using a 3d party service to make things easier so this has been my approach. This does bring me back to my original point about instructions though. I browsed the webcore project setup and features for a while yesterday and found it well laid out, informative and complete. Then I go to look at a.arthings docs, and it is a mess, hard to understand and has no clear starting point. I know the functionality is there, but implementing it is definitely more difficult than it should be.

2 Likes

That comment is shows an entire misunderstanding about what webCoRE is and how much it is capable of.

4 Likes

I guess you need to update your post again. :wink: