Custom Component: Hubitat

Especially given that HA is free to try, especially if you want to just move the Hubitat stick.
Then buy a better host than a laptop or something you tested it out on.

Precisely what I did. Tried on the pi3 and then migrated to my old faithful…4th gen Nuc. Just bought an gen 8 so I have one more migration to make. Hopefully it arrives early next week.

Yeah I was on a Pi3something and then moved to a Ubuntu VM on my 2012 Mac Mini. She’s a trooper but I’d love to upgrade it. Done with Mac I think. Too pricey. Although the time I’ve spent with this investment is impressive.

I’m running HA (HA Core, technically) directly on a late 2014 Mac mini. It works well enough, but I’d rather have a Linux box. MacOS is not the friendliest server OS.

Why give up the Pi? Seems to be working just fine.

I’m doing some video stuff, I assumed the pi would have an issue crunching video and HOOBS is proving it to be slightly true. Pi 4 might be enough. I saw there’s a HOOBS docker image thanks to a friend. Woopwoop.

Edit: I just chimed in, I know you asked @stephack

1 Like

HA has been known to wreak havoc on sd cards. I also have cameras streaming to my HA dashboard. The pi simply couldn’t handle it. Pretty big delays loading the video. Lastly, I run quite a few addons.
The pi works really great for basic functionality but I need room to grow and I already had the NUC begging to be used.

1 Like

I need Hubitat. I can’t keep HA stable on a raspberry pi 3+ or as a VM. I’m constantly having to debug or fix errors. Twice now I’ve encountered errors in the HA docs that have taken large chunks of time to fix. ATM my home assistant instance is totally bonked. My snapshots load possibly corrupted? I was trying to go the VM route since my SDcard puked. But VM on a windows machine is a nightmare.

I’m planning on buying a ssd drive and going back to my pi. My family would be driven nuts if I just depended on HA. It is just way too experimental and constantly things break when updating. I don’t mind fixing but I don’t know whether the fix is being being part of the QA team or a simple fix.

Hubitat just works for me. However, I do wifi with Home assistant (which is very little so family doesn’t notice the current outage) and use two custom apps on my Hubitat. I am trying to do more in depth energy monitoring and databasing with home assistant.

With my time constraints and limited expertise, I rely on the simplicity and ease with Hubitat. My zwave has been perfect (but I only have 6 zwave devices) and zigbee has been more of an issue. However, ZHA with a Nortek stick was impossible. My Smartthings buttons would not register events correctly. I am curious about the performance of zigbee2MQTT and deCONZ but it all comes with learning curve.

Yes Hubitat has slow down issues and other problems. I find it perfect for my needs by just trying to keep it to being a dummy antenna for HA.

In case you’re wondering, I do my automations on HA, but I pause them on Hubitat. When I ruin my HA, I unpause my Hubitat automations. It is a nice backup for me.

1 Like

Yea I was planning on using Hubitat as my critical layer, doing whatever automation I could within Hubitat but after seeing how the automations I have in HA running faster than native Rule Machine automations I’ve ported eeeeeeeverything over. Even my Simple Lighting Automations.

2 Likes

I’ve been setting up my Lighting automations around my house in small jumps so I really see how everything behaving before adding more complexity. It ran fantastic with built on automations but they are painful to manage in yaml. I recently swapped by daughters Bedroom and my office and I had to edit about 10 files (my config is split for management). If I had just one big config it would be a confusing mess for me. After that experience I moved my lighting to NR…so much easier to add/change room configs…and there was no perceivable change in performance. I’m using the NR addon in Hassio so all processing occurs on my NUC.
I plan to add more complexity now that everything has been running beautifully for a couple of weeks and it should be doable in NR. However a friend just sent me this link to this custom component this morning and it looks like it covers most of my use cases. Haven’t tried it yet myself but figured I would share with you folk nonetheless. Looks promising.

1 Like

I use AppDaemon for most of my automations, and I highly recommend it if you like working with code. AppDaemon apps are much less verbose and more flexible than YAML automations, and the performance has been great.

I’ve tried NR a couple of times, but I can’t stand the interface. I’m much more comfortable with code in a terminal. :keyboard: :grin:

Hi, i am not able to add the repository, i get this message:

Im using https://github.com/jason0x43/hacs-hubitat.git as the link to the repository.

Try just jason0x43/hacs-hubitat rather than the full URL.

2 Likes

I really like Node-Red, it could be simpler for sure.
I recently solved an issue with my Node-Red based TTS that was a really Node-Reddy problem that really made me understand but question how message driven NR is.
Instead of the Cast Node’s saying the message I had configured they were just saying the status Node’s that I had last checked before the Cast Node.
Like “Night”, “Home”, “On”. I was so confused but it was so obvious, it was telling me what it’s problem was in English, out loud lol.

I have noticed some slow downs, hardware related on the Pi3. So question for you guys that have migrated. Is this a full re-setup? Or can I apply the Snapshot to a different piece of hardware, given that I use the same radio stick everything has been paired to?

If I were truly a developer, I’m pretty sure I would use App Daemon as well. I have very little programming experience but managed to learn Groovy for ST/HE over the years. Got no plans to learn Python unfortunately. All the kwargs and the this’s and thats…over my head…lol.
I’m a fan of NR because it lets me build flows quickly and easily…even if it’s not the most efficient. When I need to add something from a template I created…it’s just a matter of copy/paste/edit. For those flows that are trickier, I have a function node that lets me play in javascript…which I can generally understand because of my experience with groovy.

Very cool, very robust app. Going through the readme it appears it’s yaml based, like the native automations, no UI. Is that right?

I tried a test snapshot migration when I first setup HA. At the time I had no real understanding of the HA structure so I probably did a lot wrong. It seemed to work fine but generated a TON of errors in the log. I’m pretty sure now that I could have just deleted the database files and all would be fine. That was rpi to rpi though. If you are changing hardware it will probably be a bit trickier. Mainly because the usb references for zigbee and zwave would be different. I might just be a matter of changing the lines that reference these to the new config.

Here’s the good news. You could just copy the full snapshot somewhere, shut down the pi, install HA to your new hardware and restore the snapshot. If for some reason it all fail, you still have the original pi waiting to be powered back on. No real risk in trying.

I’m guessing you have lots more on that nuc than HA. They’re pretty expensive.

AppDaemon is Python-based. You write simple scripts (“apps”) in Python to control things. Like, here’s one I have that turns on a “Bathroom Night Light” scene when all the lights in the bedroom are turned off when the sun is down:

from lib import HassPlus

LIGHT_LEFT = "light.bathroom_light_left"
LIGHT_RIGHT = "light.bathroom_light_left"
BATHROOM_LIGHTS = (LIGHT_LEFT, LIGHT_RIGHT)
BEDROOM_LIGHTS = (
    "light.short_lamp",
    "light.salt_lamp",
    "light.rocket_lamp",
)
SCENE = "scene.bathroom_night_light"


class BathroomNightLight(HassPlus):
    def initialize(self) -> None:
        for light in BEDROOM_LIGHTS:
            self.listen_change(self.action, light)
        self.action()

    def action(self) -> None:
        if any(self.is_on(l) for l in BEDROOM_LIGHTS) or self.sun_up():
            self.log("Not turning on scene -- a light is on or the sun is up")
            return

        self.turn_on(SCENE)
        self.announce("turned the night light on")

AppDaemon runs all your apps and lets them talk to Home Assistant. It also watches your app files for changes and reloads them automatically if you edit them, which makes experimenting pretty quick and easy.

1 Like