bitfocus / companion

Bitfocus Companion enables the reasonably priced Elgato Stream Deck and other controllers to be a professional shotbox surface for an increasing amount of different presentation switchers, video playback software and broadcast equipment.
http://bitfocus.io/companion
Other
1.6k stars 503 forks source link

New Action: Manual Trigger Event #3085

Open mikecreates86 opened 2 weeks ago

mikecreates86 commented 2 weeks ago

Is this a feature relevant to companion itself, and not a module?

Is there an existing issue for this?

Describe the feature

Make a new action that could manually fire trigger actions. In other words, make it possible to create a button that can manually fire trigger events. As of now, I'm having to make a button with all of the actions and then have the trigger press and release this button. But what is lost in this method is being able to quickly see what the trigger is doing. If the trigger could be the actual source of all the actions and a button press or release or something could be the event, that would be cleaner for my use cases.

Usecases

Make a trigger than turns everything on and does so at a set time every week. Make a button that if someone needed to turn things on manually, they could press and it fire the same actions.

istnv commented 2 weeks ago

I do something like this with a variable like 'SysON'. Either a timed trigger or a button sets 'SysON' to 1 Your 'Turn system on action' trigger watches this variable. Set 'SysON' to 0 for another trigger that turns everything off. This lets me put a button on any page. Your button feedback can also show green if on or red if off.

mikecreates86 commented 2 weeks ago

This is an excellent idea of how to do this. Definitely going to implement.

nqeldridge commented 3 days ago

It seems like we could use some sort of callable action groups. In my home automation software they are called scripts/blueprints. The idea is a set of actions that can be called by any button or trigger. An advanced implementation could even allow variables to be passed into the group at runtime for tweaking things such as delay times, video source numbers, etc.

Julusian commented 3 days ago

It seems like we could use some sort of callable action groups. In my home automation software they are called scripts/blueprints. The idea is a set of actions that can be called by any button or trigger. An advanced implementation could even allow variables to be passed into the group at runtime for tweaking things such as delay times, video source numbers, etc.

This is exactly what I have been thinking (also inspired by home assistant).
There is already a concept of 'local variables' forming which is a perfect fit for these 'inputs', the challenge is that support for them is lacking everywhere and needs to be improved before this is viable.

dnmeid commented 2 days ago

According to the scripts/blueprints I once again want to mention #2387. There I propose the same thing. Today we have action-sets and they are used in button steps or triggers, but there is a 1:1 relationship. My proposal is to make the spes a unique thing and just reference them in a button step or trigger or whatever may come in future. That way many different buttons can use the same logic and it would even be at the same state/step. For ease of use I propose to have inline editing, that means you can edit the actions of the referenced steps directly from the button editor.