Back From a Year With Hubitat - Why Is the Google Home integration so much more limited with SmartThings?

When I first started building my smart home system a year and a half ago, being a Samsung brand loyalist to the core, deciding which hub to purchase was a no-brainer. I started adding devices weekly which provided me with a pretty constant learning curve with the Smarthings system, insofar as the the capabilites available through the two apps on my phone. Eventually, as a function of necessity and after much research here, I first started exploring the Smarthings IDE site, and realizing the enhanced functionality and capabilities it offered.

Everything was great until one day, I learned the hard way what all this “local control” vs. “cloud control” yammering I had seen on the forums but not concerned myself with. Because I had horrible internet reliability at the time, I wanted to create an automation which cycled the power of my cable modem. So I purchased a “Smart” power strip, stayed really put in some time configuring the system which if internet connection dropped, it would delay 30 seconds, turn the modem outlet off, wait 30 seconds, and then turn on the modem outlet. You know the rest of the story, but suffice to say, I learned the difference between the local and cloud systems that night, and which hubs offered which.

I made the decision to jump over to Hubitat, and would eventually get my internet reset automation up and to bind as I had envisioned. I found the differences with the Hubitat system to be easily learned, and as I had done with Smartthings, became moderately proficient with the system. In the 12 months which followed, I equipped my home with the Google Home system, and found the integrations available with Hubitat to be adequate and useful.

I could trigger Hubitat actions using a verbal command to any of the Google Minis I had around the house, which soon became the exclusive means to operate the lights in my house. I wasn’t sure why certain device types wouldn’t be picked up by the Google Hub system (contact sensors, leak sensors, etc.), but it didn’t have too much of an impact on overall capabilites.

This was because with the Hubitat Hub, I could also send Google Home audible announcements based on Hubutat triggers, which I did for many devices. If a door opened, I was able to select which of my Google Home Minis would announce the custom message I had set in the configuration.

As a result, I was able to consider this all as a single smart home automation system with two fully integrated controllers. So what happened? Why did I abandon a system which was working so well? I imagine my reasoning wouldn’t be enough for many people, but it was something that created an ever increasing sense of disappointment I felt with regards to Hubitat. That being the circa-1992, absolutely embarrassing UI that I was required to work through with anything and everything Hubitat. If you’ve not seen it, Smartthings UI is 4,000,000% better to look at, and doesn’t make you feel like you’re using a Commodore 64 in your 13" CRT TV.

So now I’m back, and hadn’t realized that many of these integration options I had become accustomed to were not a thing on Smartthings. Right now, I’m essentially running two separate smart home automation hubs, which frustratingly barely talk to each other. The Samsung Smartthings Hub v3 and Google Home.

Yes, I can push commands to Smartthings via Google Home (which does integrate with Roomba), but can’t go the other way… Easily. This should be easy, and not require adding some physical node device (which needs to be correctly configured) in order to have Smartthings to Google Home interoperability. Especially when I know it can be done, done easily, not require a node, and allow users to have Smartthings triggers result in Google Home audible alerts.

Isn’t Smartthings Java Groovy the same as Hubitat Java Groovy? I’m not a coder (despite a few attempts to learn), and I only have a 35,000’ understanding of how these two systems work behind the UI. That said, can someone explain why Smartthings is incapable of playing nice with Google Home (or vice versa) when Hubitat was?

1 Like

You’ll probably get a better answer to that question over in the Hubitat forums. :wink:

(By the way, groovy isn’t Java, it just has a similar structure. Two different languages.)

As far as the UI, at the beginning, Hubitat had the idea that their systems would be professionally installed or used by “power users.” So they just weren’t as concerned about the aesthetics of the interface. I expect it will improve over time. After all, actiontiles exists because of limitations in the early SmartThings app. This is often an area where third parties end up doing a better job.

1 Like

Well, they could tell me why Hubitat is able to dry it, but I want to know why Smartthings can’t.

I don’t know where I paired up ‘Java’ and ‘Groovy’, but sadly the part of your brain that let’s you understand how to write in either, will… I don’t have it, or I killed it when I was in the Army back in my drinkin’ daze.

I’ve read a few times in the forums that the beyond being written in the same Groovy language, the coding used to build Smartthings SmartApps and Device Handlers is very similar, and in some cases identical to that of Hubitat. Is that the case? Maybe I should just throw the code from Hubitat into the Smarthings IDE, cross my fingers and toes, and press go.

2 Likes

Interesting that Hubitat can do voice notifications on GH without an in between server. Maybe they are hosting the server on the Hubitat hub itself?

