Automating Hubitat with .NET Core

Hey ya'll! I've previously posted about my .NET Core framework for automating Hubitat, Puppet.

I thought you might like a demonstration! I presented Puppet at the .NET Conf virtual conference this year. Here's the YouTube link.

I look forward to your thoughts!

4 Likes

The hub is called Hubitat Elevation!

1 Like

other than this oops elevate thing. great presentation. :smile:

2 Likes

Thanks! that was a great video. We love to see what people can do with their hubs. Just a few things:

  1. What Cobra said :wink:
  2. No current or former employees of Hubitat have ever worked for SmartThings
  3. If you don't like Groovy or feel like it is too obscure, you can write apps and drivers in Java. Groovy just adds on top of Java and runs on the JVM so you can always ignore the features of Groovy and just write Java code.
7 Likes

With all due respect (because others seem mightily impressed) this looks like complexity for the sake of complexity. There is nothing in that video - in terms of end result - that I can't do with Hubitat itself, easily.

1 Like

I don't want to speak for @cam.soper but I think the intent is more of a proof of concept. This would allow someone who is proficient in .Net and who may already have their own custom automation system, to easily use HE to expand its functionality (zigbee/zwave especially). While I personally have no use for it, I can appreciate that many others, who would otherwise not be interested in learning groovy or using HE, might see the puppet app as a way to attach another piece to the complex home automation puzzle.

4 Likes

For sure. But this is one of the problem with home automation for me. Way too much geeky gibberish (in my opinion of course) for mainstream adoption. I'm so glad I found Hubitat and can largely achieve with it what some others think is so cool to develop from 1st principles, long hand. Good for them. Each to their own.

It's the same reason people use Node Red. The tooling built into Hubitat is minimal and doesn't provide a lot of things that professional developers, particularly those from the .NET world, would expect.

I work for Microsoft. I'm really really good at .NET, and, while I could do everything in native Hubitat that I've done in Puppet, unless I invest a ton of time I will never be as effective in Groovy as I am in C#, especially when you consider the superior tools available for C#. I'm not blaming Hubitat for the tools, either... They're not a developer tool company. The division I work in at Microsoft, however, is.

It also opens up my system to easy expansion with any NuGet packages. For example, I've baked Azure Application Insights into Puppet, so that every single event coming from the event socket is coded and sent to Azure as telemetry, as well as the runtime details of every automation I run.

It also bears mentioning that this framework was built with one user in mind: me. I hear you on how it complicates things for the less geeky among us. They weren't who I envisioned getting use out of this. :wink:

9 Likes

@cam.soper Thanks for sharing this video and the code. Always great to see this type of integration. I work with MS Windows tools almost exclusively at work, but at home I am more of a Hubitat/ST Groovy and Arduino C++ programmer. I am sure your work will be an inspiration to other .NET programmers.

5 Likes

5 Likes

Hey, that guy looks like me!

The one on the right, I mean...

2 Likes

I remember c# well from my winforms days.