Migrating from SmartThings to Hubitat, best practices?

See this post:

2 Likes

Just found out about you guys when I finished performing a device integration on ST and was looking for an update for the original "Rules Machine" I hit bravenel's Git repository and saw a reference to another repository called HubitatHarmony and was like huh a port from ST to Hubitat.

What is this Hubitat?

Google search and low and behold the sun rose the clouds parted and I was blinded by the light, no way a hub that actually executes everything locally, still can work along side ST and can eventually replace both ST and my Wink hub. Is this for real?

I have been so fed up of ST, been on the platform since 2.0 and just comprehend why 90-95% of execution wasn't designed to run on the local hub. Come on were in a era of computing where we have so much power that can be contained in a little device and you resort to design a product that is dependent on the internet. I have never felt like I was 100% protected when I armed my SHM, was like hope the cloud works tonight when the burglar comes though the back sliding glass door. Also the false alarms in the middle of the night, yeah happened last night, nothing in the logs, some glitch, woke me out of a dead sleep, nice ST. I also installed a ST for my older mother who lives alone, converted her old radio shack alarm system to ST but still don't trust in it 100%, I really am curious and ready to jump on board but have sooooo many questions. I bet wasn't the only one starting out or considering switching to Hubitat.

How many of the device handlers, Smart Apps and other code has been ported over to Hubitat? I am running so many different SmartApps that afraid if I switch I'll find some things won't work. but should like you guys already have a app that allows me to still use ST alongside Hubitat till some of those other apps are avail, and they might be already haven't dug into the community was too excited and had to write this.

Also you guys consider launching a kickstarter or indegogo campaign? Would be a great way to bring more awareness, update the hardware and integrate the dongle, maybe even get some $ for advertising. I would support you guys, think what your doing here is badly needed, I don't want my info in the cloud to be pillaged like Cambridge Analytica did with the FB data.

So what advice as I get ready to hit the buy button and get my hands on this hub. Hope your all ready for a deluge of questions once I get it in hand.

Not going to replace my mothers hub just yet, know if anyone tied in a traditional alarm's reed switches into habitat? I got this setup from (konnected dot io) when I wired in and integrated my mothers alarm, looks like this is just a basic controller board with a wifi shield wondering if it could be re purposed into Habitat without buying a new board. They have device handlers for ST for this is it easy to port them over to Habitat?

Matt

1 Like

We have many dozen device drivers (different term for Hubitat than ST), for a wide variety of brands. Most popular ones are supported, and more are frequently added. At this point our coverage is similar to that of ST.

For apps, these are all built-in:
Rule Machine -- many upgrades since it left ST,
Hubitat Safety Monitor -- covers pretty much everything that SHM did, plus entry/exit delays and other nice to have features.
Simple Lighting -- pretty similar to SmartLighting, but really, it's a simple lighting automation app.
Button Controller -- extensive actions possible for every type of button device
Mode Manager -- automatic setting of modes based on modes, presence, time, etc.
Groups -- group sets of lights and switched together for single switch control -- or Alexa control
Alexa Skill -- full support for controlling everything with Alexa
Dashboard -- remote dashboards to control or monitor your system, for mobile devices or web access.
Hub LInk -- send events from ST to virtual devices in Hubitat, for blended system
Motion Lighting -- comprehensive app for controlling lights with motion sensors based on mode
Zone Motion Controller -- advanced motion sensing for lighting control

Built-in integrations include:
Amazon Echo
Ecobee
Hue Bridge
IFTTT
Life360 (for mobile presence)
Pushover (for mobile notifications)
Nest
Rachio
Sonos
Lutron

We natively support Lutron RadioRA2, RadioRa Select, and Caséta. This opens up the use of Lutron Pico remotes for controlling any part of your system.

All of your data stays private -- in fact it never leaves your home unless you use remote Dashboards. We don't store or track any of your data in our cloud. You are in control of when platform software updates occur. All automations and device drivers run locally -- only cloud integrations use the cloud (duh).

If you are familiar with Arduino, @ogiewon ported all of his work to Hubitat, where its called Hubduino. That is just one of many community apps, drivers and integrations. You can even use WebCore, where the pistons all run locally.

We offer the ability to write apps and drivers in Groovy. Our implementation is mostly compatible with ST, with the few changes needed fairly well documented. So pretty much any app/driver can be moved over without a huge effort.

This will work for you! Go Hubitat!!

2 Likes

Try it - you'll like it. I've been on since February, it's really getting stable now. Most ST device drivers and apps will port over with a little work.