2 Likes

That doesn’t work, if you lifted the code from their community, then share a link and whoever wrote it there, would be able to adjust to run it on SmartThings, if that version is not already available on this forum.

Hubitat has a built-in “Chromecast Integration” App/Driver combination. This allows for the automatic discovery of Google Home and Chromecast devices on the user’s LAN. Each of these can then show up as an individual device. TTS is performed via the hub sending a request to the Amazon AWS Poly TTS service, which then returns a sound file which is cached locally on the hub. This means that for a static phrase like “The kitchen door is open”, there are no subsequent calls to AWS/Poly as the sound file is cached and reused. Once the TTS sound file exists locally, it is ‘cast’ to the Google device for playback.

For this to work on SmartThings, Samsung/SmartThings and Google/Nest would need to embrace a much tighter partnership than what has so far been demonstrated. I do not believe this type of integration is currently possible on SmartThings using the existing Groovy IDE. If it was possible to do so, someone would have likely already migrated the Google Assistant-Relay and/or Cast-Web-API directly into SmartThings as a SmartApp/DTH integration.

3 Likes

Yeah, that’s the juicy knowledge I was looking for. So I shot over to Hubitat, and it looks like it’s a feature added by Hubitat themselves. I don’t know if there is an easy way to lift the code from a native Hubitat app. Anyone?

You dont want to lift the code from Hubitat. It won’t work. The biggest difference between ST and Hubitat is running local on your hub. You can’t run most custom code on the SmartThings hub. The reason they can is they can run pretty much what they want on the hub.

You’ll need an intermediary ‘server’ on your network to be able to CO trol the GH devices. This can be done with a raspberry pi.

Try this instead:

1 Like

The short answer is that the smartthings hub is locked down and individual customers cannot add their own code to it. The custom code that we add runs in the smartthings cloud, not on our own hub.

The Hubitat hub is not locked down in this way, which is why there are more options. :sunglasses:

1 Like

So I read that at the annual Smarthings Lovefest convention (I believe) they were talking about some near-term upgrades for the Smarthings hubs to enable them to operate, at least in part, as a true local system. Couple questions on that:

  • Did I read that correctly?
  • If so, are such promises to be trusted? I’ve heard rumblings here and there about this happening over the last year and a half. However there were always those in the discussions who were skeptical about whether or not it would ever happen.
  • If so, would that local processing capability be what’s needed to enable Google Home integration?
  • I set up my Dad with a Smartthings Hub v3, but he elected to go with the Amazon Echo system for his verbal command system. All the features I want are avaliable with the superior integration available with Smartthings and the Echo architecture, albeit requiring some 3rd party bridge “skills”. I’m not smart enough to know if there are significant differences in the fundamental architecture between Google and Echo, what those differences are, what the implications are with respect to 3rd party integrations, or whether or not those implications are what’s preventing a native solution to enable Smartthings to offer the same level of interoperability for both systems. BUT, based on what I do know and have observed with Google in the past, I’d wager that with respect to being able match the Echo level of capability, the majority of obstacles originate from Google. A few 3rd party smart home manufacturers have been frustrated by the process and requirements Google insists on the get admission. Anyone else feel this is accurate?

Thanks for all the discussion, though. Very much appreciate it!

  • Yes you did. More like they’re coming up with a local Rules API that anyone can plug into. You will be able to tell the Rules API what you want it to do and it will execute those instructions locally. It’s NOT the same thing though as executing your own local code.
  • Yes, it’s to be trusted. In fact, personally I think it’s probably the only way they’ll be able to satisfy a lot of hardcore Classic holdouts like me and without it… Well…
  • No - see first answer.
  • Yes there are fundamental differences with how the GH solution and Amazon do things - the GH solution talks directly to the GH devices while Amazon is a cloud to cloud integration. You’re looking for the Echo Speaks Smartapp. It works great after a little setup. The developer is on the thread and active in the community - so feel free to hop over there and ask. [Release] Echo Speaks v3 + Actions
6 Likes

We are working towards a solution that will enable local control of complex rules. The same rule grammar is available now in the cloud form. We still have work to do on the cloud version but making it work locally is on the road map. When complete if all your devices are running locally, then your automation will work locally. Obviously you won’t have local control over cloud connected devices.

A little further out we are working on improvements to the local device connectivity.

Obviously I am biased but the future is bright for SmartThings from where I am looking.

8 Likes

Another bullet point. My eldery father uses the SmartThings app and Echo devices and has forgotten how to live in the world without the stuff.

4 Likes