Use the EliteG19s VoiceAttack plugin to trigger any IRemoteControl action through spoken commands. This guide covers installation, supported command contexts, and the VoiceAttack variables that the plugin populates.
%LocalAppData%\Programs\EliteG19s\VoiceAttack.Apps subfolder into VoiceAttack's global apps folder (default C:\Program Files (x86)\VoiceAttack\Apps).EliteG19s-Profile.vap if you want ready-made commands, or inspect it to see how the contexts are wired.command|argument|more arguments.|) character as a separator.EliteG19s-Profile.vap for examples, and review VAProfile.html (generated alongside the app) for a printable cheat sheet.On plugin startup VoiceAttack automatically runs
what's playingandstatusto prime the most commonly used variables. Make sure the EliteG19s app is already running or these calls will log a warning instead.
Every row below is triggered by setting the plugin context to the string in the Command Context column. Unless noted, commands complete silently and VoiceAttack receives no direct response. Parameter ranges mirror the webhook service.
| Command Context | Parameters | Effect |
| --------------- | ---------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| volume | <delta> | <delta> integer -100..100 | Adjusts master volume by delta/100. Values outside the range clamp to mute/100%. |
| mute | None | Toggles the global mute state and keeps space-traffic chatter in sync. |
| Command Context | Parameters | Effect |
| --------------- | ----------- | ---------------------------- | ----------------------------------------------------------------------------------------------- |
| radio | <station> | <station> string | Plays the named radio preset defined in options.json (RadioStations). Case-insensitive. |
| spotify | <playlist> | <playlist> string | Starts the configured Spotify playlist preset (Premium account required). |
| podcast | <podcast> | <podcast> string | Streams the most recent episode of the configured podcast preset. |
| youtube | <preset> | <preset> string | Opens the YouTube/Twitch web screen using the named preset from the options file. |
| play folder | <path> | <path> absolute folder | Recursively queues supported media from disk and resumes the last play position when available. |
| play playlist | <path> | <path> to .m3u/.m3u8 | Loads an M3U playlist and begins playback. |
| stream url | <url> | <url> absolute HTTP(S) URI | Streams audio from the provided URL. |
| Command Context | Parameters | Effect |
|---|---|---|
stop music |
None | Releases the active audio provider. |
pause music |
None | Pauses or resumes the current track. |
next track |
None | Skips forward in the queue. |
previous track |
None | Skips backward in the queue. |
skip forward |
None | Jumps ahead ~30 seconds when supported. |
skip back |
None | Jumps back ~30 seconds when supported. |
shuffle music |
None | Toggles shuffle mode. |
| Command Context | Parameters | Effect |
| -------------------------- | ---------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| screen | <name> | <name> string | Switches every display to the named screen. Accepts the screen identifiers listed in section 5. |
| visualization | <name> | <name> string | Activates an audio visualization. Valid names: Cassette, Orrery, Equalizer, Full Screen Cover Art, Full Screen Equalizer, Starfield, Waveform, Spectrogram. |
| button | <button> | <button> one of up, down, left, right, menu, ok, cancel | Simulates the corresponding Logitech G19 button press. |
| select interactive option | <option> | <option> string | Chooses an option on interactive overlays and question prompts. |
| Command Context | Parameters | Effect |
| --------------- | ---------- | ------------------------------------------------------- | ---------------------------------------------- |
| traffic | <state> | <state> string (on enables, anything else disables) | Turns space-traffic control chatter on or off. |
| traffic volume | <delta> | <delta> integer -100..100 | Adjusts traffic-control volume by delta/100. |
| npc volume | <delta> | <delta> integer -100..100 | Adjusts NPC speech volume by delta/100. |
| Command Context | Parameters | Effect |
| --------------- | ---------- | --------------------------------------------------- | ----------------------------------------------------------- |
| show message | <text> | <text> string | Displays a toast message on the EliteG19s screen. |
| speak | <text> | <text> string | Plays the Ship AI voice line using cached speech synthesis. |
| unrecognized | None | Speaks the ShipAI_UnrecognizedCommand TTS prompt. |
| Command Context | Parameters | Effect |
|---|---|---|
mark position |
None | Stores the current location in the GPS manager. |
next waypoint |
None | Advances to the next GPS waypoint. |
find commodity |
Uses VoiceAttack vars ~commodity (text) and ~isBuying (bool) |
Runs the Inara commodity lookup and announces the best result. Defaults to buying when ~isBuying is unset. |
read shoppinglist |
None | Reads the shopping list contents aloud. |
clear shoppinglist |
None | Empties the shopping list. |
update shopping list |
Uses VoiceAttack vars ~commodity (text) and ~amountText (text) |
Adds or updates a shopping-list entry. When ~amountText parses to <= 0, the entry is removed. |
| Command Context | Parameters | Effect |
|---|---|---|
what's playing |
None | Updates the EliteG19s_Current_* text variables with live metadata. |
status |
None | Updates all EliteG19s_* status variables with commander, ship, and situational data. |
The plugin exposes structured data by writing to VoiceAttack variables.
what's playing)| Variable | Type | Description |
|---|---|---|
EliteG19s_Current_Station |
Text | Current radio station or source. |
EliteG19s_Current_Artist |
Text | Artist for the active track (if known). |
EliteG19s_Current_Album |
Text | Album title for the active track (if known). |
EliteG19s_Current_Title |
Text | Track title. |
status)| Variable | Type | Description |
|---|---|---|
EliteG19s_CommanderName |
Text | Commander name. |
EliteG19s_Credits |
Decimal | Current credit balance. |
EliteG19s_CombatRank |
Text | Combat rank. |
EliteG19s_CQCRank |
Text | Close Quarters Combat rank. |
EliteG19s_ExplorationRank |
Text | Exploration rank. |
EliteG19s_TradeRank |
Text | Trade rank. |
EliteG19s_FederationRank |
Text | Federation rank. |
EliteG19s_EmpireRank |
Text | Empire rank. |
EliteG19s_GameMode |
Text | Current game mode (Open / Private / Solo). |
EliteG19s_IsGameInBeta |
Boolean | Indicates participation in a beta build. |
EliteG19s_Ship |
Text | Ship model. |
EliteG19s_ShipName |
Text | Ship name. |
EliteG19s_ShipId |
Text | Ship identifier. |
EliteG19s_CurrentSystem |
Text | Present star system. |
EliteG19s_ClosestStation |
Text | Closest station (if known). |
EliteG19s_ClosestBody |
Text | Closest body or planet (if known). |
EliteG19s_AssignedLandingPad |
Integer | Landing pad assigned during docking. |
EliteG19s_IsCockpitBreached |
Boolean | Cockpit breach state. |
EliteG19s_IsInCrew |
Boolean | Multicrew participation. |
EliteG19s_IsInWitchspace |
Boolean | Currently in Witchspace. |
EliteG19s_CurrentLongitude |
Decimal | Planetary longitude (999 when unknown). |
EliteG19s_CurrentLatitude |
Decimal | Planetary latitude (999 when unknown). |
EliteG19s_CurrentAltitude |
Decimal | Altitude above surface (-1 when unknown). |
EliteG19s_CurrentHeading |
Decimal | Current heading. |
EliteG19s_Firegroup |
Integer | Active firegroup index. |
EliteG19s_GuiFocus |
Text | Cockpit UI focus element. |
EliteG19s_PipsSystem |
Integer | Pips allocated to systems (0-8, halves counted). |
EliteG19s_PipsEngine |
Integer | Pips allocated to engines. |
EliteG19s_PipsWeapons |
Integer | Pips allocated to weapons. |
EliteG19s_IsDocked |
Boolean | Currently docked. |
EliteG19s_IsLanded |
Boolean | Landed on a surface. |
EliteG19s_IsLandingGearDown |
Boolean | Landing gear deployed. |
EliteG19s_IsShieldsUp |
Boolean | Shield state. |
EliteG19s_IsInSuperCruise |
Boolean | In supercruise. |
EliteG19s_IsFlightAssistOff |
Boolean | Flight assist disabled. |
EliteG19s_IsHardpointsDeployed |
Boolean | Hardpoints deployed. |
EliteG19s_IsInWing |
Boolean | Wing membership. |
EliteG19s_IsLightsOn |
Boolean | External lights on. |
EliteG19s_IsCargoScoopDeployed |
Boolean | Cargo scoop deployed. |
EliteG19s_IsSilentRunning |
Boolean | Silent running active. |
EliteG19s_IsScoopingFuel |
Boolean | Fuel scooping in progress. |
EliteG19s_IsSrvHandbrake |
Boolean | SRV handbrake engaged. |
EliteG19s_IsSrvTurret |
Boolean | SRV turret deployed. |
EliteG19s_IsSrvUnderShip |
Boolean | SRV positioned under ship. |
EliteG19s_IsSrvDriveAssist |
Boolean | SRV drive assist active. |
EliteG19s_IsFsdMassLocked |
Boolean | FSD mass-locked. |
EliteG19s_IsFsdCharging |
Boolean | FSD charging. |
EliteG19s_IsFsdCooldown |
Boolean | FSD cooling down. |
EliteG19s_IsLowFuel |
Boolean | Fuel below 25%. |
EliteG19s_IsOverHeating |
Boolean | Heat above 100%. |
EliteG19s_HasLatLong |
Boolean | Latitude/longitude data available. |
EliteG19s_IsInDanger |
Boolean | In danger (warning indicator). |
EliteG19s_IsBeingInterdicted |
Boolean | Being interdicted. |
EliteG19s_IsInMainShip |
Boolean | Currently in main ship. |
EliteG19s_IsInFighter |
Boolean | Currently in fighter. |
EliteG19s_IsInSrv |
Boolean | Currently in SRV. |
Use these identifiers with the screen|<name> command (case-insensitive):
MenuAboutAudioVisualizationOptionsRadioSpotifyStatusOrreryNewsWhatsNewYoutubeTwitchCameraGPS|, replace it with a different separator or script variable because the plugin splits on that character.find commodity, update shopping list), populate the variables in VoiceAttack before invoking the plugin action.