READYWARE READYWARE — Electronic Personification
Documentation

How To Use
READYWARE

Everything you need to get the most out of your setup — live wallpapers, overlays, IR learning, and the full canvas experience.

$9.98 one-time · Pay once, use on every device · Free updates for life · No ads · No subscription · No data collection · Hardware agnostic
New here? Start with this 30-second tour ▼ Open

Three things in order, then dive into the sections below:

  1. See it working first. Open the Web Viewer Demo in another tab. That's a real layout running live in your browser — click into Living Room → IPTV to see the live wallpaper feature, or Master folder to see macros at work. No install, no signup.
  2. Get a transmitter. The simplest path is a BroadLink RM4 Mini (IR, around $25) or RM4 Pro (IR + RF, around $50) on the same WiFi as your phone. USB-C IR dongles, the phone's built-in IR blaster, and Global Caché iTach all work too. (Details in Emitting & Learning below.)
  3. Install and build. The app is $9.98 one-time — pay once, use it on every device you own, free updates for life. No subscription, no ads, no data collection, no hardware lock-in. Scan for your transmitter, then use the Canvas section below as your build guide. Most people set up their first room (3–5 remotes) in under 30 minutes — and the 1,000,000+ code Smart IR database programs your buttons automatically if you don't have the original remotes.

Stuck? The FAQ covers permission dialogs, hardware quirks, network issues, and more. The left sidebar links to every page on the site — IRC Standard, Web Viewer, Style Guide for sharing layouts, and the IR/RF Signal Editor (free, no account).


On This Page
START HERE

Watch It Done — Five Short Videos

Would you rather watch than read? This is the whole app in about forty minutes — but you do not need forty minutes. Video 1 on its own is enough to be up and running, and each one after it picks up where the last left off. Nothing here assumes you have done any of it before.

READYWARE — How To Use The App
1
10:55
Basics & Edit Mode ↗
Lock and unlock the app, move a button, make it yours. If you only watch one, watch this one.
2
4:23
Video Wallpaper, Live Streams & URLs ↗
Put a live camera, a video, or a whole web page behind your buttons.
3
10:15
Buttons on Every Canvas, Deleting & a Wallpaper Flip ↗
Adding, removing and arranging buttons across screens and folders.
4
5:05
Hardware Setup, and When You Need None ↗
Which blaster to add — and the gear that needs no blaster at all, straight over your network.
5
11:54
Smart IR and Learning IR ↗
Auto-program a whole remote from the database, or teach it a code from the original remote in your hand.

Watch them back to back on the full playlist ↗, or browse everything on the READYWARE channel ↗.

Nothing to buy first. Videos 1 to 3 need only the app on the device in your hand. A blaster only comes into it in video 4, and video 4 also covers the devices that need no blaster at all.
One thing the videos do not cover yet: the RF Wizard. Video 5 shows the Smart IR Wizard building a whole remote from a brand name. The RF Wizard works exactly the same way, step for step — it just lives on the RF tab of the Signal Editor instead, and covers garage doors, gates, blinds, ceiling fans, outlets and doorbells. If you can follow video 5, you can do the RF one.
🔒
01

Run Mode vs Edit Mode

READYWARE has two modes. Understanding the difference unlocks everything.

Run Mode

🔒 Locked

Tap buttons to fire IR/RF commands. Live wallpapers play. The overlay works. Everything responds instantly. This is the everyday experience.

Edit Mode

🔓 Unlocked

Drag buttons, change colors, program IR signals, set wallpapers, add folders. The canvas is fully editable. Live wallpapers pause to let you work.

The key insight: Live wallpapers, video streams, and the overlay all perform at full power in RUN MODE. Switch to EDIT MODE to make changes, then lock it when you're done.
Watch this one: Step 1 — Basics & Edit Mode (10:55) ↗ is exactly this — locking, unlocking, and what changes when you do. It is the first of five short videos.
How to switch modes

Go to Settings → Preferences → Edit Mode and toggle it on to unlock. Toggle it off to lock. You can also tap the lock icon in the top toolbar of any remote screen.

🎨
02

The Canvas — Building Your Remotes

Before getting into wallpapers and overlays, here's the foundation: how you build a remote in the first place.

Three levels, one canvas system

READYWARE has three layers, all running on the same canvas:

  • The Desktop — your home base. One per profile, always there. Pin your most-used buttons here for one-tap access from anywhere.
  • Folders — usually rooms (Living Room, Bedroom, Garage, Office). Group related remotes inside.
  • Remotes — the individual devices (TV, AC, fireplace, gate, lights). Each one a fully-designed surface.

All three are canvases. They look the same in Edit Mode and follow the same rules — drag-and-drop, custom wallpapers, custom buttons, custom everything. Learn one, you know all three.

Picture it: your Desktop has folders for Living Room, Bedroom, and Garage. Living Room contains a TV remote, an A/V receiver, a Lights remote, and a Fireplace remote. Tap any of them to use it. Or pin commonly-used buttons (Volume, Power, All Off) directly to your Desktop or to the Living Room folder so they're available without opening any specific remote.

Creating a remote

In Edit Mode, tap the + button or long-press on any canvas. Pick one of the starter layouts (TV, A/V receiver, cable box, streaming stick, light switch, gate, blinds, etc.) for a quick head start, or pick Blank if you want full creative control. Either way, the remote exists in seconds.

Same flow for adding a Folder. Tap +, give it a name, drop in your remotes. Most people organize by room, but you can use folders however you like — by activity (Movie Night, Bedtime, Workout), by zone (Upstairs, Downstairs, Outside), or anything else that fits your home.

Customizing anything

Every visual element is editable. There's no template you're locked into.

  • Wallpaper — solid color, photo, animated GIF, or live video stream (covered in the next section). If video isn't your thing, a clean color background works just as well.
  • Buttons — drag anywhere on the canvas. Resize each one independently.
  • Shape — rectangle, rounded corner, circle, oval, custom shapes.
  • Color & icon — set icon color, text color, background color, border on/off. Pick from the built-in icon library or upload your own.
  • Text — label size, weight, color, position above or below the icon.

Make a remote that looks like your actual A/V rack, not a generic grid of buttons.

🔍 Adjust icon & button size to your device

Here's a hidden trick most users don't discover on their own: your wallpaper size controls how big the buttons and icons appear on screen — without changing the remote's layout at all.

  • Smaller wallpaper image → bigger icons on screen
  • Larger wallpaper image → smaller icons on screen

If you're using the default demo profile on a smaller tablet (like an 8") and the icons feel a bit small, resize the wallpaper down a step — same image, lower resolution — and the buttons get proportionally bigger. Going the other way works too: huge TV with chunky icons? Use a larger wallpaper.

Keep the same aspect ratio (16:10 stays 16:10, 16:9 stays 16:9) so you don't get black bars on the sides. Photopea, Paint.NET, GIMP, or any photo editor handles the resize in seconds.

While you're in there — compress it before you import it. Running a wallpaper through a free compressor takes about ten seconds and typically cuts 50–75% off the file with no change to its pixel dimensions: transparency stays transparent and animated GIFs keep every frame. Wallpapers are stored inside your remote and profile files, so this is what keeps saving, loading, and sharing quick. See the Style Guide for which tool to use for PNG, GIF, and JPG ↗

→ Full size reference chart with ready-made sizes for tablets, TVs, and phones

Accessibility built in

Big buttons. High-contrast colors. Whatever-size-feels-right text. The "let me find my glasses" moment doesn't have to be a moment — you can size Power and Volume to be easy to hit without looking, and shrink the rarely-used ones to keep the layout clean. The canvas adapts to you, not the other way around.

Buttons aren't only on remotes

This is the part most people miss: the Desktop and Folders can have buttons too. Pin All Lights Off, Doorbell Mute, or Goodnight to your top-level Desktop and those actions are always one tap away — no matter which remote you're using or which folder you're in.

Auto-program with the Smart IR Wizard

Don't have the original remote? Tap any button, run the Smart IR Wizard, pick the brand and model from the database of over 1,000,000 codes across 12,000+ brands, and the codes are programmed. Covered in detail in Smart IR — Auto-Program Buttons below.

Hardware agnostic, future-proof

Layouts and signals save to the open .irc file format. Back up your entire home setup to a single file. Restore everything on a new phone or tablet in seconds. Switch from a BroadLink to a USB blaster — same buttons, same layouts, same database. You don't lose your work because you switched hardware or upgraded your phone.

Transparent & "cloaked" buttons + pass-through wallpapers

Buttons can be see-through. Set any button's opacity from solid down to fully invisible, or leave it around 20–50% for a "cloaked" hotspot that's there when you look for it but stays out of the way of your video. Invisible buttons still fire — lay silent tap-zones right over a live wallpaper (tap a corner to change the channel, tap the middle to pause) with nothing cluttering the picture. Set it per button in Edit Mode → button → Style.

Wallpapers stack, and they can be see-through too. With three layers (Desktop → Folder → Remote), giving a remote's wallpaper transparency lets it fall through to reveal the folder's wallpaper underneath — your buttons float over the folder's uninterrupted live video while the remote layer adds only what you want on top. Use an alpha-channel PNG or set the layer's wallpaper transparency. The Style Guide covers skins, wallpapers, and transparencies.

📺
03

Live Wallpaper Setup

Your desktop, folders, and remotes each support their own live wallpaper — a camera feed, website, video stream, or custom image playing behind your buttons.

1
Enable Edit Mode

Settings → Preferences → Edit Mode → ON. The Appearance section will appear in Settings.

2
Open the wallpaper section

In Settings, scroll to Appearance → Live Video / Stream Wallpaper. Tap to expand it. For per-remote or per-folder wallpapers, open that remote or folder in edit mode and tap the wallpaper section there.

3
Enter your URL or pick a file

Paste any camera URL, HLS stream, or website address. Or tap Browse Local Video File to pick a video from your device. Use the quick-example chips to try YouTube, Google Maps, NASA Live, and more instantly.

4
Tap "Set Video Wallpaper"

This is the step that makes it stick. The wallpaper won't activate until you tap the button. After setting it, restart the app or navigate away and back to see it playing.

5
Lock edit mode and enjoy

Switch back to Run Mode. Your live wallpaper plays full screen with your buttons floating on top.

Supported sources: IP cameras (HLS/HTTP), MP4 files, YouTube, any website, Google Home, Ring dashboards, Home Assistant, NASA Live, Windy cams, and more. RTSP cameras work via a go2rtc proxy. See the FAQ for the full format list (HLS, DASH, MP4, H.264/H.265, WebM, MJPEG, RTSP→HLS, web dashboards, auth tokens, and more).
📐 Designing for big screens? READYWARE shines on TVs — full-screen wallpaper edge-to-edge, mouse/keyboard navigation, scales from a phone to an 85"+ 8K TV with the same layout. For wallpaper sizes, the safe-zone trick that keeps your buttons visible on every device, and the big-screen "Hidden Gem" tip, see the Style Guide ↗.
📡 Remotely control what's playing on a TV (Virtual HDMI) ▼ Open

Two existing READYWARE features combine into something powerful: Live Video Stream Wallpaper (your desktop background is a URL) plus the Web Remote (control your device from any browser). Put them together and you can change what's playing on a TV from your couch, your laptop, or anywhere with internet. It's like having a virtual HDMI cable that runs over WiFi.

Same approach restaurants use for digital menus and billboards use for ad rotation, but with no signage software, no monthly fee, no proprietary hardware. A cheap Android tablet ($60–$100) mounted on a wall, running READYWARE, becomes a fully programmable display you can update from anywhere.

Setup — 4 steps

  1. Set a video wallpaper on the display device. On the device hooked to the TV, open Settings → Appearance → Live Video / Stream Wallpaper. Tap to expand. Paste a starting URL (any video stream, web page, image, or live cam). Tap Set Video Wallpaper to activate it. (More details in Live Wallpaper Setup above.)
  2. Enable the Web Remote. Settings → Remote Web Viewer → toggle ON. Wait for the green ● ON badge. Note the URL and PIN.
  3. Open the Web Remote on a controlling device. Phone, laptop, work PC, any browser. Enter the PIN.
  4. Change content from the browser. Tap the ⚙ gear icon at the top of the desktop view in the Web Remote. Paste a new URL — image, web page, live video, security cam, weather radar. Tap Apply. The TV updates instantly.

⏱️ Timeout setting — keep the wallpaper visible

By default the canvas may dim or fade after inactivity to save power on the display device. For a kiosk / wall-mount / always-on display, you'll want to disable this so the content stays visible 24/7. Settings → Appearance → Button Timeout → set to 0 (Never). Now the display holds whatever URL you push to it until you change it. Combined with Android's "screen always on" power setting, the display behaves like a dedicated signage screen.

Real use cases

  • 🍽️ Digital menus — wall-mount a tablet, change the menu URL from your phone when prices or specials change.
  • 📺 Living room TV — change source from your couch. Streaming feed, weather, art gallery, security cam — swap on the fly.
  • 🏢 Office & reception displays — different content by time of day, after hours, or for events. No signage system needed.
  • 🌍 Remote from anywhere — at work, change what's playing at home. On vacation, swap the TV to a black screen.
  • 🎛️ Bring your own source — put a cable box, or the main output of your AV receiver / HDMI switcher, onto the network with an inexpensive HDMI-to-IP encoder (RTSP → HLS), then push that stream as the wallpaper. Your real gear plays behind your buttons.
💡 More than one way: you can also install READYWARE right on the TV (or any device that takes apps) and drive a cursor around your layout with the TV's own remote — live stream running underneath as the wallpaper. Or cast, or use the Web Viewer from any browser. There's always more than one way to do the same thing in READYWARE; if one path doesn't fit your gear, another will.
💡 Pro tip: The Web Remote can push any URL the display device can reach. Local network cameras (RTSP via web wrapper), internal dashboards, even private grafana boards — they all work, because rendering happens on the display device, not in the cloud.


🪟
04

System Overlay

The overlay floats READYWARE on top of every other app on your device. Netflix plays in Netflix. YouTube plays in YouTube. Your buttons are always there.

1
Enable Edit Mode

Settings → Preferences → Edit Mode → ON. The System Overlay section appears in Settings.

2
Grant permission

