Webcore, Nodered and Rule Machine

hi - I've seen a few threads comparing WebCore and Rule Machine. Not as much on Node Red. I'm trying to get a sense of where to allocate my "learning time" most effectively. I've got the Webcore app set up and I have Node Red installed and working in Home Assistant. I already have HA talking both ways with hubitat - that is, Home Assistant Device Bridge pulling info from HA and Maker Api sending info to Node Red in HA.

What's less clear to me is where the each of the 3 "apps" excel. Is there a good way to think of each of them in terms of what types of problem are solved most effectively in one vs the others?

Node Red seems to be a very visual workflow tool. But I haven't learned all the nodes well enough to judge if - for example - it's a good tool for doing calculations and lots of if/then loops and choices.

I think WebCore is closer to a true programming environment - although I'm also not sure if that's true. Does it use a language closer to VB or JS or something like that?

Are they equivalent in terms of what data you can access from HE devices and apps? Would all 3 still depend on what is made visible by the device drivers in HE?

I think I'm looking for an initial "way in" - a starting point in how to think of these options, if that makes any sense. I'd love to hear "if you want to do this kind of thing, it's easier in NodeRed, but this other thing is easier in WebCore".

Thanks!

I can't say much about Node-RED except that I tried it once, found it too confusing to get started (and already knew how to use the other tools), and gave up. :slight_smile: So, I can't speak much to it. But I know there are some here who do use it.

From a technical standpoint, the biggest difference is that it requires an external system to run on. You already have one, it sounds like, but it's still worth noting. Along those lines, Rule Machine rules run entirely on your hub. webCoRE pistons also run entirely on your hub, while the editor alone does need something else (the public webCoRE Dashboard by default, though you can also host it yourself with some effort). For Node-RED, of course, all pieces are external to the hub.

I think this is largely a matter of personal preference. There are some things that were previously easier (or perhaps just possible at all) to do in webCoRE compared to Rule Machine, but Rule Machine has been through many iterations since then. There are still some things you may find easier in one than the other, and just some differences in how certain features work.

The biggest difference between the two is the interface: Rule Machine runs entirely on the hub, and all actions are created using the editor and similar UI elements that you'll see in other Hubitat apps (even though they've done good work with extending this to use things like the new table-based action editor). webCoRE's editor runs outside the hub, so they had complete control over the interface from the get-go (likely one of the reasons webCoRE was created over continued work on CoRE alone--that also ran entirely on the hub), and some people prefer it (but, again, RM has made improvements here too).

Neither Rule Machine or webCoRE are really writing "code," even though both display a summary of your selections in a sort of pseudo-code. Both are essentially point-and-click editors. When your rule or piston runs, the Rule Machine or webCoRE app just does whatever your rule or piston is configured to do, based on your selections. These are ultimately just regular Groovy apps on your hub, albeit complex ones with the ability to perform lots of arbitrary functions based on lots of different possible user inputs. Again, all ultimately runs in the same Groovy environment as any other Hubitat app — and this environment is exactly what both apps themselves were written in (albeit both originally for that other platform with a substantially similar environment).

Exactly how you get to the data may differ slightly, but all should let you access device attributes and run commands on devices in some way. You do, in general, still need a device on Hubitat to use with these apps, with what you can do depending on what the driver offers — same as any app on Hubitat. (But this is a slight generalization as Node-RED lets you integrate devices from other systems too, so it doesn't have to be a Hubitat device; webCoRE has some built-in device integrations, too, though I don't think that's the reason most people use webCoRE, and Hubitat has native support for some of these now too, like LIFX, that I'd probably recommend instead where possible.)

Ultimately, I'd say a lot of this is personal preference. I can tell you mine, which among these options is mostly Rule Machine, but really a good chunk of my automations are other built-in apps (I don't go straight to RM for everything, nor would I recommend that) or custom apps that I wrote for a specific purpose (this is an option if you feel like writing actual code; see: Developer Documentation | Hubitat Documentation). But your needs and preferences may vary!

8 Likes

Thanks @bertabcd1234 - that was very thorough and very helpful.

Great reply by @bertabcd1234.

To reinforce the personal preference thing: I came from Smartthings and used webCoRE over there. I use it for nearly everything, from very simple automations to very complex.

I tried Rule Machine briefly when I started with Hubitat, but bailed pretty quickly because webCoRE worked and I knew what I was doing with it. I know it's just experience, but I couldn't get it through my head that the logic was kinda backward.

I have never used NodeRed, but from what I understand, it's a lot like Stringify used to be. Stringify was very visual so you could follow the logic lines graphically, which I really liked when I first started in home automation. But once I got into webCoRE, I never looked back. I'm not a programmer, but the if/then/else logic flow just works in my brain.

3 Likes

Just adding my 2 cents' as a new user this year.

"Go with what you know" is the first maxim. I'd pick whatever is familiar and comfortable if possible.

Next is "go with what is easiest to implement." I'd give a slight advantage to RM for this, since it's all local.

My preference happens to be RM (over webCoRE) since I have been using RM. I love RM and find it's layout and structure to be very logical. Also, the developer of RM is with Hubitat and he answers questions posted on this site.

I also use the automation editor in Home Assistant and I'm starting to use Node-Red through HA. I think Node Red's flow-based programming is beautiful, and simple rules are not difficult. However, the learning curve can get steep once you go beyond a few basics. (Often you will need to do a little coding inside a node, for example). So, for me, I'm keeping RM as my primary Rules Engine, and HA + Node-Red for automations that run outside my HE.

Hope this helps. :smiley:

1 Like

Thanks for the various responses. Is there a "best choice" for doing calculations, transformations, conversions? ease of accessing math functions, for example? I'm guessing NR has a math node somewhere in the list but I haven't researched it yet.

Hi @hokfujow,

I can't answer the "best choice" part of your question. But regarding node-red: yes, you can define a function node to do a calculation.

For example, see: Complex math in a function node - Node-RED - OptoForums

Cheers, Doug

In Node-Red you can write totally custom function nodes using javascript. But then that comes with a learning curve of how to code it and send the data to the next node.

I find those very easy in webcore.

1 Like