[App][Pro] Elgato StreamDeck Integration

Elgato StreamDeck Integration

Turns your StreamDeck into a Homey control dashboard.
large
App Store: Elgato StreamDeck Integration
Frequently Asked Questions
Change Log

Supported Languages

:uk: English

Elgato StreamDeck meets Homey

Got an Elgato StreamDeck? Then let Homey meet StreamDeck! StreamDeck can now control anything your Homey can control.

How does this work?

The StreamDeck cannot be recognized as a device directly as it requires to be connected to a computer. This app provides the service layer only. To make it work, you also need to install the StreamDeck plugin. The plugin for the StreamDeck is available through the Plugin Store of the StreamDeck itself.

Supported Device Features

  • Toggle device on/off
  • Toggle a device’s switch
  • Press any button of a device
  • Display any data of a device (one per StreamDeck button)
  • Display a logik variable
  • Fire A Trigger
  • StreamDeck+ dials are also supported for any device with a numeric range setting

The Display Data Action In Detail

This action is implemented as a toggle on StreamDeck. However, pressing the button merily is ignored and the state is reset automatically on the next update cycle.
I chose to implement is a toggle so you can configure custom icons for boolean data.

Condition Setting

The condition setting enables you to implement different images for non boolean data.

Numeric Values

If you enter a numeric value the on state of the button will be set if the value is greater than what you entered in the condition.
Preceeding the condition with a ‘=’ character will change the check to match the exact value.

Enum and String Values

If you enter a text value the on state of the button will be set if the value contains the given text. This check is case sensitive.
Preceeding the condition with a ‘=’ character will change the check to match the exact text value.

Boolean Values

The condition is ignored for boolean values as those already provide the on/off info directly.

Automatic Line Break

The automatic line break setting is especially for text values. It will try to insert a line break at the closest whitespace character given by the setting’s value.

Flowcards

This app adds a “A Trigger was received from StreamDeck” trigger card.
You can set up a ‘Fire A Trigger’ button in StreamDeck and give it a trigger name.
With this trigger name you can now start flows using this trigger card. Just enter the name of the trigger into the card and done.
Optionally you can also enter a payload for the trigger. The payload can be text, a number or true/false. The payload will be available as tokens within the flow.

Setup

  1. Install this app.
  2. Install the StreamDeck plugin.
  3. Set up your access key in this app’s settings page.
    The access key can be as simple or complex as you see fit. It just may not be empty. However, of course it would be advisable to not use anything easy to guess. Anyone with your key and your Homey’s Cloud ID would possibly be able to gain control access to your devices.
  4. Add the Homey address and your access key from the Homey app’s settings page to your plugin’s action properties.
  5. Have fun with StreamDeck!

Some Examples to give you an idea

Media Center

image

Room Control

image

Home Observation

image

Sensor Data

image

Heating & Climate

image

Feedback & Questions

If you have any feedback or suggestions please feel free to message me directly or use the support email given for the app.

5 Likes

Frequently Asked Questions

Q: Do I always need to reenter my Homey connection details?
A: You really should not. The app tries to reuse the last connection details used if you create a new button. However, this does currently not work reliably for unknown reasons. You could copy an existing button though for convinience.

Q: Can I control other Elgato devices like keylights and so forth with this app?
A: No. At the moment this is not possible as plugins are running isolated from each other. In other words, this is not possible because there is no api for that.

Q: Can I run the StreamDeck without a powered PC?
A: No. This is by design of the device. All the logic is running in the app on your PC or Mac.

Q: Why can I not add toggle buttons for TBK/Devolo switch devices?
A: This seems to be a shortcoming of the manufacturer specific apps. See this post: [App][Pro] Elgato StreamDeck Integration - #264 by Daniel_Esland

Q: After restarting Homey the StreamDeck commands are working but the value displays are not updating?
A: This is a known issue. Sometimes the realtime service does not start up due to the high process load, during Homey start up. You can workaround that by automatically restarting the app, delayed by the Homey has started trigger card. Try to delay the restart of the app to a point when you can be sure that all your other apps have started and initialized. In other words, best practice is to start the app as last app, for the time being.

Q: I set up a button and it works fine, but every few seconds it flashes an warning symbol regardless?
A: This is most likely caused by a falsely cached Homey connection. The problem should vanish if you restart the StreamDeck app on your system. If this does not resolve this problem, please drop me a message.

Q: What is this realtime mode?
A: Realtime mode is available if you are connecting to Homey over your local network only. Means if you supply your Homey’s hostname it will activate automatically. (requires App v1.3+ & Plugin v1.6+) Any changes, your Homey registers, will be reflected on your StreamDeck instantly. Unfortunately realtime is not available if you are using the cloud address instead of the hostname only. Cloud connections will rely on the state polling logic.

Q: Which port does the realtime connection require?
A: You need to allow TCP traffic going from and to port 4693 of your Homey and the system your StreamDeck is connected to.

Q: Why does the confirmation icon flash up delayed some times?
A: This actually differs based on the operation mode. In realtime mode the confirmation icon flashes as soon as the command was successfully sent to Homey. In polling mode it flashes after Homey has confirmed the command. In the end it depends on your Homey’s CPU load and network performance.