Tap Grant Permission. Your device opens a system settings screen. Find READYWARE in the list and enable "Allow display over other apps." This is a one-time setup.

3
Enable the overlay

Back in READYWARE Settings, tap Enable Overlay. You'll see a green ● LIVE badge confirming it's active.

4
Save and exit

Tap Save in the top right. Now press your device's home button. READYWARE floats over whatever app you open next.

Pro tip: Set your desktop wallpaper to Transparent before enabling the overlay — your other apps will show through the READYWARE canvas beautifully. This happens automatically when you enable the overlay.
Overlay Timeout

Settings → Preferences → Overlay Timeout controls how long before buttons fade out automatically — just like a TV volume bar. Set it to Always On to keep buttons visible permanently, or choose a timer from 3 seconds to 60 seconds. Tap anywhere on the canvas to wake buttons back up instantly.

Wake Button — tuck everything away until you tap it

Want the overlay running all day but out of sight until you need it? Turn on the Wake Button in Settings → System Overlay. When the overlay times out, your desktop, folders, and remotes all hide and the screen passes straight through to the app you're using — leaving just one button you designed: a styled R. Tap it and your whole layout snaps right back.

Set it up:

① Settings → System Overlay → turn on Wake Button.
Tap the preview to place it — it lands in that same spot on every screen, room, or wallpaper.
③ Tap Edit Button to style it in the normal button editor — color, shape, icon, size, border, or leave it faint and transparent.

Off by default — leave it off and timeout works as always (buttons fade, tap anywhere to wake). It replaces "tap anywhere" with "tap your R," so the rest of the screen stays fully pass-through.

Where the overlay look lives — App behind vs My wallpaper

Each screen's overlay look is set in the main gear → Settings → System Overlay — not in Edit Folder or Edit Remote. Enable the overlay, then in Overlay Transparency & Pass-through pick a screen (Desktop, a folder, or a remote) and choose:

App behind — the screen floats over the app and taps pass through the clear parts of your wallpaper.
My wallpaper — the screen covers the app as a solid 100% room.
• The 0–100% dial sets how see-through it looks.

The section only shows when the overlay is enabled, and each screen's choice saves with your profile — set it once per screen (Desktop / each folder / each remote) right there in Settings.

On iPad — use Slide Over (no setup needed)

The system overlay above is an Android capability — Apple doesn't allow apps to draw over other apps. But Apple does app-on-app its own way, and on iPad it does it for you. With Slide Over (iPadOS 26.1 or later), READYWARE floats in a small window on top of every other app — your real canvas, buttons, and wallpaper over Netflix, Ring, Nest, SmartThings, or any dashboard.

How to use it:

① Settings → Multitasking & Gestures → choose Windowed Apps.
② Open READYWARE, swipe down to reveal the window controls, tap and hold them → Enter Slide Over.
③ Open whatever you're watching. READYWARE stays floating on top.
Flick it off the side to tuck it away — a small handle stays at the edge. Swipe in from that edge to bring it right back.
⑤ Drag a corner to resize it.

One app can be in Slide Over at a time. Everything works normally in there — IR, RF, macros, speed buttons, live state.

On iPhone & Apple TV

Apple TV: turn on AirPlay screen mirroring and your whole READYWARE canvas appears on the TV — tap buttons on your device, signals fire as normal. Works today, nothing to set up in the app.

iPhone: there's no Slide Over on iPhone, so use READYWARE full-screen and switch apps, or mirror to an Apple TV. (Quick-access controls that work from anywhere are on our roadmap.)

The "always-on / invisible" setup (pro technique)

The overlay is at its best when you can't even tell it's there. The recipe is three things working together: a transparent desktop (the overlay sets this automatically), a timeout so the buttons fade after a few seconds, and pass-through so every empty-space tap goes straight to the app underneath. Done right, you use Netflix or YouTube completely normally — your remote appears only when you tap, then melts away.

Build it:

