Support

Get help with
Roomie Remote X.

Quick start guides, frequently asked questions, and ways to reach our team.

Quick Start

Getting Started

Download Roomie Remote X, create a home, and add your first room. The app will auto-discover compatible devices on your network.

  1. Download from the App Store
  2. Create a home and name your first room
  3. Tap "Add Device" — Roomie scans your network
  4. Select discovered devices to add them
  5. Start controlling from the remote screen

Adding Devices

Roomie supports IP, IR, and serial control. Most modern devices are added via IP auto-discovery.

  1. Ensure your device is powered on and connected to your network
  2. Navigate to Settings > Devices > Add Device
  3. Choose auto-discovery or manual entry
  4. For IR devices, add a Roomie IR Adapter first
  5. Test commands to confirm connectivity

Setting Up Activities

Activities let you control multiple devices with a single tap — power on your system, set inputs, and dim the lights all at once.

  1. Go to Activities in your room
  2. Tap "Add Activity" and give it a name
  3. Add the devices and commands to run
  4. A Power Off activity is created automatically
  5. Test the activity to confirm everything works

Frequently Asked Questions

Roomie supports over 200 brands and 400,000 device commands including TVs, receivers, projectors, Blu-ray players, media streamers, smart lights, shades, thermostats, cameras, cable/satellite boxes, and more. Visit our compatibility page for the full list.
For IP-controllable devices (most modern TVs, receivers, and smart home devices), no additional hardware is needed. For IR-only devices, add a Roomie IR Adapter to convert commands from the app into IR signals. Models start at $39.95 with Wi-Fi or Ethernet options.
The free plan gives you full control of one Smart TV using IP commands. It includes the complete remote interface and all Apple platform apps (iPhone, iPad, Mac, Apple TV, Apple Watch). Upgrade to a paid plan for multi-device control, activities, IR support, and smart home integration.
Yes. Roomie integrates with HomeKit to control any HomeKit-compatible accessory — lights, locks, thermostats, shades, and more. HomeKit devices appear alongside your AV equipment in a unified interface, and they don't count against your subscription's device limits.
Yes. One Home and Unlimited plans include Family Sharing, so everyone in your household can install Roomie on their own devices. The Unlimited plan also adds Guest Sharing — guests on your local Wi-Fi network can instantly control your home without needing their own subscription.
Roomie communicates directly with devices on your local network using IP control (TCP/HTTP), RS-232 serial (via network adapters), and IR (via Roomie IR Adapters). Commands are sent locally for instant response, with optional Remote Access for control away from home.
Yes. Roomie Remote X includes built-in Remote Access with any paid subscription. Control your entire system — AV devices, smart home, and automation — from anywhere, just as if you were on your home network.
Subscriptions are managed through your Apple ID. Open Settings > [your name] > Subscriptions on any Apple device, find Roomie Remote, and manage or cancel from there. Changes take effect at the end of your current billing period.

Setup & Configuration

Leave your older app (Simple Control 4/5, Roomie Remote 6–9) installed and install Roomie Remote X on the same device. Your configuration is copied over automatically on first launch. The original app is not modified — if you return to it, you'll see your old config unchanged. Subscriptions started in Roomie Remote 9 carry over. Perpetual purchases are tied to the original app and are not available in Roomie Remote X. Note: Roomie Remote X requires iOS 26, and the minimum iOS version increases by one major version each year.
The Unlimited and 5 Rooms subscriptions support Family Sharing, so everyone in your household can run Roomie on their own devices. Unlimited also includes Guest Sharing — any device on the same network can join your home. Your Primary Controller must be on a charger, in the foreground, and on the same network. Within 60 seconds, any Controller that accepts the Instant Home Sharing prompt will receive the full configuration and an active subscription for that home. The One Room plan does not support Family Sharing.
Synchronization is automatic — changes on one device are instantly reflected on all others via Instant Home Sharing when on the same network. It's two-way, so a deletion on one device deletes everywhere.

Backup is manual and separate. Go to Menu > Settings > Homes, select your home, and tap "Backup…" to export a RoomieBackup.zip file. To restore, go to Menu > Settings > Homes and tap "+ Restore Home." Never use Restore as a synchronization method — it's for disaster recovery only. We strongly recommend keeping regular backups, as sync alone won't protect against accidental deletions.

Google requires end users to set up their own Device Access project to enable Nest thermostat control. While there are many steps involved, once completed, it works quite well. Read all steps before starting.

