FRStack integration with Stream Deck

Version 1.4

Support for Models

  1. Stream Deck
  2. Stream Deck+
  3. Stream Deck Pedal

Stream Deck integration

The sample Stream Deck profiles

  1. FRStack SD+.streamDeckProfile
  2. FRStack3 Pedal.streamDeckProfile
  3. FRStack3 Rest.streamDeckProfile

A Stream Deck button is configured to a Stream Deck Action. There are many actions available in the Stream Deck package, this document will only cover the MKCM Software stream deck plugin. You add the plug-in to Stream Deck by double clicking the file with the streamDeckProfile extension.

StreamDeck v1.4 integration provides 5 actions

Regardless of Stream Deck model type, buttons are supported. A button has two basic events press and release and two title states not 0 (on) or 0 (off). Not all actions use both events or states, for example a restcall action and level action uses the release event and has one title state. The toggle action uses the release event and has two title states and finally state action used both events and both title states.

Button Types

On the Stream Deck+ model a dial or encoder action has 4 events, press, long press, dial up and dial down.

Button Types

Global URLs

Every action allows you to select amongst the 4 globally shared URLs. Changing these global values affects all actions, regardless of type, which have selected the changing entry. If you want to add a new URL base, then select a blank slot. If you change FRStack's default port, then update the appropriate existing URL.

Button Types

RestCall Action

The original steam deck integration only offered RestCall action. Level action, toggle action, and State action came in later releases.

What does RestCall do? RestCall performs an HTTP GET targeting a URL selected by Global: selection plus GET URL: text. This URL is polled then the returned text value is combined with Prefix: text and Suffix: text is placed in the Title field, if the Title field is not set. If you set the Title field, then this returned value will be ignored. When the button is pressed and released the GET URL is additionally appended with the ClickParam: text and called one time, polling without it is resumed.

Button Types

Level Action

While RestCall can perform the same action as Level Action, Level Action is easier to use since you do not have to look up the URL, Action, and parameter values.

Select the desired Slice type then Level Action Value then Level Param Value. If your Slice type is Radio then Radio Action Value then Level Param Value

Level Param Values

Button Types

Slice selection

Button Types

Level Action Values

Button Types

Radio Action Values

Button Types

Toggle Action

While RestCall can perform the same action as Toggle Action, Toggle Action is easier to use since you do not have to look up the URL and Action that are possible.

Select the desired Slice type then Level Action Value. If your Slice type is Radio then Radio Action Value

Toggle also allows you to set two titles, one for values of 0 and not 0. If you do not desire this then make sure the Titles are linked (-) so only 1 title state is used. Normally you would want two titles so make sure Titles are unlinked ( ) then proceed to set the Title options via the Tv link which is to the right of the Title text box.

Button Types

State Action

State Actions sends one parameter for the button pressed event then another for the released event. This is useful for actions like MOX where you only want MOX when the button is held down. Select the desired Slice type then State Action Value. enter Down Action Value and Up Action Value. If you do not enter values, a param value of 1 will be used for Down Action and 0 for Up Action Value.

Once you select the Action you will need to consult the REST documentation for the possible values for this action's Down and Up. FRStackWebApi API listing and FRStack Help Rest API menu list these values.

Button Types

State Action Values

Button Types

Encoder (Dial) Action

The Stream Deck+ model supports a dial or encoder action which has 5 events.

Select the desired Slice type then Action Value then Param value. The dial up and down events use the Param value accordingly. The press and long press events are dependent upon the action selected.

Button Types

Encoder Step Values

Button Types

Encoder Radio Defaults

RFPOWER

AMCARRIER

TUNEPOWER

HEADPHONEGAIN

AUDIOGAIN

MICLEVEL

VOXDELAY

VOXLEVEL

PROCLEVEL

MONGAINTXCW

MONPANTXCW

MONGAINTXSB

MONPANTXSB

DEXPLEVEL

MIC

SLICE

CWDELAY

CWPITCH

CWXSPEED

CWXDELAY

TXFILTERLOW

TXFILTERHIGH

Encoder Slice Defaults

AGC

APF

ANF

NR

NB

WNB

AUDIOGAIN

AUDIOPAN

FILTER

FILTERLOW

FILTERHIGH

MODE

RFGAIN

STEP

FREQ, FREQ1, FREQ2, FREQ3, FREQ4, FREQ5

PAN

RIT

XIT

RXANT

TXANT

REST API

FRStackWebApi API listing

Author : Mark Hanson, W3II
Date   : July 23, 2023