① Keep the desktop wallpaper transparent (the overlay's default) so the app below shows through — folders and remotes can use transparent or live pass-through wallpapers too.
② Add one small or fully-transparent button as a hotspot: set its background opacity to 0, drop it in a corner, and give it an event → Open Folder (or Open Remote). It's an invisible tap-target that summons everything.
③ Set Settings → Preferences → Overlay Timeout to a few seconds so the controls hide themselves between taps.
④ Leave the overlay always on and just live in your other apps — pass-through handles normal use, and one tap on the hotspot brings your controls back.

Tip: build one clean "always-on" layout, save it as a profile, and load it on every device — 30 seconds and every tablet behaves identically. Pair it with the folder-in-folder trick for ultra low-profile menus.

📺
TV

On a TV

The same app you love — grandma-easy on the big screen. Perfect on phone and tablet, and totally at home on an Android TV. Drive it with the TV's own remote (d-pad), an air-mouse remote, or your phone.

🕹️ Getting around with the TV remote

Wherever you are, the thing you're on wears a big gold ring (its color follows your Menu Color) so you always know where you are. Arrow keys move it, OK selects.

  • Home & Settings sit top-right — a small house just left of the gear. Tab up to them anytime.
  • Open a remote and it lands you right on the first button — press OK and you're firing (no more opening a second remote by accident).
  • On the top-left back arrow, press ▼ Down to drop straight onto your icons and buttons.
  • Full-screen mode keeps Home + gear reachable, so the cursor never gets stuck.

🪟 The Overlay on a TV

Turn the Overlay on and READYWARE floats over your streaming apps and live TV — fire a code, switch inputs, adjust volume without leaving what you're watching. Set the transparency and pass-through just how you like.

  • Air-mouse or phone: point and click the buttons — works out of the box.
  • Wake button (R): after the screen rests, one tap on the R brings your controls back. Position it in Settings with the on-screen nudge pad.
  • TV d-pad: a quick opt-in lets you tab in and out with the plain remote — see just below.

➡️ Optional: d-pad control of the overlay

Want to drive the floating overlay with just the TV remote? A one-time setup turns it on:

  1. In READYWARE: Settings → TV d-pad Overlay Control → Open Accessibility Settings.
  2. Switch READYWARE on in the list. It stays off until you do this, and only does anything while the overlay is showing.

Then, with the overlay up: long-press BACK to tab into the overlay (your buttons light up), arrow around, OK to open a remote or fire, and BACK to pop back to your TV. That easy — and the air-mouse always works without it.

📡
05

Emitting & Learning IR & RF Signals

First, the good news: a lot of the time you need no extra hardware at all. If your phone has a built-in IR blaster, it fires IR on its own. And tons of gear runs straight over your Wi-Fi with no blaster in the room — WiFi smart TVs (LG, Samsung), smart bulbs (WiZ/LIFX/Govee), Sonos, and anything with an HTTP/network endpoint (see the WiFi / NET tab of the Signal Editor). Same TV in three or four rooms? No blaster per room — it's all network, and one layout runs them all by IP. When you do need to blast IR/RF at older gear, here's everything that works:

READYWARE learns IR and RF signals directly from your existing remotes using a BroadLink RM4 device on your WiFi network.

What you need

An IR or RF transmitter — that's it. READYWARE works with WiFi blasters (BroadLink RM4 Mini for IR, RM4 Pro for IR + RF), USB-C IR dongles (Tiqiaa, ElkSmart, Ocrustar, ZaZaRemote, etc.), the built-in IR blaster on phones that have one, the iTach WiFi for Global Caché users, or Bluetooth IR bridges (experimental — see note below). One app, every transmitter.

For most people, the easiest path is a BroadLink RM4 Mini (IR only) or RM4 Pro (IR + RF) on the same WiFi as your phone — they're cheap, reliable, and learn new signals from any remote. Set up once in Settings → Device Settings → Device Setup → Add Device → WiFi. BroadLink makes the hardware, READYWARE makes it tick.

Note on USB IR blasters: The inexpensive USB-C IR dongles (Tiqiaa Tview, ZaZaRemote, Ocrustar EKX4S-T, ElkSmart units, and similar — starting around $7) work great for transmitting IR — point your phone at the TV and fire any signal. But they don't learn signals from your existing remotes. Use a BroadLink RM4 to learn, then play those learned codes through any blaster you like. Or skip learning entirely and use Smart IR with the 1,000,000+ code database.

Note on Bluetooth IR blasters: READYWARE includes a Bluetooth LE scanner that pairs cleanly with BLE IR dongles like the Tiqiaa IR2023 series (the same family that ships with ZaZa Remote on Android and Uni TV Remote on iOS). However, some manufacturers encrypt the IR transmission so only their official app can fire signals. We've documented the protocol layer fully — pairing works — but IR send through a third-party app like READYWARE is currently not supported on encrypted dongles. For reliable IR control, a WiFi blaster (BroadLink RM4) or a direct USB-C IR dongle is the proven path. If a future BLE blaster ships with an open protocol, READYWARE is ready for it.

🛠️ Build your own: Tired of locked-down dongles? You can build your own WiFi IR blaster for about $8 using an ESP32-C3 SuperMini, an IR LED, and a 3D-printed case. The firmware emulates the BroadLink protocol so READYWARE finds it automatically — zero app changes. Smaller than a BroadLink RM Mini, fully open source, no DRM, no vendor lock-in. Full build guide →

📡 Tasmota WiFi IR (emit + learn): Open WiFi IR blasters running Tasmota — the Athom Tasmota IR Controller (~$15) or any ESP8266/ESP32 flashed with Tasmota — work as a native transmitter. Settings → Device Settings → Device Setup → Add Device → Tasmota → enter the IP → Test → Save. Local HTTP, no cloud or DRM. Unlike iTach, Tasmota learns as well as emits. IR only (no RF). ESPHome units can be reflashed to Tasmota for the same one-tap control.

Tip when shopping: a few cheaper IR adapters use the phone's headphone jack rather than the USB-C port — those older audio-driven designs follow a different protocol and work best with whatever app the manufacturer ships. For READYWARE, look for a dongle that plugs into the USB-C port and you're set.

🍎 iPhone / iPad note: The first time you add a WiFi device (BroadLink, iTach, etc.), iOS pops up asking "Allow READYWARE to find devices on your local network?" — tap Allow. Most users see this dialog once, tap Allow, and never think about it again — discovery is instant and you're firing IR/RF in seconds. If you accidentally tapped Don't Allow, turn it back on in Settings → Privacy & Security → Local Network → READYWARE. If discovery still doesn't work after granting permission, see the iPhone / iPad walkthrough right below.

1
Open a remote in Edit Mode

Tap any remote, make sure Edit Mode is on. Tap a button, then tap Edit Button → Signal tab.

2
Tap Learn IR

The device enters learning mode. Point your original remote directly at the hardware — not at the phone. Press the button you want to learn. The signal is captured in seconds.

3
For RF signals — two steps

Tap Learn RF. Step 1: hold your RF remote button near the device until it detects the frequency. Step 2: release, then press the button once more to capture the signal. The app guides you through each step.

4
Tap Save

The signal is saved to that button. Tap it to test — your device responds instantly.

Learn All Wizard: In a remote's Edit Mode, tap the gear icon → Learn All Buttons to walk through every unassigned button one by one — fast way to program an entire remote in one session.
Bring in codes from anywhere — the online Signal Tools

Already have IR/RF codes, or a whole remote, in another format? Two free browser tools bring them home — no account, nothing to install:

Signal Editor — paste or drop a single code; it's auto-detected, cleaned on a live waveform, and converted. Save as .irc or export to any format your hardware wants.
Signal Transporter — for moving a whole remote's buttons between formats or onto a new layout: old remote on the left, new layout on the right, matched by name with every code carried across.

It reads 19+ formats and writes 21+ — Pronto Hex/CCF, Flipper Zero .ir and .sub, LIRC, Global Caché / iTach, BroadLink, GIRR, irplus, Arduino IRremote, ESPHome, Sonoff RfRaw, Home Assistant SmartIR, Tuya, Denon RCKSK/RCSHP code sheets, IRDB, Harmony XML, CSV, raw µs, and the old-school JP1 / RemoteMaster .rmdu archive (hifi-remote's device-upgrade files) — and converts any of it to a clean, hardware-agnostic .irc. If you've been living in RemoteMaster or a pile of Pronto files, your work comes right over.

It also identifies the protocol underneath the format — 13+ infrared families and 42+ sub-GHz radio families — so a messy capture comes out as a clean, named, rebuildable signal.

📚 Formats & protocols we support — and the list keeps growing

📥 Formats we READ, auto-detected

Just drop the file in. You never have to tell it what you have.

READYWARE .irc · Flipper Zero .ir · Flipper Sub-GHz .sub (RF) · Pronto HEX / CCF · LIRC (raw + lircd.conf) · Global Caché / iTach · BroadLink base64 · Home Assistant SmartIR (JSON) · Tuya (base64) · ESPHome remote_transmitter (IR + RF) · Sonoff RfRaw B0/B1 · GIRR (IrScrutinizer) · irplus (Android app XML) · Arduino / IRremote · Denon system codes (RCKSK / RCSHP / bit rows) · JP1 / RemoteMaster .rmdu · IRDB · Harmony XML · CSV · raw µs timings

📤 Formats we WRITE, plus WAV and CSV

★ READYWARE .irc · Flipper .ir · Flipper .sub · Pronto HEX · LIRC raw · LIRC lircd.conf · LIRC mode2 · Global Caché iTach · Global Caché JSON · BroadLink base64 · BroadLink hex · Home Assistant YAML · SmartIR · Tuya · ESPHome · Sonoff RfRaw B0 · Arduino C-array .ino · Arduino rc-switch · TV-B-Gone header .h · GIRR XML · Harmony XML · WAV audio · raw µs CSV

Three are read-only on purpose: JP1 .rmdu is a source archive you convert from, Harmony XML is a discontinued platform you migrate off, and Tuya holds one code at a time (a whole Tuya remote comes back out best as SmartIR).

📡 Infrared protocols we identify

NEC / NEC1 / NEC2 / NECx (the most-used IR protocol on earth) · Sony SIRC 12 / 15 / 20-bit · RC5 / RC5x · RC6-6-20 (Sky, Foxtel, cable & satellite) · Panasonic / Kaseikyo (incl. Combo & MIX — also used by Denon, Sharp, JVC, Teac) · JVC · GI Cable · XMP (Comcast / Xfinity, AT&T, Pace, Arris cable boxes) · Nokia32 (AT&T U-verse, Foxtel IQ) · Denon · Sharp · RCA · Samsung · B&O (Datalink 86) (Bang & Olufsen — 455 kHz, not 38, and transition-coded rather than pulse-coded, so almost nothing else reads it)

📻 Sub-GHz radio protocols, decode and encode

Across 300 · 310 · 315 · 318 · 433.92 · 868 MHz. Every one verified against its authoritative spec and round-trip tested — we never ship a guessed code.

Princeton / PT2262 / SC5262 / EV1527 · SMC5326 / SMC918 · Generic 1:2 OOK (short sync gap — cheap sockets and remotes that match no named chip) · Holtek HT6P20 · BETT · Doitrand · Intertechno / Nexa / KlikAanKlikUit / Elro · Chamberlain / LiftMaster / Craftsman classic DIP (7, 8 & 9 position — 300 / 310 / 315 / 390 MHz) · Linear MegaCode (318 MHz) · Linear (300 MHz, the 10-bit MegaCode-era remotes) · Linear Delta 3 (310 MHz) · Allstar Firefly (318 MHz) · Nice FLO / FLO2 · CAME / Prastel (and the Holtek HT12A–HT12E chip they are built on) · CAME TWEE / TWIN · Gate TX · Ansonic · Clemsa · Marantec 24 · Hörmann HSM (433 / 868 MHz) · Nero Radio · Nero Sketch · Magellan · Revers RB2 / RB2M · Dooya · GangQi (blind, shade & curtain motors) · A-OK / Bofu (blind, shade & projector-screen motors) · Hollarm · Legrand · Phoenix V2 · Mastercode · Dickert MAHS · Beninca ARC · Roger · Nord Ice · Feron · Elplast · Honeywell / Friedland (wireless door chimes & push buttons) · Treadmill37 / QH-433 (treadmills & exercise machines) · Telcoma / Cardin EDGE (gate & barrier) · Marantec 49-bit (the Manchester family, alongside Marantec 24)

Output to Flipper Sub-GHz .sub, Sonoff RfRaw B0/B1, ESPHome RF, Arduino rc-switch, BroadLink, or raw µs — or keep the whole remote as .irc.

🔒 Rolling codes — identified, never faked

KeeLoq · Chamberlain / LiftMaster Security+ 1.0 & 2.0 · Genie Intellicode · Somfy RTS · Nice FloR-S · DITEC GOL4 · King Gates Stylo 4K · HAY21 · StarLine · car key fobs. These change on every press and cannot be cloned by any tool. We now decode and analyse DITEC GOL4 and HAY21 as well — the editor will read one out and tell you its serial, button and counter — but reading is all anyone can do with a rolling code. We label them so you know in five seconds what you're holding, instead of wasting an hour on something impossible.

🌐 Devices we drive over your network

No infrared and no radio at all — these answer on your own network, by IP address. Built in the Signal Editor’s Network tab ↗, and they come out as the same .irc as everything else.

📺 TV & Streaming
Roku · Kodi · VLC media player · Philips (JointSpace) · Enigma2 / OpenWebif (VU+ · Dreambox · Zgemma) · Panasonic Viera TV · Sony Bravia TV · Plex player · Jellyfin · Emby · DirecTV · Vizio SmartCast TV

🎵 Music Players & Streamers
WiiM (Mini · Pro · Amp · Ultra) · Volumio · Bluesound / BluOS (NAD · Bluesound) · Squeezebox / Logitech Media Server · Snapcast (multi-room)

🔊 AV Receivers
Denon / Marantz · Yamaha (MusicCast)

💡 Lights & LED
Philips Hue · Nanoleaf · WLED · Elgato Key Light

🔌 Plugs · Switches · Dimmers
Tasmota · Shelly (Gen1) · Shelly (Gen2/Plus/Pro) · ESPHome device

🪭 Fans · Fireplace · Shades · Climate
Bond Bridge · Venstar thermostat (ColorTouch / Explorer) · Daikin air conditioner

🔌 VIA THE PC BRIDGE RELAY — RAW TCP / UDP
PJLink projector · Onkyo / Integra (via bridge) · WiZ light (via bridge) · Wake-on-LAN (via bridge) · TP-Link Kasa (via bridge) · Yeelight (via bridge) · Denon HEOS (via bridge) · ErgoMotion bed (via bridge)

💻 PC Control
PC Keyboard · PC Mouse · PC Launcher

🖨️ Printers · Vacuums · Tablets · Sprinklers
Valetudo robot vacuum · OctoPrint 3D printer · Klipper / Moonraker · Fully Kiosk Browser · OpenSprinkler

🏠 Smart-Home Hubs
Home Assistant · Home Assistant — WHOLE HOUSE · Domoticz · AdGuard Home · Hubitat Elevation · openHAB · Node-RED · Pi-hole · Pi-hole v6 · SABnzbd · Sonarr (TV) · Radarr (Movies)

🖥️ Servers · Downloads · Containers
qBittorrent · Portainer (Docker) · Proxmox VE (VM)

📶 Bluetooth (BLE) device families

No blaster, no hub, no IP address — the phone talks straight to the motor controller over Bluetooth. Adjustable beds, recliners and lift chairs, standing desks, LED strips and bulbs, curtains and blinds, plugs, fans, air purifiers, humidifiers, a robot vacuum, radiator valves and a heated mug. Build one in the Signal Editor's Bluetooth tab ↗ and it comes out as the same .irc as everything else.

Brands these controllers are sold under: A H Beard · A-OK · Assmann · Awara · BeautyRest · BedTech · BetterLiving · BJ LED · BJ_LED · BLE-LED · Bluetooth Smart radiator valve · BTF-Lighting · CC-RT-BLE · CheersSleep · Chihiros · Chronos · Climate 360 · Comet Blue · Comfort Motion · Cool Base · Costco · Deskhaus · Desky · Dewert · DewertOkin · DMRRBA · Dream Motion · DreamCloud · duoCo · Dynasty · Ekornes · ELK-BLEDOM · Ember · Ember Ceramic Mug · Ember Mug · Ember Mug 2 · Ember Travel Mug · eQ-3 · Eqiva · Equiva · ErgoMotion · Eurotronic Comet Blue · FlexFit · FurniBus · FurniMove · GBK · Glide · Govee · Hankook · Happy Lighting · iDealLED · IDL · iFlex · ihoment · IKEA · INNOVA · IOTWF · ISP · JACKYLED · Jensen · Jiecang · LED HUE · LEDBLE · LEDBlue · LEDnetWF · Leggett & Platt · Leggett & Platt WiLinke · Lidl Silvercrest radiator valve · Lierda · Limoss · Linak · LinON · Logicdata · Lotus Lantern · Magic Hue · MagicBlue · Malouf · Mattress Firm · Mattress Firm 900 · Megamat · MELK · Member's Mark · MotoSleep · Nectar · NORA · Okimat · OKIN FFE · Posturematic · Purple · Q-Plus · QHM · Remacro · Restonic · Reverie · Reverie Nightstand · RGBZONE · Rize · Rondure · SBI · Scott Living · Sealy · Serta · Serta Motion Perfect · SILVERmotion · SimplicityFrame · SK6812 controller · Sleep Number · SleepSpa · SLEEPSTAR · Sleepy's · Sleepy's Elite · Slumberland · SmartBed by Okin · Solace · SOMA Shades 2 · SOMA Smart Shades · SOMA Smart Shades 3 · SOMA Tilt · SP105E · SP110E · STAR ELEVATE · Stawett · Structures · Sunset Lamp · Superlighting · SUTA · Svane · SwitchBot Air Purifier · SwitchBot Air Purifier Table · SwitchBot Battery Circulator Fan · SwitchBot Blind Tilt · SwitchBot Bot · SwitchBot Ceiling Light · SwitchBot Ceiling Light Pro · SwitchBot Circulator Fan · SwitchBot Color Bulb · SwitchBot Curtain · SwitchBot Humidifier · SwitchBot K10+ · SwitchBot LED Strip Light · SwitchBot Plug Mini · SwitchBot Relay Switch 1 · SwitchBot Relay Switch 1PM · SwitchBot Relay Switch 2PM · SwitchBot Robot Vacuum · SwitchBot Roller Shade · SwitchBot S1 · SwitchBot S1 Plus · SwitchBot S10 · SwitchBot Strip Light · SwitchBot WoAirPurifier · SwitchBot WoBlindTilt · SwitchBot WoBulb · SwitchBot WoCeiling · SwitchBot WoFan · SwitchBot WoHumi · SwitchBot WoPlugJP · SwitchBot WoPlugUS · SwitchBot WoRollerShade · SwitchBot WoStrip · Sygonix · Tempur · The Brick · TiMOTION · Triones · Universal WRGB · Uplift · Uplift Desk · Upndown · Vibradorm · WRGB II · WS2812B controller · Xavax · XROCKER · Zemismart · Zengge. Most bed brands don’t make the controller — they buy it. Find the controller and you have the bed.

The controller families, and what each one is ▾

Adjustable Bed
Adjustable bed — Costco Q-Plus · SBI · Adjustable bed — DewertOkin FurniMove · Adjustable bed — Mattress Firm 900 · iFlex · Adjustable bed — Nectar · DreamCloud · Awara · Adjustable bed — Okin NORA · Adjustable bed — Okin SmartBed · Adjustable bed — Rize · Adjustable bed — Rondure · 1500 Tilt · Adjustable bed — Scott Living · Restonic · Adjustable bed — Sleepy's Elite BOX24 · BedTech · Cool Base · Jensen (JMC400 / LinON) · Keeson (Serta / Motion Perfect) · Keeson BaseI4 · Keeson BaseI5 · Keeson KSBT · Keeson Sino (Dynasty / INNOVA / BetterLiving) · Leggett & Platt (Gen2) · Leggett & Platt (WiLinke) · Malouf (legacy Okin) · Malouf (new Okin) · MotoSleep · OKIN FFE (13 / 15 series) · Okin CB35 (Sealy Posturematic) · Okin ORE · Reverie · Reverie Nightstand (Protocol 110) · Richmat bed (Nordic UART) · Richmat bed (WiLinke) · STAR ELEVATE · SUTA Smart Home · Sleep Number (Climate 360 / FlexFit) · SleepSpa S9000AI / SLEEPSTAR · Sleepy's Elite (BOX15) · Sleepy's Elite (BOX25 Star) · Solace · Svane (LinonPI) · Vibradorm (VMAT)

Recliner & Lift Chair
DewertOkin (handle) · Leggett & Platt (Okin) / Okimat · Limoss / Stawett · Remacro · Stair lift — Okin Megamat · TiMOTION AHF

Bed & Standing Desk
Jiecang / Comfort Motion · Linak · Logicdata SimplicityFrame

Blinds & Shades
AM43 blind / shade motor · SOMA Smart Shades · SwitchBot Blind Tilt · SwitchBot Curtain · SwitchBot Roller Shade

Light Strip & Bulb
Aquarium light — Chihiros · BLE LED strip (BJ_LED) · BLE LED strip (ELK-BLEDOM family) · BLE LED strip (Triones / Happy Lighting) · BLE LED strip (Zengge LEDnetWF) · BLE LED strip (iDealLED) · Govee light (Bluetooth) · Pixel LED controller (SP110E / SP105E) · SwitchBot Ceiling Light · SwitchBot Color Bulb · SwitchBot LED Strip Light

Fan & Air
SwitchBot Air Purifier · SwitchBot Circulator Fan · SwitchBot Humidifier

Heating & Thermostat
Ember mug / travel mug · Radiator valve — Comet Blue / Sygonix · Radiator valve — eQ-3 / Eqiva

Robot Vacuum
SwitchBot Robot Vacuum

Switch & Button Pusher
SwitchBot Bot · SwitchBot Plug Mini · SwitchBot Relay Switch

Exercise Machine
Exercise machine (FTMS alternate) · Exercise machine (FTMS standard)

Octo, connects and answers a feature query instead of carrying a fixed button list, so it has nothing to show here yet.

Two things worth knowing. Motor buttons move only while you hold them — that is the hardware’s own dead-man switch, not a limitation. And READYWARE lets the connection go after a minute idle, because most of these controllers accept one connection at a time and holding it would lock out your own handset.

And it keeps growing. Radio isn't a code-per-model list the way infrared is — one family covers every remote built on that chip, so these reach thousands of models across named brands. New formats and protocols go in continuously, and each one is anchored to a real capture, a real file, or an authoritative spec before it ships.

Handy for prepping codes on a computer, then loading the .irc into the app.

🛜 Build a WiFi / Network remote — Roku, Kodi, Home Assistant & more

Some devices have no IR at all — they're controlled over your network. The Signal Editor's WiFi / Network tab builds a working remote for them: pick the device, enter its IP, download the .irc, and customize it here.

What it covers: TVs and streamers, music players and AV receivers, lights and LED, plugs and dimmers, fans and thermostats, printers, vacuums, sprinklers, PC control and the smart-home hubs. The complete list is in Formats & protocols we support above.

How it goes: ① open the Network tab and pick your device • ② type its IP address • ③ fill in anything it asks for • ④ press Generate and you get an .irc • ⑤ open that file with READYWARE and it arrives as a finished remote, every button already wired.

Reserve the IP in your router. If the router hands the device a different address later, the remote goes quiet — that is far and away the most common reason a working network remote stops working.

Most want nothing but that IP. A few want one thing more, and the editor tells you which as you pick it: Venstar thermostats need Menu → Wi-Fi → Local API turned on with Screenlock off · Daikin air conditioners work on the older WiFi module only, and take Celsius · OpenSprinkler wants the password as a lowercase MD5 hash, and counts zones from 0 · Vizio needs a token from a one-time pairing that shows a PIN on the TV · DirecTV needs External Access switched on in the box's own menu · Hue, Nanoleaf, Home Assistant, OctoPrint and friends want a key you make once in their own app and paste in.

Anything marked "via the PC Bridge" — PJLink projectors, Onkyo, WiZ, Wake-on-LAN, Kasa, Yeelight, HEOS, ErgoMotion — speaks raw TCP or UDP, which a remote button cannot send. Those go through the free PC Bridge script on any always-on machine (a Raspberry Pi or NAS suits it better than a desktop). There are two addresses to fill in: the bridge's at the top, and the device's own below it.

Buttons fire over HTTP, so no IR blaster is needed. Samsung & LG smart TVs use WebSocket and are handled natively in the app. See every device we control →

Three ways to make a button actually fire — which one am I doing?
  1. An IR / RF code on a button — for anything with a real remote: TVs, AC units, cable boxes, older gear. Needs a blaster. Add the blaster at Settings → Device Settings → Device Setup → Add Device → WiFi · USB IR · Onboard IR · Bluetooth · iTach · Tasmota. Then long-press a button → IR/RF Code tab. Get the code by learning it, or from Smart IR.
  2. A smart home device on a buttonno blaster at all. Register it once at Settings → Device Settings → Device Setup → Add Device → Smart Home → Add, pick the type (Philips Hue · Home Assistant · Kasa / Tapo · Generic HTTP · SwitchBot · WiZ Light · LIFX Light · Govee Light · Sonos · LG TV (webOS) · Samsung TV · + more). Then long-press a button → Other tab → choose the device and command. See Smart Home Integrations and Direct Device Control.
  3. A whole ready-made network remoteno blaster, and nothing to add in Device Setup. Open the Signal Editor → WiFi / NET tab, pick the device, type its IP, download the .irc, and load it in the app. Every button arrives already wired with its HTTP command. Roku · Kodi · Home Assistant · Denon / Marantz · Yamaha · Philips · WLED · Philips Hue · Nanoleaf · Tasmota · Shelly · + more

The overlap that trips people up: Hue, Home Assistant, Tasmota, Shelly, WLED and Nanoleaf appear in both route 2 and route 3. Same device, two ways in — route 2 registers it once so any button anywhere can reuse it, route 3 hands you a finished remote in one download. Use either, or both.

🎁
GET REMOTES

Every Way to Get a Remote & Program a Button

There are eight ways to end up with a working remote in READYWARE, and you never need the original in your hand for most of them. Pick whichever matches what you have.

The short version
What you have Use this Where
Nothing — just know the brandSmart IR WizardIn the app, or online
The original IR remoteLearn a codeIn the app — Emitting & Learning
A garage, gate, blind, fan or outlet remoteRF WizardOnline — RF tab
A Roku, Kodi, AVR or hub on your networkWiFi / Net builderOnline — WiFi tab
A smart TV, bulb or speaker (no blaster)Device SetupIn the app — Direct Devices
Codes in another formatSignal Editor / TransporterImport / Convert
A photo of the real remoteIRC Remote BuilderOnline builder
Someone already made oneDownload a shared remoteUpload · Download · Share

Every online tool hands you a .irc file. Open it in the app and it appears as a ready-to-use remote you can edit, restyle and rearrange however you like.

① In the app — the two everyday routes

Smart IR Wizard. Edit Mode → gear icon → Add Button → Easy Setup Wizard. Pick device type, brand and code set, and it programs the buttons for you from a database of over 1,000,000 codes across 12,000+ brands. No original remote needed.

Learn from the original. Point the old remote at your blaster and press. One button at a time, or use Learn All Buttons from the gear menu to walk an entire remote in one sitting. RF learning works exactly the same way — same screen, same flow, just a fixed-code radio remote instead of an infrared one.

Watch it happen: Step 5 — Smart IR and Learning IR (11:54) ↗ — the wizard programming a whole remote in seconds, then learning a code onto a single button. Setting up a blaster first? That is Step 4 — Hardware Setup (5:05) ↗, which also covers the devices that need no blaster. All five are listed under Start Here.
② Online — four builders, no account, nothing to install

All four live in the free IR/RF Signal Editor, and every one of them lets you 👁 PREVIEW the finished remote before you save anything:

None of this is a step you have to take. The app carries the same Smart IR Wizard and the same million codes, so you can do the whole job on the tablet and never open a browser. These exist for the times a keyboard and a big screen are easier, when you want to lay a remote out before you use it, or when you need the codes in a format other than ours.

🔍 Smart IR Wizard (IR tab) — the same million-code database as the app, but it downloads the whole remote at once. It can also take an .irc you already built and stamp real codes onto its buttons by matching their labels.

⚡ Only a few brands showing? That is not the whole list. The brand step opens on the popular makers, because that is what most people need and it loads instantly. Underneath it sits the full database — 12,000+ brands, over 1,000,000 codes — and the ⚡ WARLOCK button loads it. Small makers, discontinued models, house brands and the odd rebadge all live in there. The wizard now says so on screen the moment a search comes up short, so you never have to wonder whether we simply do not have your brand. (⬇ MORE BRANDS is the middle step — bigger than the opening list, faster than WARLOCK.)

📻 RF Wizard (RF tab) — brand-led radio remotes: garages, gates, blinds, ceiling fans, outlets, doorbells, sensors. Full walkthrough in the next section.

🛜 WiFi / Network builder (WiFi tab) — device types that answer over IP. TV & streaming: Roku, Kodi, VLC, Philips JointSpace, Enigma2, Panasonic Viera, Sony Bravia, Jellyfin, Emby, Plex. Audio: Denon/Marantz, Yamaha MusicCast, Onkyo/Integra, HEOS, Volumio, BluOS, Squeezebox. Light: Hue, Nanoleaf, WLED, WiZ, Yeelight, Kasa. Switches: Tasmota, Shelly Gen1 & Gen2, Bond Bridge, ESPHome. Hubs: Home Assistant (one player or your whole house), Hubitat, openHAB, Node-RED, Domoticz. Network & utility: Pi-hole, AdGuard, Wake-on-LAN, Fully Kiosk, SABnzbd. And the odd ones: PJLink projectors, OctoPrint and Moonraker 3D printers, Valetudo robot vacuums, ErgoMotion beds, and PC keyboard/mouse/launcher. Hit 👁 PREVIEW and the remote is drawn straight away on a sample address, so you can see what you would get before you go and find your device's IP. Put your own IP in when you want to save it.

Panasonic Viera and the Sony d-pad are new. Both speak SOAP rather than plain JSON, which needs a custom Content-Type and a SOAPACTION header per button — so they were out of reach until READYWARE learned to send those. Viera arrives with 17 keys on port 55000; Sony goes from 10 buttons to 17, gaining Home, the full d-pad, OK and Back over IRCC while its existing JSON buttons keep working on the same PSK.

🎨 IRC Remote Builder (online builder) — drop a photo of the real remote and lay transparent buttons over it, or drag your own layout from scratch. Wallpapers, icons, macros, and IR + RF + WiFi buttons mixed on one screen.

③ In the app — Device Setup, for gear with no blaster at all

Some devices don't speak IR or RF and can't be reached by a downloadable file either — they use UDP, WebSocket or SOAP. Those are built straight into the app: Settings → Device Setup → Other, then fire them from the Button Editor's Other tab.

Point-and-click TVs: LG webOS, Samsung Tizen. Bulbs & strips: WiZ, LIFX, Govee. Speakers: Sonos. Hubs & the rest: Philips Hue, Home Assistant, Kasa / Tapo, Shelly, SwitchBot, MQTT and generic HTTP.

Credentials and pairing keys stay on your device — they never travel inside a shared .irc. Full detail in Direct Device Control and Smart Home Integrations.

One button can do all of it. Because .irc is the only format that carries IR, RF and network actions together, a single remote can hold an infrared TV power button, a 433 MHz blind, and an HTTP call to Home Assistant — side by side on one screen, in one macro if you like.
🧠
06

Smart IR — Auto-Program Buttons

Don't have the original remote? No problem. READYWARE's database of over 1,000,000 codes across 12,000+ brands programs your buttons automatically — no learning needed.

▶️ Watch it: auto-program a whole remote in seconds The full walkthrough — Smart IR programming an entire remote straight from the database, then learning a code onto a single button by hand. RF learning works exactly the same way — same screen, same flow. ↗
1
Open a remote in Edit Mode

Tap the gear icon → Add Button → Easy Setup Wizard.

2
Select your device type and brand

Choose TV, AC, cable box, satellite, etc. Then search for your brand. READYWARE finds every signal for that device.

3
Apply to your buttons

READYWARE matches signals to your existing buttons by label — Power matches Power, Vol+ matches Vol+, etc. Unmatched signals are added as new buttons. Tap Apply and it's done.

📻
RF WIZARD

The RF Wizard — Build a Radio Remote Without the Original

Smart IR finds infrared codes by brand. The RF Wizard does the same job for radio — garage doors, gates, roller blinds, ceiling fans, plug-in outlets, doorbells and sensors. It lives in the free Signal Editor, on the RF tab.

⚡ The short version — about two minutes

Pick your gear. Pick your brand. Either flip the little switches you can already see inside your remote, or paste one captured button. Download. Open it in the app.

There is no RF video yet — watch the IR one instead. Step 5 — Smart IR and Learning IR (11:54) ↗ shows the Smart IR Wizard end to end. The RF Wizard walks the same way — pick the gear, pick the brand, set the address, then preview it and save it — just on the RF tab. Watch that one and you have watched this one.

That's it. No coding, no soldering, nothing to install, no account. You end up with a normal READYWARE remote you can restyle and rearrange like any other. The rest of this section is just the why, for anyone who wants it — you can skip straight to the steps.

One thing to check first — can your hardware send radio? The wizard builds the signal; something still has to transmit it, and for 300–868 MHz that has to be RF-capable. An infrared blaster cannot send radio, however good the file is.
🔧 Chamberlain, LiftMaster & Craftsman — nothing to capture, nothing to learn

If your garage remote has a bank of little switches inside the battery door — 7, 8 or 9 of them — those switches are the code. There is nothing secret to capture. Pick the matching Chamberlain row in the wizard, flip the same switches on screen, and download the remote. That is the whole job.

The same bank is usually printed on the back of the opener's motor unit too, so you can do this even if the original remote is long gone.

We handle the fiddly part for you: Chamberlain numbers switch 1 as the most significant, its 9- and 8-position banks run their last positions backwards, and the 8-position format has one switch it never transmits at all. Copy the bank left to right exactly as you see it — the wizard does the rest.

📡 One thing you do still need: something that can transmit radio. The switches are your remote’s code — its name, not its voice. The wizard turns that code into a .irc you open in the app; when you press the button, your phone hands it over WiFi to a blaster and the blaster puts the radio in the air. For 300–868 MHz that has to be RF-capable gear — any of it, we are not tied to one brand: a WiFi hub with RF built in, a Sonoff RF Bridge, an ESP32 or Arduino with a 433 MHz module, a Flipper Zero, a Bond Bridge, and more all the time. Infrared-only hardware cannot do it — the cheaper mini blasters, USB-C IR dongles and your phone’s built-in blaster. What can transmit RF →
How do I know which one I have? Count the switches. Nine → the 9-DIP row. Eight → the 8-DIP row (position 6 does nothing, that is normal). Seven → the 7-DIP row. Most of these are 390 MHz; if your opener is from the 1980s or 90s try the 300 / 310 / 315 MHz row instead.
Not this? If your remote has a round yellow, orange, purple or red learn button on the opener and no switches at all, it is Security+ — a rolling code, and nothing on earth can clone it. The wizard says so on the brand screen rather than letting you try.
📡 What can transmit RF — you have options

Anything that can send sub-GHz works. We're not tied to one brand, and the export formats tell you why — each one exists because people transmit with that thing:

🔌 A WiFi hub with RF built in — the BroadLink RM4 Pro / RM Pro is the usual pick, and the easiest if you want no wiring. Save the remote as .irc and you're done.
📻 Sonoff RF Bridge (Portisch or Tasmota firmware) — export as Sonoff RfRaw B0.
🔧 ESP32 / ESP8266 with a few-dollar 433 MHz module — export as ESPHome RF.
⚙️ Arduino with the same module — export as Arduino rc-switch.
🐬 Flipper Zero — export as Flipper Sub-GHz .sub.
🪭 Bond Bridge — purpose-built for the RF that ceiling fans, fireplaces and shades use.

Press LOAD ▶ on any generated button and the editor's format picker gives you whichever of those you need.

What won't work: infrared-only hardware. That's the RM4 Mini / RM Mini, USB-C IR dongles (Tiqiaa, ElkSmart, Ocrustar, ZaZaRemote), FLIRC, Irdroid, and your phone's built-in blaster. They're excellent for IR and simply have no radio in them. Not sure what you've got? See Hardware ↗.
Which one do I need? The five-second test

👉 Do you have to point it at the device? That's infrared — use Smart IR.
👉 Does it work through walls, from your pocket, around a corner? That's radio — use the RF Wizard.

Not sure? Check both. Ceiling fans, blinds, doorbells and outlets are sold in both kinds, so the same brand can appear in either wizard. The two tools link straight to each other on the page.

Why radio asks one question infrared never does

Every Sony TV of the same model answers to the same infrared code. That's exactly why a million-code IR database works.

Radio is deliberately the opposite. If every garage remote of one model shared a code, your neighbour's remote would open your door. So each unit carries its own address, and the wizard has to learn yours. There are only two ways it's ever set, and both are handled:

🎚️ DIP switches — a little bank of switches inside the battery compartment. The wizard draws them on screen; flip them to match yours. No capture, no learning, no codes to hunt down. Lost the remote completely? The same switches are in the receiver — inside the fan canopy or the gate control box. Read them there and you're done.

📡 Self-learning — the address was burned in at the factory and paired to the receiver. Capture any one button from your existing remote (Flipper Zero, an RTL-SDR, or RF learn in the app), paste it in, and the wizard reads the address out of it and generates every other button from that. Capture one, get the whole remote.

Start to finish
1
Open the RF tab and pick what you're controlling

Garage & Gate · Ceiling Fan · Blinds & Shades · Outlets & Switches · Doorbell · Sensors & Alarm · RF Lighting · Other. Or just type what you are after — the search box above the tiles looks across every kind of remote the site knows, not only radio ones, so a brand typed here is answered even if it turns out to be infrared or Bluetooth.

2
Pick your brand or model

Rolling-code brands are shown 🔒 greyed out right here, with the reason and what to use instead — so you never walk halfway in and hit a dead end. Every other row carries ✓ SELECT and 👁 PREVIEW, so you can look at a remote before you commit to it. Don't see yours? Most gear is one of these families underneath; use the RF Generator above with a capture, and send it to us so we can add the brand.

3
Tell it about your unit

Flip the DIP switches on screen to match yours, or paste one captured button and let it read the address out. Some models have a fixed factory address and skip this step entirely.

4
See it, then save it in the format you want

Hit LOAD ▶ on any button to see its waveform, or 👁 PREVIEW to open the whole remote drawn exactly as it will look — labels, colours, layout and all. Then pick a format in SAVE AS and hit ⇓ SAVE. .irc is the one that carries a whole remote, but Flipper, Pronto, LIRC, BroadLink, Home Assistant, Global Caché and the rest are all right there if that is what your gear takes.

Already built a remote you love? Use 📂 OPEN .irc → 🎯 PROGRAM instead. Walk the wizard, and it stamps the RF codes onto your existing buttons by matching their labels. Your wallpaper, colours, icons, positions, macros and any infrared codes already on the remote all survive untouched — you end up with a genuine mixed IR + RF remote.
Everything it makes is yours to edit

The .irc that comes out is fully editable — it's not a locked package. Once it's in the app you can move and resize every button, change colours, icons and labels, set a wallpaper, add it to a folder, wrap buttons in macros, add Live State feedback, or drop the whole thing onto a completely different skin with the Signal Transporter.

Need a different file format? Press LOAD ▶ on any generated button to make it the editor's live signal, then use the normal format picker: Flipper .sub, Sonoff RfRaw B0, ESPHome RF, Arduino rc-switch, BroadLink or raw µs. .irc is the default because it's the only format that carries a whole remote — the rest are there for when you want to take a code somewhere else.

🔒 What nobody can copy — including us

Rolling-code remotes send a different code on every single press, and the receiver refuses any code it has seen before. Copying one press gets you a code that has already expired. That is the security doing exactly its job, and no tool on earth can duplicate it — anything claiming otherwise is misleading you.

This covers Chamberlain / LiftMaster Security+ 1.0 & 2.0, Genie Intellicode, Somfy RTS, Nice FloR-S, DITEC GOL4, King Gates Stylo 4K, HAY21, KeeLoq-based remotes generally, and virtually every car key fob.

What does work instead: a bridge that already talks to the unit (Bond Bridge, MyQ, a Somfy TaHoma), a hub integration through Home Assistant, or simply pairing a spare genuine remote to the receiver the normal way — then drive that from READYWARE.

07

Speed Buttons — one set of controls, every device

Put a few buttons on your room photo — power, volume, a d-pad — and let them switch which device they run. Tap TV and they're your TV. Tap Satellite and the same buttons are your satellite box. Tap the same selector again and the full remote opens. Nothing moves, nothing is duplicated per room, and it works with IR, RF, macros, and web commands.

Three kinds of buttons — this is the whole idea

1 · The real remote's buttons (the source). Where the codes actually live. You tag them so speed buttons can find them. They keep working normally.

2 · The speed button (on your room). Has no code of its own — it asks the armed remote for a role, e.g. "give me volume up."

3 · The selector (the switch). Tap it to arm a remote. Tap it again to open that remote.

Heads up: the Other tab has two speed entries and they are not the same — Speed Button (the one that asks for a role) and Speed Selector (the switch that arms a remote). Easy to miss.

1
Tag your real remotes

Open each remote (TV, Satellite, IPTV…). For each button you want available, edit it → Style tab → Speed Button Role → pick power, vol_up, ok, etc. Do this on every remote you want to switch between, using the same role names.

This only labels the button. It does not change how it fires — your remotes keep working exactly as they do now.

2
Add your speed buttons to the room

On your room (folder), place the buttons you want — vol +, vol −, power, d-pad. Edit each → Other tab → Speed Button → pick the matching role.

A speed button doesn't need a code of its own. If it had one, it's no longer used.

3
Add a selector for each device

Make a button per device (name them "TV", "Satellite", "IPTV"). Edit each → Other tab → Speed Selector → choose that remote. Make sure the remote shows a check.

4
Make the active one light up

Edit a selector → Style tab → turn on 2-State Toggle → design the ON look (your color, icon, shape, label). It shows that look only while it's the armed device — and only one can be lit at a time.

5
Use it

Tap TV → your speed buttons now run the TV, and TV lights up. Tap Satellite → the same buttons instantly run the satellite box. Tap the lit selector again → the full remote opens.

Where each setting lives

Real remote's button → Style tab → Speed Button Role  (the tag)

Room's speed button → Other tab → Speed Button → role  (the ask)

Selector button → Other tab → Speed Selector → remote  (the switch)

Selector's color → Style tab → 2-State Toggle → ON look

Simple rule: Style = what a button IS. Other = what a button DOES.

Good to know

Dim buttons are normal. Before you tap a selector, nothing is armed — speed buttons are dim and do nothing. A dim button after arming means that remote has no button tagged with that role: tag it, and it lights up. Only that one button dims; the rest keep working.

Use as many as you like. 5 buttons or 20, different in every room — there's no limit. Roles are just names you type, not a fixed list: the common ones are one-tap picks, but hdmi_1hdmi_5, fan_speed, or subwoofer work exactly the same. Give the matching button on each remote the same name and you're done.

Everything comes along. IR, RF (fans, ACs), macros, and web commands all work, fired from whichever blaster that remote uses.

Add a second selector. With only one, you can arm it but never switch away. Two or more trade off cleanly.

All your tablets. Tags and selectors live in your remotes and folders — build it once, export your profile, load it everywhere.

Don't need switching? Just borrow the code

If a device never changes — your A/V receiver's HDMI 1-5, say — you don't need Speed Buttons at all. Give the room button a Macro with one IR / RF step, choose Browse from another remote, pick the A/V remote, and select HDMI 1. READYWARE copies that code over for you — no re-learning, no exporting, nothing to move. Repeat for the rest.

Rule of thumb: fixed device → borrow the code (always live). Switching devices → Speed Buttons (follow whatever's armed). Mix both on one room: inputs always hot, speed buttons following the armed device.

🏠
08

Smart Home Integrations

READYWARE controls IR/RF devices and smart home devices from the same canvas. Eleven integrations are built in, pick whichever matches your gear. Bluetooth devices land in this same Smart Home list, they are just added from the Bluetooth tab instead of this one, because the app finds them by scanning rather than by you typing an address. Once saved they behave identically: long-press a button, assign it, drop it in a macro. Mix freely in a single macro: one button can fire a BroadLink IR signal, dim Hue lights, change AC temperature on a SwitchBot, and publish an MQTT message all at once.

How smart home buttons work in READYWARE

There are two parts:

  1. Add the device onceSettings → Device Settings → Device Setup → Add Device → Smart Home → Add. Tapping Smart Home is not enough on its own: the Add button underneath it is what opens the device list. Pick your type, paste the URL + token (or whatever that integration needs), tap Test, Save. You're done with setup.
  2. Assign to a button — long-press any button → Other tab → pick the action type that matches (HTTP GET/POST/PUT for Hue/Home Assistant/Generic, MQTT for brokers, SwitchBot for SwitchBot). Fill in endpoint or command, save.

Credentials are stored locally on your phone or tablet only — never sent anywhere except directly to the device or API you configured.

Everything in the Add Device row: WiFi · USB IR · Onboard IR · Bluetooth · iTach · Tasmota · Smart Home · + more

Everything under Smart Home → Add: Philips Hue · Home Assistant · Kasa / Tapo · Generic HTTP · SwitchBot · WiZ Light · LIFX Light · Govee Light · Sonos · LG TV (webOS) · Samsung TV · + more

Every one of these uses the same three fields to start — Name, Base URL (http://192.168.1.45, no trailing slash, port only if needed), and the auth field for that type — then Test and Save. The TVs and bulbs from Direct Device Control are in this same list.

💡 Philips Hue

What it does

Direct control of Hue lights, scenes, and rooms over your local network. No Hue cloud account needed once paired — fires instantly, works offline. Bulbs, light strips, Hue Play bars, motion sensors as triggers, dynamic scenes, color and brightness — all controllable from READYWARE buttons.

Step 1 — Get your Hue Bridge IP and app key

The easiest path is the official Hue developer page: developers.meethue.com/develop/get-started-2. Follow the "Get Started" guide — press the link button on your physical Hue Bridge, then make the API call to receive your application key. Save both the Bridge IP (e.g. 192.168.1.45) and the app key (a long random string).

Step 2 — Add to READYWARE

Settings → Device Settings → Device Setup → Add Device → Smart Home → Add → pick Philips Hue. Name it (e.g. "Living Room Hue"), paste http://192.168.1.45 as Base URL, paste the app key as the auth field. Tap Test — you should see a 200 response. Save.

Step 3 — Use it on a button

Long-press a button → Other tab → HTTP PUT. URL: http://192.168.1.45/api/<app-key>/lights/1/state (replace 1 with your light ID). Body: {"on":true,"bri":100} for full brightness, or {"on":false} for off. The Hue API documentation lists every available endpoint for groups, scenes, and individual lights.

🏡 Home Assistant

What it does

Full Home Assistant integration. If a device works in HA, it works in READYWARE — every domain HA supports (light, switch, climate, cover, media_player, fan, scene, automation, script, input_boolean, all of it). Bridge Zigbee, Z-Wave, Matter, and a hundred custom integrations through HA into READYWARE.

Step 1 — Generate a long-lived access token

In Home Assistant: click your username (bottom-left) → scroll to Long-Lived Access Tokens at the bottom → Create Token. Name it "READYWARE", copy the token immediately (HA only shows it once). If you lose it, just create a new one.

Step 2 — Add to READYWARE

Settings → Device Settings → Device Setup → Add Device → Smart Home → Add → pick Home Assistant. Name it, paste your HA URL (e.g. http://homeassistant.local:8123 or http://192.168.1.50:8123), paste the long-lived token. Tap Test — should connect. Save.

Step 3 — Use it on a button

Long-press a button → Other tab → HTTP POST. URL: http://homeassistant.local:8123/api/services/<domain>/<service>. Body: {"entity_id":"light.living_room"}. Example to turn on a light: URL .../api/services/light/turn_on, body {"entity_id":"light.kitchen","brightness":200}. For scenes: .../api/services/scene/turn_on, body {"entity_id":"scene.movie_time"}.

The auth token is added automatically as a Bearer header — you don't have to enter it again in the button.

Have Shelly devices? You can run them through Home Assistant, but Shelly also works directly over local HTTP with no hub at all — often simpler. See the Shelly command reference below.

🔌 TP-Link Kasa / Tapo

What it does

Control your Kasa and Tapo smart plugs, switches, and bulbs from any button — on, off, dim, and scenes. Kasa speaks TP-Link's own local protocol rather than plain HTTP, so READYWARE reaches it through Home Assistant, which talks to every Kasa and Tapo generation natively — old hardware and new.

Setup

Add your Kasa/Tapo devices in the Kasa app first (to get them on WiFi), then add them to Home Assistant — HA auto-discovers most TP-Link devices. In READYWARE: Settings → Device Settings → Device Setup → Add Device → Smart Home → Add → Home Assistant, paste your HA URL (e.g. http://homeassistant.local:8123) and a Long-Lived Access Token from your HA profile.

Use it on a button

Long-press a button → Other tab → HTTP POST, then call the Home Assistant service for your device. For a plug: URL http://<ha>:8123/api/services/switch/turn_on (or turn_off), body {"entity_id":"switch.living_room_plug"}, with your token as the auth. Lights, dimmers, and scenes work the same way through their HA services. Once it's in Home Assistant, every Kasa and Tapo generation controls identically — and the same button can sit in a macro alongside your IR.

🌐 Generic HTTP / REST API

What it does

The flexible catch-all. Anything with an HTTP API — Shelly relays, WLED LED strips, Nanoleaf panels, Bond Bridge (ceiling fans, fireplaces, shades), Tasmota and ESP32 / ESPHome devices, Hubitat (Maker API), Sonos via node-sonos-http-api, Pi-hole controls, routers, NAS systems, custom microservices, webhooks, IFTTT triggers, Zapier hooks — all work. If you can hit it with curl, READYWARE can hit it from a button.

WiFi light switches & dimmers: Shelly works directly over local HTTP — no hub, no cloud account. On/off relays use relay / Switch, while dimmers use light / Light (a dimmer is not a switch — that mismatch is the #1 cause of a 404). See the full Shelly command reference just below for every generation. Tuya / Smart Life switches work once flashed with Tasmota or ESPHome; and Kasa / Tapo switches connect through Home Assistant (see the Kasa section above).

And just about everything else, via Home Assistant: if a device isn't directly HTTP — Kasa/Tapo, Z-Wave, Zigbee (incl. Zigbee2MQTT), Sonos, Nest / Ecobee thermostats, smart locks, garage doors, blinds — Home Assistant bridges it, so virtually any of the thousands of devices HA supports can drive a READYWARE button. LIFX and Govee also work through their cloud HTTP APIs, and hubs like Homey, Hubitat, Node-RED, openHAB, and Domoticz work via webhook or REST.

Setup

Settings → Device Settings → Device Setup → Add Device → Smart Home → Add → pick Generic HTTP. Name it, paste the base URL of the service, optionally add an API key / bearer token. Saved devices appear in the Smart Home list for easy reuse across many buttons.

Use it on a button

Long-press a button → Other tab → pick HTTP GET, HTTP POST, or HTTP PUT depending on what the API expects. Paste the full URL, the body (for POST/PUT), and the auth token if needed. For webhooks like IFTTT or Zapier, HTTP GET with the webhook URL is usually all you need.

Custom headers: the auth field defaults to sending as Authorization: Bearer <token>. If your API needs a different header (like X-Api-Key or hass-token), you can set the Custom Header Key field.

🔦 All Shelly commands — Gen1 & Gen2+ · relays · dimmers · RGBW ▼ Open
✅ Shelly Dimmer 2 (and any Gen1 dimmer) — this is the whole thing
On   → http://192.168.1.XXX/light/0?turn=on
Off   → http://192.168.1.XXX/light/0?turn=off
Toggle → http://192.168.1.XXX/light/0?turn=toggle  (one button for both)
Brightness → http://192.168.1.XXX/light/0?turn=on&brightness=50  (0–100)
Brightness only → http://192.168.1.XXX/light/0?brightness=20  (no on/off change)
No /rpc/, no Switch.Set. Just /light/0?turn=on or off. Swap 192.168.1.XXX for your dimmer's IP.
The one rule that saves you: Gen1 (like the Dimmer 2) uses the legacy paths /relay/ /light/ /color/never /rpc/. Gen2+ / Plus / Pro uses /rpc/ with a component name (Switch, Light, Cover). And a dimmer is always "Light," never "Switch" — using Switch.Set on a dimmer returns a 404.

Not sure which generation you have? Type the device's IP into a browser (http://192.168.1.XXX). If the URL bar / web UI shows the newer Shelly interface it's Gen2+; the older, plainer page is Gen1. Or just try both formats below — the wrong one errors harmlessly.

Gen1 — legacy HTTP (Shelly 1, 1PM, 2.5, Dimmer 1/2, Duo, Vintage, RGBW2)

  • Relay/switch (Shelly 1 / 1PM / 2.5): http://192.168.1.XXX/relay/0?turn=on · turn=off · turn=toggle · turn=on&timer=30
  • Dimmer (Dimmer 1/2, Duo): http://192.168.1.XXX/light/0?turn=on · turn=off · turn=toggle · turn=on&brightness=50 · brightness=50 (set level without changing on/off)
  • Dimmer — step dimming: http://192.168.1.XXX/light/0?dim=up&step=10 · dim=down&step=10 · dim=stop
  • RGBW color (RGBW2): http://192.168.1.XXX/color/0?turn=on&red=255&green=0&blue=0&gain=100

Gen2+ / Plus / Pro — RPC (Plus 1, 1PM, 2PM, Mini series, Pro series, Plus/Pro Dimmer, Gen3 & Gen4)

  • Relay/switch (Plus 1 / 1PM / 2PM, Pro): http://192.168.1.XXX/rpc/Switch.Set?id=0&on=true · on=false · http://192.168.1.XXX/rpc/Switch.Toggle?id=0
  • Dimmer (Plus Wall Dimmer, Pro Dimmer, Dimmer Gen3): http://192.168.1.XXX/rpc/Light.Set?id=0&on=true · on=false · on=true&brightness=50 · http://192.168.1.XXX/rpc/Light.Toggle?id=0

The 0 (or id=0) is the channel — the first output. On a 2-channel device the second output is 1. Brightness is 0–100. toggle is handy for a single on/off button.

⚠️ Type it EXACTLY — Shelly commands are case- and character-sensitive
  • Capitals matter. It's Switch.Set, Switch.GetStatus, Switch.Toggle, Light.Set — never switch.set. Type them exactly as shown, capital letters and all.
  • Zero, not the letter O. It's id=0 (the number zero), never id=O. This one is nearly invisible and breaks everything.
  • No spaces anywhere. on=true, never on =true. A single stray space breaks the whole URL.
  • Match the component to the device. On/off relays use Switch; dimmers use Light. Using Switch.Set on a dimmer (or Light.Set on a relay) returns a 404.
  • Same device, same IP. Your command URL and your live-state GetStatus URL must point at the same Shelly's IP address.
Test in a browser first. Paste the full command into any browser on the same WiFi. If the relay clicks and you see JSON like {"was_on":false}, the command is perfect — so the problem is how it's typed on the button (delete the step and retype it fresh). If you get a login box instead, the device has a password: set the button's login to Digest, or clear the password in the Shelly app.
🔮 Same commands on Gen2, Gen3, Gen4 — and beyond. Every Shelly from Gen2 onward speaks the same RPC API, so the /rpc/Switch.Set (relay) and /rpc/Light.Set (dimmer) commands above are identical on Gen2, Gen3, Gen4, and newer generations. Only Gen1 uses the old /relay/ /light/ paths. Got a brand-new model and not sure? Ask the device itself: http://192.168.1.XXX/rpc/Shelly.GetDeviceInfo shows its gen number, and http://192.168.1.XXX/rpc/Shelly.ListMethods lists every command it supports. Then match the component to the job — Switch = on/off relay, Light = dimmer, Cover = shades/blinds — and use its .Set. Whatever Shelly ships next, the pattern holds.
✅ The reliable recipe for a button that never flip-flops. Use Switch.Set?id=0&on=true / on=false for the command, and Switch.GetStatus (Value Path output) on the Style side for the button's look. Set forces an exact state, so the command can never drift, and the live status read keeps the on/off look honest even if the light gets switched by the Shelly's own button, a schedule, or the app. You can also use Switch.Toggle for a single do-it-all button — that's perfectly fine as long as you still read live state for the look. The one setup to avoid is toggle with no status read: with nothing confirming the real state, the button eventually falls out of sync and shows the wrong on/off look.

Command works in a browser but still won't fire from a button? See "My Shelly turns on in a browser but the button won't fire it" in the FAQ.

You don't have to add Shelly in Device Setup. For Generic HTTP, registering the device in Settings → Device Settings → Device Setup → Add Device → Smart Home → Add is optional — it only saves a base URL for reuse across many buttons. You can skip it entirely and paste the full URL straight onto a button (long-press → Other → HTTP GET). That's why your Shelly works even though you never "set it up" in READYWARE.
No Shelly app required either. A brand-new Shelly broadcasts its own WiFi hotspot (e.g. shellydimmer2-XXXXXX). Connect to it, open http://192.168.33.1 in any browser, and set your WiFi + a static IP right there in the device's built-in web UI — no app, no cloud account. The Shelly app is just a convenience for onboarding and finding IPs.
Give each Shelly a static IP (in the device web UI, or a DHCP reservation in your router) so the address never changes and your buttons never break.

📡 MQTT

What it does

Publish to an MQTT broker on your local network. Used widely with Home Assistant + Mosquitto, ESPHome devices, Zigbee2MQTT, Tasmota firmware on Sonoff devices, and many custom DIY automation setups. Lets one button trigger anything subscribed to a topic — multiple devices and automations can react to the same message.

Setup

You'll need an MQTT broker on your local network. The most common combo is Mosquitto (open-source broker) running on a Raspberry Pi or alongside Home Assistant. Once your broker is running, MQTT in READYWARE has no separate "device" entry to add — just use it directly on a button.

Use it on a button

Long-press a button → Other tab → MQTT Publish. Three fields:

  • Broker: mqtt://192.168.1.100:1883
  • Topic: home/living_room/tv/power (anything you've configured a device or HA automation to listen on)
  • Payload: {"state": "ON"} or just ON — whatever the listener expects

Best paired with Home Assistant — you can publish from READYWARE and have HA's MQTT integration trigger any automation in response.

Using Shelly? Gen2+ Shelly devices can be driven over MQTT, but the simplest path is plain local HTTP — no broker needed. See the Shelly command reference above.

☁️ SwitchBot Cloud

READYWARE works with the entire SwitchBot Hub family — Hub Mini, Hub 2, Hub 3, and Hub Plus. Any virtual remote or scene you've set up in the SwitchBot app can be fired from any READYWARE button.

⚠️ Important — order of operations

SwitchBot's API can only fire commands that already exist in your SwitchBot app. It cannot learn new IR codes. So you must set up your remotes in the SwitchBot app first, then assign them to READYWARE buttons.

Use SwitchBot's "Smart Matching" or "Select Manually" mode whenever possible — these give you a full virtual remote with preset commands (Power On, Volume +, Channel +, etc.) that READYWARE can pick from a dropdown. The "Others" / DIY mode works too, but you'll have to type the exact button names manually.

Step 1 — Set up your devices in the SwitchBot app

Open the SwitchBot app, pair your Hub, and add one or more IR remotes (TVs, ACs, fans, lights, etc.). Test that each remote works from inside the SwitchBot app first. If a button doesn't work in SwitchBot, it won't work in READYWARE either — fix it in the SwitchBot app first.

Step 2 — Get your SwitchBot API token + secret

In the SwitchBot app: Profile → Preferences → tap "App Version" 10 times → Developer Options → Get Token. Copy both the Open Token and the Secret.

Step 3 — Add SwitchBot to READYWARE

In READYWARE: Settings → Device Settings → Device Setup → Add Device → Smart Home → Add → SwitchBot. Paste the Open Token and Secret, give the account a name (e.g. "My SwitchBot"), tap Test. If it connects, tap Save Device.

Once saved, tap the refresh icon next to your SwitchBot account in the device list. READYWARE pulls in all your virtual remotes and scenes and caches them locally — no further API hits until you refresh again.

Step 4 — Assign SwitchBot commands to buttons

In Edit Mode, long-press any button → Other tab → pick SwitchBot from the action list. Choose:

  • Account — which SwitchBot account this button uses
  • Target — Virtual Remote or Scene
  • Remote / Scene — which one from your SwitchBot setup
  • Command — pick from the preset list (Power, Volume +, etc.) OR tap "+ Custom Name" and type a button name from your SwitchBot app exactly as it appears (case-sensitive)

Tap Test Now before saving — it fires the command immediately so you can verify before committing.

DIY remotes — naming gotcha

If you used SwitchBot's "Others" / DIY mode to learn IR codes, the API requires the button name exactly as labeled in the SwitchBot app, case-sensitive. SwitchBot does not expose these names through their API, so you must type them yourself. Common defaults are Power, Volume Up, On, Off. If unsure, switch to Smart Matching or Select Manually mode — those give clean preset commands.

What it can't do

SwitchBot integration is for firing commands SwitchBot already knows. READYWARE cannot teach the SwitchBot hub new IR codes through the API — that has to be done in the SwitchBot app. For free-form IR learning, use READYWARE's own learning workflow with BroadLink, USB IR, onboard IR, or iTach.

🏠 Homey (Homey Pro)

What it does

Fire any Homey Flow from a READYWARE button. Homey has webhooks built in, so there's no extra app to install — you point a Generic HTTP button at a Homey webhook and your Flow runs. Use the local URL and nothing touches the cloud: button tap → local request on your WiFi → Homey runs the Flow. Sub-second.

Step 1 — Build the Flow in Homey

In the Homey app, create a Flow. For the When card choose Logic → "Webhook event […] has been received." Type a unique event name, e.g. movie_night. Add your action cards (lights, AC, a scene, whatever) and save. Tip: hover the ⓘ on the webhook card to copy the ready-made URL.

Step 2 — Get your webhook URL

Local — lowest latency, no cloud (phone on the same WiFi as Homey): http://<homey-ip>/webhook?event=movie_night. Older 2016–2019 Homey models use http://<homey-ip>/api/manager/logic/webhook/movie_night; self-hosted Homey listens on port 4859.

Cloud — works from anywhere: https://webhook.homey.app/<homey-id>/movie_night. Find your Homey ID in More ⋯ → Settings → General.

Step 3 — Use it on a button

Long-press a button → Other tab → HTTP GET → paste the URL → Save. No token needed — the event name is the key. Tap to test; your Flow fires.

Tip — keep it fully local

Use the local IP URL so the whole chain stays on your LAN — no cloud round-trip anywhere. Set a DHCP reservation for Homey so its IP never changes.

🏠 Hubitat Elevation

What it does

Trigger Hubitat over your local network using its Maker API — control any device or run any rule/scene from a READYWARE button, fully local.

Setup

In Hubitat: Apps → Add Built-In App → Maker API. Select the devices to expose and enable local access. Maker API then lists a local URL for every command, e.g. http://<hubitat-ip>/apps/api/<appID>/devices/<deviceID>/on?access_token=<token>.

Use it on a button

Long-press a button → Other tab → HTTP GET → paste the Maker API URL (including its access_token) → Save → test. Swap /on for /off, /setLevel/50, etc., per the endpoint list Maker API shows you.

Assign your Hubitat a static IP — the Maker API URLs contain its address.

🏠 Node-RED

What it does

Make a READYWARE button hit a Node-RED flow. Drop an http in node and any flow becomes a webhook endpoint — orchestrate IR, lights, notifications, other services, anything Node-RED can reach.

Setup

In Node-RED, add an http in node, set method GET and a path like /readyware/movienight. Wire it to your logic and to an http response node (so it returns 200). Deploy. Your endpoint is http://<node-red-ip>:1880/readyware/movienight (1880 is the default port; if you run Node-RED as a Home Assistant add-on the port/path may differ).

Use it on a button

Long-press a button → Other tab → HTTP GET → paste the endpoint → Save → test.

🔗 Any Other Hub — Webhook or MQTT

If it takes a webhook or MQTT, it works

Because READYWARE's Generic HTTP and MQTT Publish actions are open-ended, a button can trigger almost any hub or device that accepts an HTTP request or an MQTT message. A few popular ones and how they're reached:

  • openHAB — REST API. HTTP POST a command to http://<ip>:8080/rest/items/<item>.
  • Domoticz — JSON API. HTTP GET http://<ip>:8080/json.htm?type=command&param=switchlight&idx=<id>&switchcmd=On.
  • Bond Bridge — local REST API for RF ceiling fans, fireplaces, and shades. HTTP PUT to http://<bond-ip>/v2/devices/<id>/actions/<action> with the BOND-Token header.
  • Tasmota (Sonoff/ESP) — HTTP GET http://<ip>/cm?cmnd=Power%20On.
  • WLED — JSON API. HTTP POST {"on":true} to http://<ip>/json/state.
  • n8n — add a Webhook trigger node; paste its URL into an HTTP GET/POST button.
  • IFTTT / Zapier / Make — paste the webhook/trigger URL.

If you can hit it with curl, READYWARE can fire it from a button. And if it speaks MQTT, use the MQTT Publish action instead of HTTP.

🎬 Mix everything in one macro

One button, multiple platforms

The real power of READYWARE smart home isn't any single integration — it's combining them. A single "Movie Night" macro button can:

  1. Turn the TV on (BroadLink IR)
  2. Switch HDMI input (also IR)
  3. Dim Hue lights to 15% (Hue HTTP PUT)
  4. Turn off the bedroom AC (SwitchBot)
  5. Trigger a "movie mode" automation (Home Assistant POST or MQTT publish)
  6. Switch the live wallpaper to your theater photo
  7. Launch Netflix

All in one tap. That's the point — Electronic Personification. Build macros in Edit Mode → long-press a button → Macro tab → add steps in any order, with any delay between them.

Every macro step type (the + Add step menu)

In the Macro tab, + Add step offers all of these — combine any of them on one button, in any order:

IR / RF · App / URL / File · Set Wallpaper · Delay · HTTP · MQTT · Smart Light (WiZ / LIFX / Govee) · Network TV (LG / Samsung) · Sonos · Kasa · SwitchBot (virtual remotes + scenes) · Refresh State (re-read live device feedback for the screen).

The smart-device steps need no token in the step — each one references a device you set up once in Device Setup, and its pairing/credentials live there, so the step just picks the device and command. PC keyboard / mouse / launch ride a + HTTP step to the PC Bridge (e.g. http://PC-IP:8787/key/f1, /type?text=, /click, /run?path=).

Editing & exit: set a delay on each step, remove any single step with its 🗑 trash button, and close the editor without saving to cancel — nothing is committed until you tap Save. See the Macros FAQ →.

📡
09

Live Device State (Feedback)

A button can read a device's real state and show it — a lamp button switches to your "on" look when the light is actually on, or a button displays the live temperature, watts, or humidity. It's opt-in per button and only reads when you open a screen, so there's no constant polling and no slowdown.

1
Turn on Live State

Edit a button → Style tab → Live State → toggle Show live device state on. A button with this off is a completely normal button.

2
Point it at the device

Enter the device's Status URL (e.g. a Shelly /rpc/Switch.GetStatus?id=0) and the Value Path — the field in the response to read (e.g. output for on/off, apower for watts, or your thermostat's temperature field).

3
Choose how it shows

Pick a type: On/Off (uses your button's on/off look — see below), Number, or Text. For numbers/text, set a Label format like {val}°F — the button's label becomes the live value. Your button's background and label colors stay exactly as you set them.

4
Log in if needed

If the device has a password, set the login mode — Token, Basic, Digest, or Tasmota — and enter the credentials. Most Shelly/Tasmota devices ship with no password, so you can leave this on "None."

When does it read?

Only when you open a remote, folder, or desktop — one quick check per device, then it's quiet. No background polling. To re-check on demand, add a Refresh Live State (↻) button (Button Editor → Other → Refresh Live State), or add a Refresh step to a macro so a control button updates its reading right after it acts.

Real-time updates (Push) — optional

Want a button to flip the instant a device changes — even from a wall switch — without reopening the screen? Turn on Live Updates (Push) in the same Live State panel. It layers on top of read-on-open and refresh (it doesn't replace them) and is event-driven, not polling:

Shelly (WebSocket) — pick Shelly WebSocket and enter the device; the app connects to ws://YOUR-IP/rpc and the Shelly pushes every change instantly (Gen2/Gen3).

MQTT — pick MQTT, enter your broker (mqtt://user:pass@YOUR-IP:1883 or mqtts://…:8883) and the topic to watch; any message on that topic updates the button (Zigbee2MQTT, Tasmota, ESPHome, HA's MQTT).

One connection per push button, only while that screen is open — it closes when you leave or background the app. No constant pinging; leave it off and nothing changes.

Big folders are fine. Push stays smooth even with a whole folder of lights and outlets on live updates — a burst of changes is coalesced into a single refresh, so no stutter. Read-on-open buttons open no live connection at all, so use as many as you like. Good habit (not a requirement): reserve push for the things you actually watch change on their own.

Build a readout

Make the readout a big transparent button showing the value, and place normal control buttons beside or under it. Buttons can overlap freely, so you can layer the reading over your own image. Everything is opt-in — old buttons, remotes, folders, and profiles are unchanged.

Cloud thermostats (Nest, ecobee): these don't have a local status URL yet — for now, read them through Home Assistant (point Live State at your HA URL with your HA token).

On/Off uses your own look

For an On/Off feedback button, the appearance is the button's own ON look and OFF look — the colors, icon, shape, and label you choose (no fixed green/gray). Turn on 2-State Toggle in the same Style tab, design the "on" look and the "off" look once, and the real device flips between them. It's the same two-look system as a manual toggle button — but driven by the device instead of a press. (No toggle looks set = the button reads state without changing appearance.)

What goes in each field — ready-made settings

Status URL = your device's address + status page (put your device's IP here). Value Path = the field name in the reply to read. Type = On/Off, Number, or Text.

Shelly Gen1 — URL http://YOUR-IP/light/0 or /relay/0 · Value ison · On/Off

Shelly Gen2/Gen3 — URL http://YOUR-IP/rpc/Switch.GetStatus?id=0 · Value output (On/Off) or apower (watts, Number) · Login Digest (admin) if a password is set

Tasmota — URL http://YOUR-IP/cm?cmnd=Power · Value POWER · On/Off · "On" value ON

Home Assistant — URL http://YOUR-IP:8123/api/states/ENTITY_ID · Login Token · Value state or attributes.current_temperature (Number)

Finding the value name: open the Status URL in a browser. You'll see something like {"ison":true,"brightness":100} — the words before each : are the value names. Use the one you want.

🎯
10

Direct Device Control — No IR, No Hub

Some devices don't need an IR blaster, an RF blaster, or a hub — READYWARE talks to them straight over your WiFi, by IP. Set them up once in Settings → Device Settings → Device Setup → Add Device → Smart Home → Add, then attach them to any button in the Button Editor → Other tab. Everything is opt-in, and your credentials and pairing keys stay on your device. Works with LG webOS & Samsung Tizen TVs, WiZ / LIFX / Govee bulbs and strips, and Sonos speakers — and it's the same setup flow for every one, so more WiFi smart devices join the same way in future updates.

Is that the whole list? No — that's the "no blaster and no hub" list. The same Smart Home → Add screen also holds Philips Hue (local and direct, but through your Hue Bridge), Home Assistant (HA is itself the hub, and brings Zigbee, Z-Wave and Matter with it), Kasa / Tapo (via Home Assistant), Generic HTTP (Shelly, WLED, Nanoleaf, Tasmota, Bond, Hubitat, openHAB, Node-RED…) and SwitchBot (through SwitchBot's cloud). Full list: Philips Hue · Home Assistant · Kasa / Tapo · Generic HTTP · SwitchBot · WiZ Light · LIFX Light · Govee Light · Sonos · LG TV (webOS) · Samsung TV · + more — all added in the same place. See Smart Home Integrations.
1
Add the device

Go to Settings → Device Settings → Device Setup. In the Add Device row tap Smart Home, then tap Add — that is what opens the device list. Now pick your type: WiZ Light, LIFX Light, Govee Light, LG TV (webOS), Samsung TV or Sonos.

The same list also holds Philips Hue · Home Assistant · Kasa / Tapo · Generic HTTP · SwitchBot · WiZ Light · LIFX Light · Govee Light · Sonos · LG TV (webOS) · Samsung TV · + more — so Hue, Home Assistant and the TVs are all added the same way, in the same place.

Enter the device's IP address as the Base URL (no trailing slash). Leave Port alone unless yours is non-standard — the app fills the right default.

2
Pair a TV (LG / Samsung)

Tap Pair. The TV shows a one-time "allow this device?" prompt — accept it and the client key/token is saved on your phone. Bulbs and Sonos need no pairing. Every setup screen has a Cancel to back out.

3
Put it on a button

Edit a button → Other tab → choose the device, then the command (Power, Volume Up, a color, Play…). Style it like any other button — icon, shape, wallpaper, macros, and Speed Buttons all work.

What goes in each field — ready-made settings

Open the entry screen first: Settings → Device Settings → Device Setup → Add Device → Smart Home → Add → pick the type. Tapping Smart Home on its own shows nothing — the Add button underneath is what opens the list.

WiZ bulb — IP = the bulb's LAN IP · Port 38899 (default) · no login. On/Off, Brightness, Color, Warm/Cool, Scene.

LIFX bulb — IP = the bulb's LAN IP · Port 56700 (default) · no login. On/Off, Brightness, Color.

Govee — enable LAN Control in the Govee app first, then IP = the device's IP · Port 4003. On/Off, Brightness, Color.

LG webOS TV — IP = the TV's IP · Port 3000 · tap Pair and accept on the TV. Power, arrows/OK, Volume, Mute, Home, Back, media, launch apps.

Samsung Tizen TV — IP = the TV's IP · Port 8002 (falls back to 8001) · tap Pair and accept on the TV. Same key set.

Sonos — IP = the speaker's IP · Port 1400 · no login. Play, Pause, Stop, Next, Previous, Volume, Mute.

Find a device's IP in your router's device list, or in the device's own app (WiZ, Govee, LG, Sonos all show it under network info). Give each one a DHCP reservation so the IP never changes.

Point-and-click TVs — and the same TV in two rooms

LG and Samsung TVs become full remotes with no blaster in the room — it's all over WiFi. And because control goes by IP, the same model TV in two rooms is just two entries (one per IP): point-and-click either one from a single layout, nothing to aim. With IR you'd have needed a separate blaster per room.

This adds to Home Assistant — it doesn't replace it

Direct control is an extra, opt-in path; nothing was removed. Keep using Home Assistant for cloud-only or hard-to-reach devices, and use direct control where it fits — you can even mix both in one room. Questions? See the Direct Devices FAQ →.

🛏️
BLUETOOTH

Bluetooth Furniture & Devices, Beds, Desks, Lights, Blinds & More

Adjustable beds, recliners, lift chairs, standing desks, LED strips and bulbs, curtains and blinds, plugs and switches, fans, air purifiers, humidifiers, a robot vacuum, radiator valves and even a heated mug all talk over Bluetooth Low Energy, with no blaster, no hub, no account and no cloud. READYWARE speaks to them directly. The part most people don't expect: you probably don't know what's inside your bed. A Tempur, a Serta and a Mattress Firm base can all be the same motor controller underneath.

Brands that work today

Beds and furniture: Tempur · Serta · Mattress Firm · BeautyRest · Purple · Member's Mark · ErgoMotion · Leggett & Platt · Okimat · Reverie · Solace · MotoSleep · Octo · Sleep Number · Jensen · Svane · Malouf · Scott Living · Rize.
Desks: Linak · IKEA IDÅSEN · Jiecang · Desky · Uplift · Assmann · Deskhaus.
Lights: ELK-BLEDOM · MELK · LEDBLE · JACKYLED · XROCKER · duoCo · Govee · Triones · Zengge LEDnetWF · SP110E and SP105E pixel controllers · iDealLED · BJ_LED · Chihiros aquarium lights · SwitchBot bulbs, strips and ceiling lights.
Blinds and curtains: SwitchBot Curtain and Blind Tilt · SwitchBot Roller Shade · AM43 and A-OK motors · Zemismart · SOMA Smart Shades.
Everything else: SwitchBot Bot, Plug Mini, Relay Switch, Circulator Fan, Air Purifier, Humidifier and Robot Vacuum · eQ-3 and Eqiva radiator valves · Comet Blue and Sygonix valves · Ember mugs.

Beds are usually badged by the retailer rather than the motor company, so if yours isn't on that list it is still very likely one of them. Check the handset or the label on the base itself, not the mattress brand.

Set it up — once

  1. Settings → Device Settings → Device Setup → Bluetooth → Scan for Bluetooth Devices. Wake the device first by pressing a button on its own handset, so it starts advertising.
  2. The app tells you what it found — it reads the device's advertisement and names the family. Usually there is nothing to choose.
  3. If it cannot name it, you get the full list with a search box instead. Several makers share one Bluetooth service, so a few controllers genuinely give nothing away until you connect. Type your bed's brand (Nectar, Costco, Rize, Scott Living, Dynasty) or just what it is (adjustable bed, aquarium light, exercise machine) — the list is grouped under plain headings, so scrolling works too.
  4. Give it a name you'll recognise ("Bedroom bed") and save. That's it.
  5. Put it on a button: long-press a button → Other → Bluetooth Device, pick the device, pick the button. Add it to a macro the same way, with + Bluetooth in the step list.

You can stop a scan whenever you like — the button turns into Cancel Scan as soon as it starts, and leaving the screen stops it too. Nothing keeps scanning in the background.

Close the maker's own app first. Blind Engine, SwitchBot and most bed apps hold the connection open, and these controllers accept one at a time. READYWARE lets go after a minute idle for the same reason — so your own handset always keeps working.

A few models ask one extra question. Richmat bases have four letters on the back of the handset (AZRN, W6RM, and so on) — that tells the app which buttons your particular handset has. It never changes what they send. Octo bases may want a 4-digit PIN, Jensen uses 3060, and AM43 blind motors use 8888, printed on the motor. A PIN is kept on your device only and is never included when you share a remote.

A few need pairing in your phone's Bluetooth settings first, because their controls are encrypted and the phone has to bond before anything answers: Okimat, Okin CST (Rize), Okin RF ECO, Leggett & Platt Okin, Leggett & Platt Gen2, Vibradorm and Logicdata. Everything else just scans.

Sleep Number is the opposite — do not pair it. It authenticates itself, and forcing a Bluetooth bond jams the connection instead of helping. Just scan and save. Its buttons also say which side of the bed they move, because these are split bases.

Radiator valves want a PIN too, but a different kind. A Comet Blue (also sold as Sygonix, Xavax, Eurotronic and by Lidl) will not answer at all until a PIN is sent, and the app sends the factory 0000. If you changed it in the maker's own app, set it back. eQ-3 and Eqiva valves need no PIN at all, and show up as CC-RT-BLE.

Some remotes come with two sets of buttons, and that is on purpose. A few devices ship in two generations that speak different languages, with nothing in the Bluetooth advertisement to tell them apart. Rather than guess for you, both sets are on the remote and labelled. Try the plain buttons first, and if nothing moves use the other pair:

  • Zengge LEDnetWF strips have On, Off and Bright, plus three marked old firmware.
  • iDealLED strips (they show up as ISP- or IDL-) have a full set plus a type 2 set.
  • SwitchBot Robot Vacuum has Clean and Dock, plus Clean (v2) and Dock (v2).
  • Govee lights: if plain Red, Green and Blue do nothing, yours is a segmented model (H6053, H6072, H6102, H6199). Use the four buttons marked segmented instead.

A few buttons mean something slightly different than you would guess. On a SwitchBot Blind Tilt the slats are open in the middle of their travel, so use Open, Close Up and Close Down rather than thinking in percentages. A Comet Blue valve has no off command at all, so its Off sets the frost-protect floor of 7.5°C and On sets 28°C. SOMA Smart Shades get Open, Close and Stop only, so set the end points in the SOMA app first.

Exercise machines come in two versions. Build the FTMS standard one first. If Start and Stop work but the speed buttons do nothing, build FTMS alternate instead — same Bluetooth standard, different command numbering. Stop is identical in both, so it works whichever you picked.

Build the remote on a big screen instead

The Signal Editor → Bluetooth tab has a Furniture & BLE Device Remote Builder. Type your brand, get a laid-out remote as a .irc, open it in the app. You still add the device once in Device Setup so the app knows which bed is yours.

Motor buttons work differently — this is the one thing to know

A bed motor moves only while the command keeps being sent. One tap does nothing. So Head Up is a hold, not a press: hold the button and it travels, let go and it stops. Buttons built in the online builder carry a short default move time so a single tap nudges it.

That is also the safety net. Stop sending and the bed stops — if the app is closed or the phone locks mid-move, the motion ends by itself. There is a 30-second ceiling so a stuck button can never drive a motor into its end stop.

Your own handset still works

Several controllers (Linak, Solace, Reverie, Octo) only accept one connection at a time. READYWARE connects when you press a button and lets go after 60 seconds of no use, so your original handset gets the bed back. It also disconnects the moment you leave the app. A burst of presses stays instant — only the first one waits.

Sharing a bed remote

A .irc stores the command name, never a device address — so a remote you build works on someone else's bed of the same family, and nothing personal (no address, no PIN) is ever written into the file. If their handset lacks a button yours has, that button simply does nothing, exactly like an IR remote with a key your TV model doesn't have.

Away from home

Bluetooth is short range, so your phone has to be near the furniture. But the Web Viewer works: a tap from anywhere travels to the tablet at home, and that device talks to the bed. The tablet needs to be on, with the app running or in the background.

Not Bluetooth? If you have to point it, see Smart IR. If you don't point it and it isn't Bluetooth, see the RF Wizard. If it has an IP address, see Direct Devices.

📁
11

Organizing With Folders

Group your remotes by room, activity, or device type. Each folder has its own wallpaper and icon on the desktop.

Create a folder

In Edit Mode, tap the + button on the desktop → Folder. Name it, pick an icon and color. Drag remotes into it by long-pressing them and selecting Move to Folder.

Per-folder wallpaper

Each folder supports its own live wallpaper, independent of the desktop wallpaper. Open the folder in Edit Mode and set a video stream or image. When you open that folder, its wallpaper loads automatically.

Macro buttons on folders

Folders support buttons too — not just remotes. Add a macro button to a folder that sets the room's lights, fires IR commands, and changes the wallpaper all in one tap.

Folders inside folders (yes, you can)

There's no literal "drag a folder into a folder" — but you get the same result, with more flexibility, using a two-part trick:

① Make a folder and set it Hidden in the folder's settings, so it doesn't show as an icon on the desktop or menu.
② On any canvas — a desktop, another folder, or even a remote — add a button and give it an event → Open Folder pointing at that hidden folder.

Now that button is your sub-folder. Because a button can live anywhere and open any folder (hidden or visible), you can nest as deep as you like and place the "folder" exactly where you want it. Make the button transparent and it becomes an invisible hotspot — perfect with the always-on overlay setup, giving you clean, low-profile menus with live pass-through wallpapers underneath.

12

Pro Tips

On the big screen

READYWARE is built to feel right on every screen size, including the largest one in the room. There are three ways to get it on your TV, and you can use any of them — or all of them — depending on your setup.

📺 Install the app directly. READYWARE runs natively on Android TV and Google TV (Chromecast with Google TV, Sony Bravia, Hisense, Sharp, Philips), Amazon Fire TV / Fire Stick (via the Amazon Appstore), and NVIDIA Shield. Same app, same layouts, same Smart IR database — sized for the screen.

🌐 Use any browser. If your TV runs Samsung Tizen, LG webOS, Roku, or you have an Apple TV with a Mac mini routed in, just open the Web Viewer in any browser. Same experience, no install. Pair the device's keyboard, mouse, or pointer for full point-and-click.

📱 Cast from your phone. Chromecast or screen-mirror your phone's READYWARE canvas to the TV. The fastest path if you'd rather not install anything new.

However it gets there, the experience is the same. Add a pointer device — an air mouse, a gyroscopic clicker, or your phone or tablet acting as a wireless pointer — and you're navigating graphical buttons floating over your live wallpaper from across the room. One pointer, one screen, every device in the room — instead of a pile of remotes on the coffee table.

A favorite setup: stream the video source itself as the wallpaper. Your security camera feed, the YouTube video you're watching, your Plex library, your Home Assistant dashboard — whatever's on screen is also what you're controlling. Watch the show, control the show, on the same screen, with the same pointer. No looking down. No second remote.

Many paths, one outcome. The TV experience never replaces your phone or tablet — it joins them. Use the phone in your hand. Use the tablet on the coffee table. Use the TV from across the room. Use all three at the same time, all controlling the same gear. There's always more than one way to do anything in READYWARE — pick whichever feels right at the moment, switch to another whenever you want.

Design at 4K. Build your remote at 3840×2160 in the editor and it renders edge-to-edge crisp on any modern Smart TV (HD/4K/8K) and downscales cleanly to phones and tablets. One profile, every device. Set Overlay Timeout to 5–10 seconds — buttons appear when you point, fade after the action.
Web Remote — control from anywhere in the world

The Remote Web Viewer gives anyone a browser-based version of your remote — real wallpapers, real icons, real buttons — accessible from any phone, tablet, or computer anywhere on the planet. Here's the full setup:

1
Enable Remote Web Viewer

Settings → Remote Web Viewer → toggle ON. The first time you enable it, READYWARE registers your device with the server. This takes a few seconds — wait for the green ● ON badge to appear.

2
Copy your link

Your unique URL appears in the settings panel. Tap Copy Link to copy it to your clipboard, or tap QR to generate a QR code you can screenshot and share.

3
Share the link and PIN

Send the link to anyone — family, friends, anyone you want to have access. Tap PIN to see your 4-digit PIN. Anyone opening the link will be asked to enter it first. Share both the link and PIN together.

4
Sync your wallpapers and icons

By default the web remote shows your button layout. To also send your real wallpapers and custom icons to the web remote, tap ⬆ Sync Web Remote. This pushes your current desktop, wallpapers, and icons to the server. Anyone opening the link after a sync sees your exact visual setup — not just the buttons.

5
Someone opens the link

They visit the URL in any browser. They enter the PIN. Your full remote appears — tap any button and the IR fires on your device at home in under a second. No app required on their end.

Re-sync after changes: If you add new buttons, change wallpapers, or rearrange your layout, tap Sync again to push the updates to the web remote. The link and PIN never change.
💻 Any Device With a Browser Is Now a Remote Control

This is bigger than it sounds. The Web Remote doesn't just work on phones. It works on everything with a browser — and it fires real IR and RF signals through the hardware on your home network in real time.

  • 💻
    Windows PC or laptop — open the link in any browser. Click a button. IR fires across the room. No Android emulator. No driver. No install. Your Windows machine just became an IR and RF blaster.
  • 🍎
    Mac — same. Safari, Chrome, Firefox, any of them.
  • 📺
    Smart TV with a browser — open the link on your TV's built-in browser. Use the TV remote's pointer to click buttons. Your TV is now controlling your other devices.
  • 🖥️
    Wall-mounted touchscreen — any screen with a browser becomes a dedicated room control panel. No app, no setup beyond the link.
  • 🌍
    Anyone, anywhere — share the link with family. They open it on whatever device they have and control your home from across the house or across the world.

The IR and RF signals still fire through the hardware on your home network. READYWARE on your phone or tablet bridges the browser command to the blaster in real time. Sub-second response.

Multiple IR devices — different blasters in different rooms

Add each device in Settings → Device Setup and give them clear names. Then assign any button to any device: long-press a button → Edit → IR/RF Code tab → IR Device. Pick the one you want. That button fires through that blaster. Everything else stays on the default device.

Single device? You never see any of this — it's invisible unless you add a second one.
Macros — chain everything together (launch apps, files & sounds)

One button can fire multiple IR commands in sequence, change wallpapers, and — with the App / URL / File action — launch an app, open a web address, open a file or document, or play a sound or video. Edit any button → Macro tab. Add steps. Set delays between them. Perfect for "watch TV" sequences that turn on the TV, switch input, and dim the lights in one tap — or a button that just plays a chime.

Will a local sound or file travel? A button stores a pointer to the file, not the file itself, so a local sound or document isn't packed into the .irc/profile. Put the same file (same name) in the same Download or Documents folder on another device and the pointer can still find it — but to make a custom sound travel to anyone, host it at a URL and point the button there. Built-in button sound effects always travel, since they're part of the app.

Discrete codes — rock-solid macros

Discrete codes fire one exact state — a separate Power On and Power Off, or HDMI 1 directly instead of cycling inputs — so a "Watch TV" macro always lands right, no guessing whether the TV was already on. READYWARE handles them three ways: many codesets in the 1,000,000+ code database already include discretes; you can paste a Pronto hex discrete code (the format shared on RemoteCentral and similar) into the Signal Editor and convert it; or encode one from its protocol + device + function numbers. Then drop it into a macro or a Speed Button.

Save and share your setup

Settings → Advanced → Save Profile saves your entire setup as a .ircprofile file — every remote, every button, every signal, every wallpaper. Restore it on any device, share it with anyone. Your setup is yours forever.

The timeout is your friend. Most users love the Overlay Timeout — set it to 5–10 seconds and your buttons appear when you need them, then fade away so your content always takes center stage. Tap anywhere to wake them back up. Adjust anytime in Settings → Preferences → Overlay Timeout.
🛰️

Your READYWARE Fleet — Label, Find & Sync

Running READYWARE on more than one tablet — say a screen per room? These local, opt-in tools label your gear, find your other screens on the Wi-Fi, and copy a whole setup from one to the next. (Reaching a screen from away is the remote Web Viewer — already built, and a different thing from the overlay.)

🏷️ Name your devices — notes that stick

In Advanced Settings → Device Setup, tap the on a saved Wi-Fi blaster to give it a name ("Porch") and an optional note. The label follows the device by its MAC address, so it stays "Porch" even when your router hands it a new IP — no more guessing which one is .232 vs .233.

📡 Scan for READYWARE

On the Wi-Fi tab of Device Setup, turn Discoverable on for a tablet so the others can see it, then tap Scan Network on another. Every READYWARE on your Wi-Fi shows up by name — tap one to Open its Web Viewer or grab its QR.

🔄 Send & sync — set one up, copy to the rest

From the scan list, pick a device (or several with Select all) and tap Send…:

  • Hardware only — your blasters/devices + their notes (added on, never overwriting what's already there).
  • Profile only — all your remotes & folders.
  • Everything — copy this device — hardware + profile in one shot.

The receiving tablet just taps Accept — no PIN, nothing lands without an OK. Set up one wall tablet exactly how you want it, then copy it to all the others in about a minute. More in the FAQ ↗

🖥️
TV

The Home Screen (big-screen home for TV)

🖥️ What the Home Screen is

An optional, big-screen home surface for TV — a fast, native launcher that puts smart-TV essentials and a smart-home dashboard on one screen. Content rows with big art, a Spotlight hero, Continue Watching (Plex / Jellyfin / Emby + Android TV "Watch Next"), an app launcher, global search, a Now-Playing bar, and input / HDMI source tiles — right next to rooms, live device tiles, lights, scenes, climate, sensors, cameras, security, weather and a clock. Every tile also carries a real IR / RF remote, macros, and any-device control — the thing no other TV home has. It's opt-in and TV-only; your phone and tablet are untouched.

▶ Open it & get back

On a TV, press the small Home button just left of the gear on your desktop — that opens the Home Screen. A gold ring shows where the d-pad is, and the first tile is focused when it opens. To return to the classic app, use the Home Screen's top Desktop button. Touch, air-mouse and the TV remote all work.

🎨 Add, resize & arrange tiles

Everything is editable inline — no separate screens. Add, edit, replace or delete any tile; resize it (small / medium / wide / tall); move a tile to another row and reorder it within the row. You can also reorder or hide whole rows, add your own named rows, and keep a pinned Favorites row up top.

🍿 Continue Watching, apps & search

Set up Continue Watching under Edit → Media with your Plex / Jellyfin / Emby server address and token — posters and resume points fill in automatically (the row simply hides if the server is offline). The Android TV "Watch Next" row is the system source your streaming apps publish to. Add an app launcher row, use global search, and control playback from the Now-Playing bar.

🏠 Smart-home dashboard tiles

Rooms come from your folders (with a wallpaper thumbnail), and device tiles show live on/off state. Toggle, dim or color lights, run scenes, control a thermostat, read sensor values (temperature, humidity, motion), show a camera's live snapshot, and arm / disarm security — plus weather, a clock, and an ambient screensaver when the screen is idle.

☁️ Updates without reinstalling

Tiles are just saved data, so your layout and art can be pushed from your server and refreshed on every screen with no rebuild. Code changes to the Home Screen also arrive over-the-air — no store update, no reinstall. And a hosted "TV Home" web page can even load as the wallpaper behind the fast native tiles. Quick answers in the FAQ ↗

Two more nice touches

🏠 Hide the Home icon

Want a cleaner desktop? Settings → (Edit Mode) → Hide Home Button tucks the little house away; the gear still opens your menu. It's off by default, so the house is there unless you choose to hide it. Desktop only — remotes and folders never show it.

📺 TV: step into your wallpaper

On a TV with the overlay floating over an interactive site wallpaper, tab the d-pad down past your last button — a slim gold line appears at the bottom. Press OK to hand the d-pad to the site behind your buttons (scroll it, click it), and BACK to hop back to your controls. Touch and air-mouse work as always. More in the FAQ ↗

Next
FAQ — Common Questions Answered