TMRemote | Automation & Triggers | HALRAD Research

Automation & Action Triggers

TMRemote's Action Triggers transform your desktop and A/V environment from manual control to automatic, event-driven orchestration. Define what happens when specific events occur - whether reconfiguring displays, routing matrices, controlling speakers, or commanding LED controllers - and TMRemote handles the rest.

How It Works

Trigger (event) + Action (response) = Automation

When a trigger event occurs (like a process starting or a monitor connecting), TMRemote executes one or more actions (like loading a monitor profile, routing your matrix, or controlling plugin-based devices). Chain multiple actions together for complex, multi-device workflows.

Trigger Types

TMRemote monitors 12 different event types. Configure triggers to react to any combination.

Process Started

Fires when a specific application launches. Perfect for game-specific display configurations.

Example: Steam.exe starts โ†’ Load "Gaming" profile

Process Ended

Fires when an application closes. Restore your default configuration automatically.

Example: Steam.exe ends โ†’ Load "Work" profile

Monitor Connected

Fires when a display is plugged in or detected. Configure new displays automatically.

Example: External monitor connected โ†’ Extend desktop

Monitor Disconnected

Fires when a display is unplugged. Reconfigure remaining displays gracefully.

Example: Laptop undocked โ†’ Switch to internal display only

System Wake

Fires when the system wakes from sleep or hibernation. Restore display state.

Example: Wake from sleep โ†’ Reload current profile

System Sleep

Fires before the system enters sleep. Save state or prepare displays.

Example: Going to sleep โ†’ Save window positions

Desktop Locked

Fires when you lock your workstation (Win+L). Secure-mode display config.

Example: Lock screen โ†’ Fade monitors to 50%

Desktop Unlocked

Fires when you unlock your workstation. Restore full brightness.

Example: Unlock โ†’ Restore normal gamma

App Startup

Fires when TMRemote starts. Initialize your preferred configuration.

Example: TMRemote starts โ†’ Load default scenario

System Idle

Fires after specified idle time (no mouse/keyboard activity). Power-saving mode.

Example: 30 minutes idle โ†’ Turn off secondary monitors

Time of Day

Fires at a specific time. Schedule configuration changes.

Example: 6:00 PM โ†’ Switch to evening mode

Timer Interval

Fires at regular intervals. Periodic maintenance or checks.

Example: Every 60 minutes โ†’ Refresh matrix status

Action Types

When a trigger fires, execute one or more of these 11 action types.

Load Monitor Profile

Apply a saved display configuration. Resolution, refresh rate, position, primary monitor, and topology.

Set Display Mode

Quick switch display modes: Extend, Duplicate, Internal Only, External Only.

Set Display Topology

Configure specific display arrangements without loading a full profile.

Set Audio Device

Switch the default audio output device. Match audio to your display configuration.

Matrix Route

Route HDMI matrix inputs to outputs. Control the OREI BK-808 or compatible matrix.

CEC Command

Send HDMI-CEC commands to connected devices. Power on/off TVs, volume control.

Wake Device

Send Wake-on-LAN packets to wake networked devices.

Run Program

Execute any program or script. Extend automation beyond display management.

Run Scenario

Execute a saved scenario (profile + matrix + audio combined).

Launch RDP

Start a Remote Desktop session with saved connection settings.

Quick RDP

Launch RDP to a specific host, targeting a specific monitor.

Example Configurations

Gaming Setup

Trigger: Process Started - Steam.exe

Actions:

  1. Load Monitor Profile: "Gaming" (TV as primary @ 4K120Hz, other monitors disabled)
  2. Matrix Route: Input 2 โ†’ Output 1 (PC to TV)
  3. Set Audio Device: "HDMI Audio"
  4. CEC Command: TV Power On

Reverse (Process Ended):

  1. Load Monitor Profile: "Work" (triple monitor setup)
  2. Set Audio Device: "Desktop Speakers"

Docking Station

Trigger: Monitor Connected - "DELL U2720Q"

Actions:

  1. Load Monitor Profile: "Docked" (external as primary + laptop extended)
  2. Run Program: AutoHotkey.exe /r DockHotkeys.ahk

Trigger: Monitor Disconnected - "DELL U2720Q"

Actions:

  1. Load Monitor Profile: "Laptop Only"

Power Saving

Trigger: System Idle - 30 minutes

Actions:

  1. Matrix Route: All outputs off
  2. CEC Command: All TVs Standby

Trigger: Desktop Unlocked

Actions:

  1. Load Monitor Profile: Last used
  2. Matrix Route: Restore previous routing

REST API

TMRemote includes a built-in HTTP server for external control. Perfect for integration with Stream Deck, DuckyPad, or other macro pads and hardware buttons.

API Endpoints

Control TMRemote from any HTTP client:

Stream Deck / DuckyPad Integration

Create macro buttons that call TMRemote commands:

Stream Deck with BarRaider Advanced Launcher

  1. Install BarRaider's Advanced Launcher plugin from the Stream Deck Store
  2. Add an "Advanced Launcher" action to a button
  3. Set Application: C:\Path\To\TMRemote.exe
  4. Set Arguments: scenario "Gaming"
  5. One press = complete display reconfiguration

Stream Deck with REST API

  1. Install "API Ninja" or "Web Request" plugin
  2. Set URL to http://localhost:8888/api/scenarios/Gaming/run
  3. Set method to POST

DuckyPad

  1. Configure key to run CLI command
  2. Command: TMRemote.exe scenario "Gaming"

Web Dashboard

TMRemote's built-in web dashboard provides browser-based control from any device on your network.

Profile Switcher

Click to load any saved monitor profile. Visual feedback shows current configuration.

Matrix Grid

Visual matrix routing interface. Click to route any input to any output.

Scenario Launcher

One-click scenario activation from your phone, tablet, or any browser.

System Status

Real-time display of current configuration, connected monitors, and matrix state.

CLI Automation

Full command-line interface for scripting and batch automation.

# Load a monitor profile
TMRemote load "Gaming"

# Run a scenario
TMRemote scenario "Work Mode"

# Route matrix (input 2 to output 1)
TMRemote route 2 1

# List connected displays
TMRemote displays

# List available profiles
TMRemote profiles
            

See CLI Reference for complete command documentation.