Prerequisites

  • A working Google Account with at least one Nest thermostat associated and controllable via the Google Home or Nest app.
  • Use a real browser on a computer (Google Chrome recommended). Do not use a mobile device for these steps.
  • Have an empty note ready — you will need to save a Project ID, Client ID, and iOS URL Scheme (each roughly 80-character strings unique to you).

Step 1: Register for Device Access

Step 2: Create a Project

  • On the Device Access Console, tap Create project.
  • Enter a unique project name such as "Roomie – Smith Family".
  • When asked to "Add your OAuth client ID", click Skip for now.
  • On the Events screen, select Disable, then click Create Project.
  • The next screen shows your project with a Project ID. Copy this to your note.

Step 3: Enable the API and Create OAuth Credentials

  • Go to developers.google.com/nest/device-access/get-started and click Enable the API and get an OAuth 2.0 Client ID.
  • On the "Enable Smart Device Management API" popup, enter a project title (e.g. "Roomie – SDM – Smith Family"), agree to the license terms, and click Next.
  • For "Specify the product name", enter something like "Roomie – Smith Family".
  • For application type, select iOS.
  • For Bundle ID, enter com.roomie.unified exactly.
  • You can ignore the download/copy prompts for now.

Step 4: Enable the Smart Device Management API

Step 5: Create Credentials

  • Go to console.developers.google.com/apis/credentials and make sure the Smart Device Management API is selected.
  • Tap the Credentials tab, then +CREATE CREDENTIALS.
  • Under "What data will you be accessing?" select User Data.
  • Under App Information, enter Roomie Remote for the app name and your email for "User support email". Skip the logo upload.
  • Under Scopes, tap "Add or Remove Scopes" and select all scopes in rows labeled Smart Device Management API (there are at least 9). Save and Continue.
  • On the "OAuth Client ID" screen, select iOS as the Application Type.
  • Enter com.roomie.unified as the Bundle ID, 1455871956 as the App Store ID, and DDDDD99DD9 as the Team ID. Tap CREATE.
  • On the "Download your credentials" screen, copy the Client ID to your note. Click Done.

Step 6: Copy the iOS URL Scheme

  • Back on the Smart Device Management API screen, tap the Credentials tab, then tap iOS Client 1.
  • Copy both the Client ID and iOS URL Scheme to your note.

Step 7: Link OAuth Client to Your Project

  • Return to the Device Access Console at console.nest.google.com/device-access and tap your project.
  • Next to "OAuth client ID", open the 3-dot menu and select Add Client ID.
  • Paste your Client ID (it looks like "101010101-abababababab.apps.googleusercontent.com"). Save it.

Step 8: Configure the OAuth Consent Screen

Step 9: Add the Cloud Service in Roomie

  • You should now have a Project ID, Client ID, and iOS URL Scheme in your note.
  • In Roomie, add the Google Nest Cloud Service from the Devices panel.
  • Enter the Project ID, Client ID, and Scheme into the fields shown.
  • When complete, the Pair button will appear. Proceed with pairing.
  • Make sure to allow access and turn on each thermostat in the Google authentication and permissions panels that appear.
  • Pairing is complete. The thermostats will appear in the Thermostats section of the Homebar.

Note: Ignore extraneous text on Google's pages — much of it does not apply. Do not follow other instructions besides these steps. Google may make minor changes to these pages over time.

We recommend reserving static IPs (or DHCP reservations) on your router for all controlled devices, especially any added via the Manual IP option. Auto-discovered devices can often update their addresses automatically, but manually-added devices cannot. Some routers rotate DHCP addresses every 24 hours, which can cause devices to "disappear." If a device's IP changes, you can update it in the device's Advanced settings panel, or tap Add Device to trigger an automatic scan and update. Check your router's manual for how to create a DHCP reservation.
Many devices can be powered on over IP using Wake on LAN (WoL), including most Samsung and LG TVs since 2016, Sony projectors and Blu-ray players, and PCs/Macs. Roomie needs the device's MAC address to send WoL — for auto-discovered devices, this is often detected automatically. For manually-added devices, enter the MAC address in the +WAKE ON LAN command. To use it, open an Activity's Start Commands, select the target device, and add the "+WAKE ON LAN" command. The signal is sent three times automatically, so you only need to add it once. Check the compatibility page for your device's WoL support.

