[RELEASE] Elgato Stream Deck Integration

I am working on Elgato Stream Deck (Stream Deck | elgato.com) integration. Uses the Maker API and Events Websocket


Hello, I downloaded the plugin and stored in a folder with my other streamdeck files. However, it is not getting loaded into my streamdeck application. I even opened the plugin file using the streamdeck app and still don't see it.

Did I miss something?

Hey @alexcapone.

I found the same ripnet GitHub repo as you did and the directions were a bit lacking. I created an issue in his repo with some updated instructions. I then forked that repo to my own and updated instructions to make the setup clearer. Here's my fork of ripnet's GH repo.

While that worked, the Toggle Switch function by itself doesn't seem to allow me to add the Maker API URL to the desired switch. Bummer.

So, I finally looked at a few other posts here in the community and created my own multistep on and off buttons to do what I wanted.

Not sure if I need to take these and then add the buttons to the functions in ripnet's custom plugin, but given that I created a direct function using the System > Website button, I'm not sure I need it anymore.

Thanks Shawn. I used the System-> website function as well. I posted in your thread on it and it works fine. It would have been nice to have a dedicated Hubitat plugin but given the website function works it might be unnecessary.

@shawn2 @alexcapone Am I missing something? The Maker API URL can be added right in the options:


Happy to make changes to the plugin if needed.


I went through every option in the Stream Deck app's main configuration window, preferences and any other place I know to look and I just didn't find the Options screenshot you've provided.

Right clicking on the Plug-In on the right side of the Stream Deck window didn't produce a context window, and there wasn't an Options in the Store.

I even searched the web to try and find the answer or anything matching the readme in the GitHub repo and struck out.

Color me stupid. :joy:

I get that the Stream Deck app and how to navigate it is outside the plugin functionality, but i do think providing the steps needed to get to the plugin options (with or without screenshots) would have been really helpful.

In the end, it was easier for me to go the manual route that I shared. It also had the benefit of giving me a great learning experience to boot.

I bet you are going to show me how easy it is to find it and I'm going to :man_facepalming:t3:!


ripnet went through the effort of creating the SD plugin.

I would have used it if I could have figured out how to get to the options area to enter my Hubitat's API entry point.

I just replied to his response admitting my stupidity. Maybe he will take pity on me and show me how I missed it. :joy:

Add a button to your Stream Deck and click on it in the app to configure it:

All of the Hubitat buttons will share the "Global" section of the config, and you can set the individual button parameter in the lower portion:

FWIW, I'm running Stream Deck 5.0.0 (14247) on MacOS Mojave (10.14.6).

This is the part of the github instructions where I am getting stuck:

Download the latest release from the Releases page.

You should see the new category in the Stream Deck App

I think between the two steps above the plugin should be loaded into the Stream Deck app right? I am unsure on how I should be doing that because simply double clicking the plugin opens an instance of Stream Deck but when I search for "Hubitat" I am unable to find the plugin.

I'm on Windows 10.

Edit: So I've uninstalled streamdeck and re-installed just to start fresh. I've dropped the streamdeck file into the appdata folder:

Since, I did a fresh installation it's asking me what app I want to use to open the file:

I pick Stream Deck and the app opens. That's when I expect to search for hubitat and find the action but I don't see anything:

Any help would be greatly appreciated.

@ripnet ... am I correct in the Stream Deck has to be connected to a computer or can it function standalone?

I am not sure on this. What version of StreamDeck are you running? I'll install it on a Windows VM and see if I can replicate this.

This is what you should see:


Correct, the Stream Deck must be connected to a computer.

I am not sure what I did but I was on the phone with elgato support and we tried a few things that worked.

I was running 5.1 and the plugin wasn't loading. Then I downgraded to 5.0 and re-downloaded a fresh copy of the plugin. When double clicking it gave me the dialog window to load the plugin to Stream Deck. I then upgraded back to 5.1. Everything seems to be working smoothly now. Thank you for this great plugin!

FYI, the support specialist mentioned that starting with 5.0 there are compatibility issues with external plugins that were designed for earlier versions before 5.0. In my case the compatibility issue was with 5.1.

Is it possible to get the plugin added to the Stream Deck store? That would solve the problem for anyone who downloads it in the future.

It was so obvious, I missed it.

I'm an idiot. :joy: :man_facepalming:t3: Likeable, laughable, but still an idiot.

Thanks @ripnet for helping me out.


@ripnet been using this for a few months. Works perfectly thank you.

Total nice-to-have but any chance there’s an easy way to support custom icons for the on/off state by chance?

I was hoping to make a few active/inactive icons for different devices I control (like a light, fan, TV, etc.). I wanted to see if that would help me differentiate multiple devices a bit better from a glance.

A great idea. I'll add it to my list.

1 Like

Working for me but should it reflect the current state even if something else toggles the switch? Seems it always gets out of sync so guessing not.

It should, at least mine does. Maybe your hubitat's eventsocket isn't working?

You can try to run websocat ws://<your habitat IP>/eventsocket and watch for events. Here's mine when I turn on a light:

~ websocat ws://
{ "source":"DEVICE","name":"switch","displayName" : "Office Light", "value" : "on", "type" : "physical", "unit":"null","deviceId":400,"hubId":0,"installedAppId":0,"descriptionText" : "null"}

This is what this plugin uses to keep things in sync between refreshes.

Working now after restarting stream deck. Might also have been keyboard maestro's integration which I had setup (and forgotten).

PS: Thank you for doing this. I was doing it "manually" and it's a real PIA. You've saved me much time and is so much nicer. Thanks!

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.