Q: Can I use my own icons?
A: Yes. All features support the usual custom icon override.

Q: I added a value but the button is black with text only.
A: Naturally. I added plenty icons for Homey’s default capabillities. So anything custom will most likely not show an icon automatically. Feel free to set your favorite icon instead.

Q: The device list stays empty after adding an action in the StreamDeck / Homey does not longer respond to commands / StreamDeck shows triangles for Homey buttons
A1: Possible refresh issue: If this is the first item you add to the Streamdeck you might need to deselect the current button and reselect it, after entering the Homey Address and Key.
A2: Connection setup is faulty: This means that you have not set up the connection properly. Make sure your Homey hostname and the access key for the app on Homey are set up correctly.
A3: Homey is not reachable: Make sure your Homey is reachable from your system, to which your StreamDeck is connected. The communication could possibly be blocked by a VPN client or a VLAN configuration. This can also be caused if your Homey’s hostname cannot be resolved by your system.
A4: Firewall Settings: If you are using any desktop firewall software, make sure the StreamDeck application is allowed to make outgoing connections.
A5: MAC/PC not resolving the hostname: In some network setups, resolving the local hostnames does not work (for whatever reason this might happen to you). Please try the different name options or use Homey’s IPv4 address if everything else fails. See the app’s settings page for all possible options. (If your Homey has a fixed IP address on your network, using the IP should be totally fine)

Q: The hostname and key I entered are not saved. What’s wrong?
A: Check if the data is saved when you click into the Title/Name input field before deselecting the button. If this does not work then the plugin installation might be faulty. Try uninstalling the plugin and reinstall it from the Elgato Plugin Store.

Q: Can I use multiple Homeys?
A:: Yes. The Homey hostname and access key is cached so you do not need to enter it all the time when adding things. But they are stored per action. So you can address a different Homey for every action.

Q: Can I use Homey using the Homey Cloud instead of going locally by the hostname?
A: For performance reasons I would not recommend using the detour over the cloud, and I do not officially support this. However, starting with plugin version 1.3.0 you can now use the cloud address instead of the local hostname. Simply add “.connect.athom.com” to your Homey’s hostname.

Q: When a new version of the StreamDeck plugin is released, do I have to update it?
A:: No. StreamDeck automatically updates installed plugins once they got published by Elgato/Corsair.

Change Log

Homey App - v2.4.0

  • Added: New action flow card to push images to buttons on the StreamDeck (Requires StreamDeck plugin v1.12.0+)

StreamDeck Plugin - v1.12.0

  • Added: Support for window coverings.
  • Added: Support for interactive button images.

Homey App - v2.3.0

  • Changed: The app settings page now shows all possible hostnames which can be used to configure the connection on the StreamDeck. (Requires StreamDeck plugin v1.10.0+)

StreamDeck Plugin - v1.10.0

  • Added: Support for additional address formats for connecting to Homey, including IPv4.

Homey App - v2.2.1

  • Fixed: Trigger Button compatibility issue for Homey Pro 2023.

StreamDeck Plugin - v1.9.0

  • Added: Display Data now optionally can send a trigger to Homey on button press.
  • Added: Display Logic Variable now optionally can send a trigger to Homey on button press.
  • Updated: StreamDeck style definitions.

StreamDeck Plugin - v1.8.0

  • Breaking: The new version requires recent v6 StreamDeck app.
  • Fixed: Newly created logic variables display not saving initial configuration state.
  • Added: Support for customizable StreamDeck+ knob controls.

Homey App - v2.2.0

  • Update: Homey Pro 2023 compatibility update.
  • Added: Api endpoints for upcoming SD+ knob support.

StreamDeck Plugin - v1.6.1

  • Fixed: Hotfix for Fire Trigger Button not refreshing Homey hostname and access key correctly.

Homey App - v2.0.4

  • Fixed: Startup error issue if no Homey variables are defined.

Homey App - v2.0.3

  • Fixed: Multiple Trigger Buttons in same advanced flow not working.

Homey App - v2.0.2

  • Fixed: Trigger Button not working with advanced flows.

Homey App - v2.0.1

  • Fixed: Device selectors not being populated on initial setup
  • Updated: Trigger button card is now using a formatted title

Homey App - v2.0.0

  • Updated: Migrated Homey app to Homey App SDK v3

Homey App - v1.3.3

  • Fixed capability listners not cleaned up if a device is removed from Homey

Homey App - v1.3.2

  • Fixed a potential crash issue when the user has devices which are bound to manually disabled apps

Homey App - v1.3.1

  • Massively reduced the app footprint (RAM & CPU)
  • Greatly Improved API responsiveness
  • Super secret and nifty under the hood changes for future StreamDeck plugin updates

StreamDeck Plugin - v1.6.0

  • Added: Realtime Mode (LAN connections only)
    The realtime mode activates automatically when using the LAN connection.

Homey App - v1.2.2

  • Improved API Robustness

Homey App - v1.2.1

  • Updated: API update for new logic variables feature