Roomie Remote includes a Local Network Control HTTP API on port 47147 for starting activities and sending device commands from any system on your local network. This enables integration with home automation controllers, custom scripts, and third-party systems.

All API endpoints use JSON. Responses follow this format:

{
  "st" : "success" | "fail" | "error",
  "da" : <response data>,
  "co" : <HTTP status code>
}

A "st" value of "success" means the request was handled. "fail" indicates a problem with the request data. "error" indicates a server-side problem.

List Activities

Returns all activities in the active Roomie configuration with their UUIDs.

GET /api/v1/activities

Response data: array of activity objects:

{
  "icon" :     <string: Activity icon name>,
  "roomuuid" : <string: UUID of the room>,
  "name" :     <string: Activity name>,
  "toggle" :   <boolean: Toggle state after starting>,
  "type" :     <string: "off" if PowerOff activity>,
  "uuid" :     <string: Activity UUID>
}

Note: Toggle activities are listed twice. The "on" UUID has a + suffix and the "off" UUID has a - suffix. The name contains "(On)" or "(Off)".

Show example
$ curl -X GET 'http://<roomie-ip>:47147/api/v1/activities'

{
  "st" : "success",
  "da" : [
    {
      "icon" : "logo-tivo",
      "roomuuid" : "D3579B0E-6E36-...",
      "name" : "Living Room: Watch TiVo",
      "uuid" : "4A4A6B37-BE64-..."
    },
    {
      "icon" : "curtains",
      "roomuuid" : "D3579B0E-6E36-...",
      "name" : "Living Room: Shades (On)",
      "toggle" : true,
      "uuid" : "2FC827F4-FF07-...+"
    }
  ],
  "co" : 200
}

Run Activity

Execute a specific activity. Supports optional delay and toggle state control.

POST /api/v1/runactivity
{
  "au" : <required string: Activity UUID>,
  "ts" : <optional string: "on" | "off" — toggle state>,
  "de" : <optional integer: delay in seconds, must be > 1.0>
}

A simplified GET variation is available for systems that don't support JSON:

GET /api/v1/activity/<Activity UUID>

Note: Advanced options like delay are not available with the simplified GET syntax.

Show example
$ curl -X POST 'http://<roomie-ip>:47147/api/v1/runactivity' \
  -d '{ "au" : "53B7B23B-F70F-498D-A128-477FCBD05A58" }'

{ "st" : "success", "da" : {}, "co" : 200 }

List Devices

Returns all devices in the active configuration with UUIDs and properties.

GET /api/v1/devices

Response data: array of device objects:

{
  "address" :  <string: Device IP address>,
  "port" :     <integer: Device port>,
  "model" :    <string: Device model>,
  "uuid" :     <string: Device UUID>,
  "roomname" : <string: Room name>,
  "brand" :    <string: Device brand>,
  "type" :     <string: Device type>,
  "name" :     <string: Device name>,
  "roomuuid" : <string: Room UUID>
}
Show example
$ curl -X GET 'http://<roomie-ip>:47147/api/v1/devices'

{
  "st" : "success",
  "da" : [
    {
      "address" : "10.0.0.49",
      "port" : 8060,
      "model" : "All Models",
      "uuid" : "A94CF6C9-D458-...",
      "roomname" : "Living Room",
      "brand" : "Roku",
      "type" : "Player",
      "name" : "Roku Media Player",
      "roomuuid" : "D3579B0E-6E36-..."
    }
  ],
  "co" : 200
}

Send Device Command

Send a command to a specific device. If a repeat option is specified, use the refresh API to keep the command repeating — sessions expire after 0.3 seconds.

POST /api/v1/sendcommands
{
  "de" : <optional string: Delay in ms before sending>,
  "cs" : [
    {
      "ty" : <required: "command" | "activity" | "url">,
      "de" : <optional string: Delay in ms>,
      "pa" : { ... }  // Params vary by type
    }
  ]
}

Command params ("ty": "command"):

{
  "cm" :     <required: Command name in caps>,
  "device" : <required: Device UUID>,
  "cd" :     <optional: { "au": toggle UUID, "ts": "on"|"off" }>,
  "pd" :     <optional: Power delay in ms>,
  "dl" :     <optional: "yes"|"no" delay devices globally>,
  "re" :     <optional: "constant"|"progressive" repeat type>,
  "pa" :     <optional: Array of up to 3 parameter strings>
}

