FRStack integration with Stream Deck
Version 1.4
Support for Models
- Stream Deck
- Stream Deck+
- Stream Deck Pedal
Stream Deck integration
The sample Stream Deck profiles
- FRStack SD+.streamDeckProfile
- FRStack3 Pedal.streamDeckProfile
- 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.
On the Stream Deck+ model a dial or encoder action has 4 events, press, long press, dial up and dial down.
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.
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.
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
Slice selection
Level Action Values
Radio Action Values
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.
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.
State Action Values
Encoder (Dial) Action
The Stream Deck+ model supports a dial or encoder action which has 5 events.
- press (on touch of display)
- long press (on touch of display)
- dial click (note encoder stack uses this to switch between encoders)
- dial up
- dial down
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.
Encoder Step Values
Encoder Radio Defaults
RFPOWER
- Polling Action is MOX state and RF Power level
- Touch Action MOX Toggle
- Long Touch Action is set RF Power to 100
- Dial Up is + Param value
- Dial Down is - Param value
AMCARRIER
- Polling Action is AMCARRIER level
- Long Touch Action is set AMCARRIER to 100
- Dial Up is + Param value
- Dial Down is - Param value
TUNEPOWER
- Polling Action is TUNEPOWER level
- Long Touch Action is set TUNEPOWER to 10
- Dial Up is + Param value
- Dial Down is - Param value
HEADPHONEGAIN
- Polling Action is HEADPHONEMUTE state and HEADPHONEGAIN level
- Touch Action HEADPHONEGAIN Toggle
- Long Touch Action is set HEADPHONEGAIN to 100
- Dial Up is + Param value
- Dial Down is - Param value
AUDIOGAIN
- Polling Action is MUTE state and AUDIOGAIN level
- Touch Action MUTE Toggle
- Long Touch Action is set AUDIOGAIN to 100
- Dial Up is + Param value
- Dial Down is - Param value
MICLEVEL
- Polling Action is MICLEVEL level
- Long Touch Action is set MICLEVEL to 50
- Dial Up is + Param value
- Dial Down is - Param value
VOXDELAY
- Polling Action is VOX state and VOXDELAY level
- Touch Action VOX Toggle
- Dial Up is + Param value
- Dial Down is - Param value
VOXLEVEL
- Polling Action is VOX state and VOXLEVEL level
- Touch Action VOX Toggle
- Dial Up is + Param value
- Dial Down is - Param value
PROCLEVEL
- Polling Action is PROC state and PROCLEVEL level
- Touch Action PROC Toggle
- Dial Up is + Param value
- Dial Down is - Param value
MONGAINTXCW
- Polling Action is MON state and MONGAINTXCW level
- Touch Action MON Toggle
- Dial Up is + Param value
- Dial Down is - Param value
MONPANTXCW
- Polling Action is MON state and MONPANTXCW level
- Touch Action MON Toggle
- Dial Up is + Param value
- Dial Down is - Param value
MONGAINTXSB
- Polling Action is MON state and MONGAINTXSB level
- Touch Action MON Toggle
- Dial Up is + Param value
- Dial Down is - Param value
MONPANTXSB
- Polling Action is MON state and MONPANTXSB level
- Touch Action MON Toggle
- Dial Up is + Param value
- Dial Down is - Param value
DEXPLEVEL
- Polling Action is DEXP state and DEXPLEVEL level
- Touch Action DEXP Toggle
- Dial Up is + Param value
- Dial Down is - Param value
MIC
- Polling Action is MIC level
- Dial Up is Param UP
- Dial Down is Param DOWN
SLICE
- Polling Action is SLICE name
- Dial Up is Param UP
- Dial Down is Param DOWN
CWDELAY
- Polling Action is CWDELAY value
- Dial Up is + Param value
- Dial Down is - Param value
CWPITCH
- Polling Action is CWPITCH value
- Dial Up is + Param value
- Dial Down is - Param value
CWXSPEED
- Polling Action is CWXSPEED value
- Dial Up is + Param value
- Dial Down is - Param value
CWXDELAY
- Polling Action is CWXDELAY value
- Dial Up is + Param value
- Dial Down is - Param value
TXFILTERLOW
- Polling Action is TXFILTERLOW value
- Dial Up is + Param value
- Dial Down is - Param value
TXFILTERHIGH
- Polling Action is TXFILTERHIGH value
- Dial Up is + Param value
- Dial Down is - Param value
Encoder Slice Defaults
AGC
- Polling Action is AGCMODE state and AGCLEVEL value
- Touch Action AGCMODE UP
- Dial Up is AGCLEVEL + Param value
- Dial Down is AGCLEVEL - Param value
APF
- Polling Action is APF state and APFLEVEL value
- Touch Action APF Toggle
- Dial Up is APFLEVEL + Param value
- Dial Down is APFLEVEL - Param value
ANF
- Polling Action is ANF state and ANFLEVEL value
- Touch Action ANF Toggle
- Dial Up is ANFLEVEL + Param value
- Dial Down is ANFLEVEL - Param value
NR
- Polling Action is NR state and NRLEVEL value
- Touch Action NR Toggle
- Dial Up is NRLEVEL + Param value
- Dial Down is NRLEVEL - Param value
NB
- Polling Action is NB state and NBLEVEL value
- Touch Action NB Toggle
- Dial Up is NBLEVEL + Param value
- Dial Down is NBLEVEL - Param value
WNB
- Polling Action is WNB state and WNBLEVEL value
- Touch Action WNB Toggle
- Dial Up is WNBLEVEL + Param value
- Dial Down is WNBLEVEL - Param value
AUDIOGAIN
- Polling Action is MUTE state and AUDIOGAIN level
- Touch Action MUTE Toggle
- Long Touch Action is set AUDIOGAIN to 100
- Dial Up is + Param value
- Dial Down is - Param value
AUDIOPAN
- Polling Action is AUDIOPAN level
- Long Touch Action is set AUDIOPAN to 50
- Dial Up is + Param value
- Dial Down is - Param value
FILTER
- Polling Action is FILTER level
- Touch Action is + Param value
- Long Touch Action is - Param value
- Dial Up is + Param value
- Dial Down is - Param value
FILTERLOW
- Polling Action is FILTERLOW level
- Touch Action is + Param value
- Long Touch Action is - Param value
- Dial Up is + Param value
- Dial Down is - Param value
FILTERHIGH
- Polling Action is FILTERHIGH level
- Touch Action is + Param value
- Long Touch Action is - Param value
- Dial Up is + Param value
- Dial Down is - Param value
MODE
- Polling Action is MODE level
- Touch Action is + Param value
- Long Touch Action is - Param value
- Dial Up is + Param value
- Dial Down is - Param value
RFGAIN
- Polling Action is RFGAIN level
- Touch Action is + Param value
- Long Touch Action is - Param value
- Dial Up is + Param value
- Dial Down is - Param value
STEP
- Polling Action is STEP level
- Touch Action is + Param value
- Long Touch Action is - Param value
- Dial Up is + Param value
- Dial Down is - Param value
FREQ, FREQ1, FREQ2, FREQ3, FREQ4, FREQ5
- Polling Action is FREQ level to 1 to 5
- Touch Action is Param UP
- Long Touch Action is Param DOWN
- Dial Up is Param UP
- Dial Down is Param DOWN
PAN
- Polling Action is PAN level
- Touch Action is Param CENTER
- Long Touch Action is Param SEGMENT
- Dial Up is Param UP
- Dial Down is Param DOWN
RIT
- Polling Action is RIT Freq
- Touch Action is RIT Toggle
- Long Touch Action is RIT Freq set to 0
- Dial Up is RITFREQ + Param value
- Dial Down is RITFREQ - Param value
XIT
- Polling Action is XIT Freq
- Touch Action is XIT Toggle
- Long Touch Action is XIT Freq set to 0
- Dial Up is XITFREQ + Param value
- Dial Down is XITFREQ - Param value
RXANT
- Polling Action is RXANT value
- Touch Action is Param NEXT
- Long Touch Action is Param PREV
- Dial Up is Param NEXT
- Dial Down is Param PREV
TXANT
- Polling Action is TXANT value
- Touch Action is Param NEXT
- Long Touch Action is Param PREV
- Dial Up is Param NEXT
- Dial Down is Param PREV
REST API
FRStackWebApi API listing
Author : Mark Hanson, W3II
Date : July 23, 2023