StreamDeck Plugin - v1.5.0

  • Added: ‘Display Logic Variable’ element. Works the same as ‘Display Data’ but for logic variables.

StreamDeck Plugin - v1.4.0

  • Improved: Buttons waiting on data, right after showing up, now indicate that with a little symbol of a certain ancient time measuring device.
  • Improved: Build-in graphics now show as soon as possible for a better visual experience. Previously those showed up after the initial refresh was successful only.

Homey App - v1.1.0

  • Updated: API update for new plugin version

StreamDeck Plugin - v1.3.0

  • Added: The configuratior now shows an error message if the communication with Homey cannot be established, including the reason if detectable.
  • Added: Support for cloud access has been added.

Homey App - v1.0.6

  • Improved API Robustness

Homey App - v1.0.3

  • Updated: athom-api to v3.2.3

StreamDeck Plugin - v1.2.1

  • Added: Antidote for twichy toggles → The button status should now be less bouncy when toggling a boolean value.

Homey App - v1.0.2

  • Maintenance only. No functional changes.

StreamDeck Plugin - v1.2.0

  • Fixed: Issue where percentage values are not showing correctly.
  • Added: The default mute capability toggle now shows the volume level if available.

Homey App - v1.0.1

  • Initial Release

StreamDeck Plugin - v1.1.3

  • Initial Release

Am happy to announce the release of this app. Please keep in mind you need to install the app and the plugin from the Elgato StreamDeck plugin store.

Enjoy

Cool!
How do one find the Homey access key? And is the Homey adress the ip-adress.

@Nicolai_E The Homey address is shown (IP works too) in the Homey App’s Settings.
There you can also set the access key to your liking.

Awesome work. Exactly what I was looking for. Till now I used webhooks to trigger Flows who will switch my devices on/off but this App is far superior to my solution.
I would be happy to support you with a small PayPal donation if you want.

Do you also have any plans for new function etc.?

@rvst1 Thanks a lot. Glad you like it. PayPal link is on the App Store page in this info section if you want to buy me a beer :smiley:

At the moment I only have few rough ideas for possible improvements. Are you missing anything in specific, what you would like it be able to do?

Hi,

Thank you for plugin, I’ll buy you a beer!

I have a problem, in StreamDeck it does not find devices. I have however followed the instructions you indicated for the configuration of the plugin.

I am disgusted … :sleepy:

thanks in advance

Capture d’écran 2020-04-09 à 21.03.51

Hey there,
sorry to hear you are having troubles. This might just be a refresh issue.
Make sure you entered the the exact name you see for Homey in the Homey app’s settings page. Compare it with what you entered for the Homey Address in the plugin.
Also recheck the key you entered. 1) Check if it was saved to the Homey app settings by opening the settings there again 2) Double check if it is matching with the plugin.

If all that is fine then you most likely have a refresh issue. Add any Homey item in the Streamdeck, enter the Homey Address and Key. Then select an empty button slot and reselect the one you just created. The device list should be forced to refresh.

Let me now if that helps.

Good game ! It was a refresh problem.

Thank you very much for the quality of your plugin.

If you need to test, I’m QA Engineer.

Cheers, man!

1 Like

Glad it was that simple an issue. Hope you will enjoy it lots.
And thanks for the offer. I’ll keep it in mind.

hi @Shakesbeard,

How are updates deployed on StreamDeck?

Do I have to do a particular action or is it automatic?

Thank you

The StreamDeck automatically updates the plugins when a new version is published. So you should not need to do anything.

1 Like

This is AWESOME. I just got in my Stream Deck and then find out it <3 Homey. Thx Thomas! @Shakesbeard

I have come a long way with the setup. If I press a button on streamdeck it give a green checkmark, so that seems to work.

I have a Homey flow that states
when: " a trigger was received" , respond with (whatever).
And: is is exactly payload “music”
Then: Say: Play music.

But for some reason the flow is not activated on a button press. What do I do wrong?

And for the new user example screenshots of the Streamdeck settings screen and an example Homey flow might help!

@MarkL Thanks :smiley: always glad to hear nice feedback.
Can you PM me your flow and a screenshot of your SD trigger button settings? It should actually work without issue. However, the trigger name and the payload are case sensitive. Also make sure you use the right payload token for comparison. The payload sent automatically gets cast to 3 different types of tokens (text, number & boolean)

PS: I’ll think about some howto ^^

Stream Deck settings

Homey Settings

Flow
When


And

Then

Maybe something like this (and this is my current setup haah) @Shakesbeard

I can toggle switches by the way so the address and accesskey seem to be correct.

And just to make sure I tested it inverted as well (so if it’s not exacly which basicly would always be true if the text don’t match).

Oh. I see the mistake in your setup. On the Trigger card, the “Respond to Trigger Name” has to be the name of the “Trigger Name” you entered in the StreamDeck. Your current trigger card responds to “Trigger Name” Zzzz, not sleep :smiley:

Yes, that was it. I the name of the “respond to trigger name” in the flow has to be the same to the Trigger Name in Stream Deck and then you don’t even need the “And” part. Nice!

1 Like