Activity params ("ty": "activity"):

{
  "au" : <required: Activity UUID>,
  "ts" : <optional: "on"|"off" toggle state>
}

URL params ("ty": "url"):

{
  "ur" : <required: URL to load, include scheme (http://)>
}

Note: The API currently handles a single command despite accepting an array. The response includes a session identifier for managing repeating commands.

Show example
$ curl -X POST 'http://<roomie-ip>:47147/api/v1/sendcommands' \
  -d '{ "de": "1000", "cs": [ { "ty": "command",
    "pa": { "cm": "VOLUME UP",
    "device": "2DCCA135-4264-...",
    "re": "constant" } } ] }'

{
  "st" : "success",
  "da" : { "se" : "96F4C281-B34D-..." },
  "co" : 200
}

Refresh Command Session

Keep a repeating command alive. Sessions expire after 0.3 seconds — call this more frequently to continue repeating. Not needed if sendcommands was called without a repeat option.

POST /api/v1/refreshcommands
{
  "se" : <required: Command session identifier>
}

Stop Command Session

Stop a repeating command immediately rather than waiting for the 0.3-second session timeout. Not needed if sendcommands was called without a repeat option.

POST /api/v1/stopcommands
{
  "se" : <required: Command session identifier>
}

Broadcast Audio File

Play an audio file (wav, aif, or mp3) on all Roomie instances currently open and in the foreground, including Apple TV. Files must first be added via Roomie's Settings > Add Custom Media.

GET /api/v1/media/<Media Filename>
Show example
$ curl -X GET 'http://<roomie-ip>:47147/api/v1/media/doorbell.wav'

HTTP Activity & Device Command Interface v9.2 — Updated December 2, 2024

Troubleshooting

  1. Verify the device's own IP control settings are enabled in its menu system. Enable Network Standby if the option exists. Confirm the device has a valid network address.
  2. Use the Test button when adding the device to confirm the correct command set.
  3. Some devices (like Samsung TVs) require you to manually approve the control device on the TV screen. Some pre-2016 Samsung TVs don't support IP power-on at all.
  4. Check that the device firmware is up to date.
  5. If the device was added via Manual IP, verify the IP address hasn't changed. We recommend static IPs or DHCP reservations for all manually-added devices.
  6. For devices that require Wake on LAN to power on, make sure the +WAKE ON LAN command is included in your Activity's start sequence.

First, select which IR adapter you're using:

  1. Placement — the IR100 has two IR windows that emit both upward and forward simultaneously, giving it wide coverage. Position the adapter near your devices with a clear line of sight to the IR receivers.
  2. Correct device type — use the Test button when adding your device. Some brands have multiple code sets (e.g., Sony Code Group 1 vs. 2). Try all similar entries until you find one that works.
  3. Retransmit Count — this is the #1 cause of IR issues. Many devices (especially Sony) require multiple transmissions per command. Increase the Retransmit Count in device settings by one until the device responds reliably. 2–3 is usually enough.
  4. Range and obstructions — IR is line-of-sight. Ensure nothing is blocking the path between the IR100's windows and the device's IR receiver. If the device is behind a closed cabinet, the IR signal won't reach it.
  5. Network connectivity — verify you can reach the IR100 via its IP address in a web browser. If the IR100 wasn't auto-discovered, the cause is usually UPnP being disabled on your router. Either enable UPnP, or add the device manually: go to Roomie's Devices panel, tap Add Device Manually, enter the IR100's IP address and port 4998, then select the type, brand, and model of the device to be controlled.

Need an IR100? Visit the Roomie Store — available in 4 models.

  1. Emitter placement — the emitter must be placed directly over the device's IR receiver. Use a flashlight at an angle to locate hidden receivers (common on Samsung TVs). Test with the emitter held right in front before attaching permanently.
  2. Correct port — if using a triport adapter, verify the port number matches what's configured in Roomie. The emitter LED will visibly blink when sending — use this to confirm the correct port.
  3. Blaster vs. emitter — if using a blaster cable on port 3, ensure the adapter's web config is set to "Blaster" for that port. Try swapping between emitter and blaster cables to rule out cable issues.
  4. Correct device type — use the Test button when adding. Some brands have multiple code sets (e.g., Sony Code Group 1 vs. 2). Try all similar entries.
  5. Retransmit Count — this is the #1 cause of IR issues. Many devices (especially Sony) require multiple transmissions per command. Increase the Retransmit Count in device settings by one until the device responds. 2–3 is usually enough.
  6. Network connectivity — verify you can reach the IR adapter via its IP address in a web browser. If the adapter wasn't auto-discovered, the cause is usually UPnP being disabled on your router. Either enable UPnP, or add the device manually: go to Roomie's Devices panel, tap Add Device Manually, enter the adapter's IP address and port 4998, then select the type, brand, and model of the device to be controlled.