Thanks for the response, so glad you guys went off on our own an created this, can't wait to get my hands on it.

I just ordered the NodeMCU dev board off Amazon that has referred to in the Hubduino thread, I have played around with Arduido's before have a few laying around so sounds like a great way to integrate the alarm switches.

Finally can scrap my Wink hub, only reason I had it laying around was for a single Lutron Caseta dimmer on my main chandelier.

Konnected is a nicely packaged NodeMCU ESP8266 board. My HubDuino software can easily run on that exact same hardware and provide a means to integrate an old alarm panel's sensors into Hubitat. Check it out below. Other Konnected users have successfully made the migration using HubDuino.

To have local execution and quick response and still be able to keep the ST hub around I'm willing to slowly migrate.

Does the Hubitat Dashboard work like Action Tiles or Smart tiles whatever they are called now?

This will work for me just fine, in fact I still need to tie in the siren and picked up one of the relays.

FYI you need a lutron caseta Pro bridge to interface with hubitat. It doesn’t have its own lutron radio, it communicates over the LAN with telnet.

Guess the wink stays, can't see spending $80 for another bridge for one dimmer. Wife is going to think I am nutz, ST, Wink and Hubitat laying around.

Hmm found a ebay deal with the bridge and a dimmer and remote for like $60, might still take the wink out back for my son to use as target practice.

$60 for that sounds like it's NOT the PRO version.

Notice the PRO in the upper right corner of the package. Also, notice HomeKit in the bottom right.

2 Likes

Hey Matt, it's Nate from Konnected here.

I just wanted to let you know that I just finished porting over Konnected to Hubitat, and it works just as well as SmartThings except much faster and 100% local using Hubitat. You can load the apps and drivers from our Github repo here:

1 Like

I recommend watching all the tutorial videos on the YouTube channel also. Wish I had done that right off the bat.

1 Like

Can anyone help mr with this error?

2020-10-16 02:53:48.540 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.HashMap.sendEvent() is applicable for argument types: (java.util.LinkedHashMap) values: [[name:label, value:Afternoon, isStateChange:true]] on line 260 (doDeviceSync)

This is line 260:

sceneDevice.sendEvent(name:'label', value: DB['scenes'][id]['name'], isStateChange: true)

These
are lines 250 to 268:

def updateScenes(DB) {
log.debug("Updating Scenes...")
if(!state.scenes) {
state.scenes = [:]
}
state.scenes.each() { id, sceneDevice ->
if(DB['scenes'][id]) {
// update device
if(DB['scenes'][id]['name'] != sceneDevice.label) {
log.debug("processing scene ${id} from name ${sceneDevice.label} to ${DB['scenes'][id]['name']}")
sceneDevice.sendEvent(name:'label', value: DB['scenes'][id]['name'], isStateChange: true)
}
DB['scenes'].remove(id)
} else {
// remo
ve device
log.debug("removing scene ${id} from name ${sceneDevice.displayName}")
deleteChildDevice(sceneDevice.deviceNetworkId)
}
}

Is this a port of something from SmartThings? If so, a link to the original or some functional minimal example might help.

Off the top of my head, it looks like you're trying to retrieve a device (really com.hubitat.app.DeviceWrapper or possibly ChildDeviceWrapper) object from state. On Hubitat, you can't store a reference to an object in state, but I'm pretty sure it works the same way in SmartThings, so I'm not sure why that would work there, either. Or I could be misinterpreting something in your snippet. If not, you'll have to find another way to get a reference to the device object, say by doing a find() with some known piece (like Hubitat device ID) on a setting (from a user input) or getChildDevices() or however you either selected or created these devices in the first place.

Yes this is a port from SmartThings. Here is a link to the original app.

Yeah, it looks like they are indeed trying to store a device in state. I don't think this worked on SmartThings, but it definitely doesn't work on Hubitat. You'd need to look at why they're doing that and how it could be worked around. I see there are also HTTP calls. On Hubitat, I'd recommend doing these as async calls instead (technically supported or at least in beta on SmartThings) unless you have a good reason not to, though either way would work. But these two things together might make this a bit more effort than your average port, so probably not a good place to start if you don't know Groovy and ST or Hubitat. :slight_smile: I could definitely attempt to throw something together, but I don't have these devices and would not be useful for testing. I'd see if there are any existing community (or native) integrations that might do what you want first.

Thanks

If you through something together, I could run your code on my system and post the debub log here.

Thanks,
Frederic