Auto-discovery uses multicast/UPnP networking to find devices. If it's not working:
  1. Check your router settings — make sure "Enable Multicast" and "Enable UPnP" are turned on.
  2. Restart everything — power-cycle your iPhone/iPad/Mac, router(s), and target devices. This clears a surprising number of multicast issues.
  3. If using a mesh Wi-Fi system (Eero, UniFi, Google Wifi, etc.), ensure multicast/mDNS forwarding is enabled across all access points — some mesh systems isolate multicast by default.
  4. For older receivers, unplug them completely for 30 seconds, plug back in, and wait 60 seconds before re-attempting discovery.
  5. If discovery still fails, you can add the device manually using the Manual IP option with the port listed on the compatibility page.
If synchronization or purchase restoration has gotten into a bad state, a complete reset resolves most issues. Perform these steps on the Primary Controller associated with the Apple ID that owns the subscription unless otherwise indicated:
  1. Back up your configuration — ensure you have a file named RoomieBackup.zip. SimpleControlBackup.zip or older Roomie.plist backups also work.
  2. Clear iCloud data — in iOS Settings > [Your Name] > iCloud > Manage Account Storage, delete any items labelled Simple Control or Roomie Remote. Do this on all Controllers you share with. On macOS, use System Settings > Apple ID > iCloud > Manage.
  3. Delete all Roomie Remote apps from all Controllers (iOS, tvOS, macOS), including older apps like Intercomm and Simple Control and sister apps like Now Showing.
  4. Fully restart (power cycle) all Controllers from step 3.
  5. macOS cleanup — for each macOS Controller, delete these folders: ~/Library/Group Containers/group.com.roomie, ~/Library/Containers/maccatalyst.com.roomie.x (and com.roomie.unified), and ~/Library/Containers/Roomie Remote. Some may not exist — that's fine.
  6. Verify cleanup — after restarting, repeat step 2 to confirm all iCloud storage entries are gone.
  7. Install latest Roomie Remote X on your Primary Controller (logged into the Apple Account that owns your subscription). All Controllers must support iOS/tvOS/macOS 26 or later.
  8. Restore your backup via Homes > Restore Home. Select the backup from step 1.
  9. Restore Purchases under Settings > About if your subscription doesn't reflect immediately. Subscriptions must be Active and use the same Apple ID for Sign in With Apple.
  10. Verify Code Sets — check the downloaded count in Settings shows completion (e.g., 20/20). If still counting, wait. Otherwise press Force Codeset Update and wait for completion.
  11. Test Activities on this Primary Controller. Verify it's designated as Primary in the Homes panel and keep it running for all steps below.
  12. Additional Controllers (same Apple Account) — install latest Roomie Remote X, launch, wait for the prompt to join the home, allow sync, and verify code sets are complete.
  13. Different Apple Account Controllers — first share your HomeKit Home via Apple's Home app from the owning account. Then launch Roomie on the sharee Controller, accept the Instant Home Sharing prompt, and allow it to join. Instant Home Sharing must be enabled in Managed Device Options on Primary Controller.

Get Help

In-App Support

Roomie Remote X

The fastest way to get help. Open the app, tap the menu, and select Support. You'll be connected to an AI Support Agent that can diagnose issues, walk you through setup, and answer questions instantly.

r/roomieremote

Roomie Remote & Now Showing

Join the community on Reddit. Share setups, get tips from other users, discuss feature requests, and stay up to date on releases.

Visit Reddit

Submit a Ticket

Roomie Remote & Now Showing

For direct email support, use the built-in ticket submission in either app. In Roomie Remote, tap the email icon in the Support panel. In Now Showing, tap Send Feedback. Both include diagnostic information to help us resolve your issue faster.

Knowledge Base

Community Archive · 2012–2025

Browse 13 years of community tips, solutions, and device setup guides from the Roomie Remote forum archive.

Browse Archive