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.
New here? Start with this 30-second tour
▼ Open
Three things in order, then dive into the sections below:
- 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.
- 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.)
- 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).
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.
| 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 ↗.
Run Mode vs Edit Mode
READYWARE has two modes. Understanding the difference unlocks everything.
🔒 Locked
Tap buttons to fire IR/RF commands. Live wallpapers play. The overlay works. Everything responds instantly. This is the everyday experience.
🔓 Unlocked
Drag buttons, change colors, program IR signals, set wallpapers, add folders. The canvas is fully editable. Live wallpapers pause to let you work.
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.
The Canvas — Building Your Remotes
Before getting into wallpapers and overlays, here's the foundation: how you build a remote in the first place.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Settings → Preferences → Edit Mode → ON. The Appearance section will appear in Settings.
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.
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.
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.
Switch back to Run Mode. Your live wallpaper plays full screen with your buttons floating on top.
📡 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
- 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.)
- Enable the Web Remote. Settings → Remote Web Viewer → toggle ON. Wait for the green ● ON badge. Note the URL and PIN.
- Open the Web Remote on a controlling device. Phone, laptop, work PC, any browser. Enter the PIN.
- 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.
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.
Settings → Preferences → Edit Mode → ON. The System Overlay section appears in Settings.
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.
Back in READYWARE Settings, tap Enable Overlay. You'll see a green ● LIVE badge confirming it's active.
Tap Save in the top right. Now press your device's home button. READYWARE floats over whatever app you open next.
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.
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.
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.
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.
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 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.
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:
- In READYWARE: Settings → TV d-pad Overlay Control → Open Accessibility Settings.
- 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.
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.
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.
BroadLink RM4 Mini / RM4 Pro / RM4C / RM5, and older RM Mini 3 and RM Pro units, are the right blasters for iOS — they're WiFi, so Apple's MFi rule on USB accessories never comes into it. Setup is the same as Android with one wrinkle: iOS ships two privacy features that quietly break the local UDP broadcast READYWARE uses to discover and authenticate a blaster.
Before you scan — three things to check
- Local Network = ON — Settings → Privacy & Security → Local Network → READYWARE. If READYWARE isn't in the list, open the app and run a scan once to trigger the popup.
- Limit IP Address Tracking = OFF — Settings → WiFi → tap the ⓘ next to your network name.
- Private WiFi Address = OFF — same screen. Then tap Forget This Network, rejoin with the password, and force-quit READYWARE (swipe up, flick the app card away). The forget-and-rejoin step is what actually clears the old address.
Do these before you retry, not after — iOS caches the network state, so a scan that failed once will keep failing until the app is force-quit.
Fastest path — skip the scan, add it by IP
- Find the blaster's IP in your router's connected-devices list (or in the BroadLink app, if you used it for the WiFi join).
- In READYWARE: Settings → Device Settings → Device Setup.
- Tap Manual Add, enter the IP address — no name, no port needed.
- Tap Accept, then Connect, then set it as your Active Device.
Set a DHCP reservation for the blaster in your router so its IP never moves. Manual add, step by step ↗
If it still won't authenticate
- Close the BroadLink app everywhere — open on any device on the network, it can hold the connection and lock READYWARE out. Force-close it and leave it closed.
- Never finish the BroadLink app's setup — completing it registers the blaster to BroadLink's cloud, and that cloud lock is what prevents local control. Stop right after the WiFi join. Reset & unlock guide ↗
- VPN off, Low Power Mode off — both silently drop local UDP replies.
- 2.4 GHz, same subnet, AP isolation off — BroadLinks don't do 5 GHz, and iPhones happily auto-join the 5 GHz SSID.
- Reset Network Settings — Settings → General → Transfer or Reset iPhone → Reset. The heavy hammer, and it clears the majority of stubborn cases. You'll re-enter WiFi passwords; nothing else is affected.
Tap any remote, make sure Edit Mode is on. Tap a button, then tap Edit Button → Signal tab.
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.
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.
The signal is saved to that button. Tap it to test — your device responds instantly.
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.
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 →
- 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.
- A smart home device on a button — no 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.
- A whole ready-made network remote — no 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.
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.
| What you have | Use this | Where |
|---|---|---|
| Nothing — just know the brand | Smart IR Wizard | In the app, or online |
| The original IR remote | Learn a code | In the app — Emitting & Learning |
| A garage, gate, blind, fan or outlet remote | RF Wizard | Online — RF tab |
| A Roku, Kodi, AVR or hub on your network | WiFi / Net builder | Online — WiFi tab |
| A smart TV, bulb or speaker (no blaster) | Device Setup | In the app — Direct Devices |
| Codes in another format | Signal Editor / Transporter | Import / Convert |
| A photo of the real remote | IRC Remote Builder | Online builder |
| Someone already made one | Download a shared remote | Upload · 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.
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.
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.
📻 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.
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.
.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.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. ↗Tap the gear icon → Add Button → Easy Setup Wizard.
Choose TV, AC, cable box, satellite, etc. Then search for your brand. READYWARE finds every signal for that device.
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.
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.
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.
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.
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.
.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 →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.
👉 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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_1…hdmi_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.
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.
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.
There are two parts:
- Add the device once — Settings → 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.
- 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
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.
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).
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.
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
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.
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.
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.
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
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.
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.
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
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.
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.
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
http://192.168.1.XXX/light/0?turn=onOff →
http://192.168.1.XXX/light/0?turn=offToggle →
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)
/rpc/, no Switch.Set. Just /light/0?turn=on or off. Swap 192.168.1.XXX for your dimmer's IP./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.
- Capitals matter. It's
Switch.Set,Switch.GetStatus,Switch.Toggle,Light.Set— neverswitch.set. Type them exactly as shown, capital letters and all. - Zero, not the letter O. It's
id=0(the number zero), neverid=O. This one is nearly invisible and breaks everything. - No spaces anywhere.
on=true, neveron =true. A single stray space breaks the whole URL. - Match the component to the device. On/off relays use
Switch; dimmers useLight. UsingSwitch.Seton a dimmer (orLight.Seton a relay) returns a 404. - Same device, same IP. Your command URL and your live-state
GetStatusURL must point at the same Shelly's IP address.
{"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./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.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.
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.📡 MQTT
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.
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.
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 justON— 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.
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.
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.
In the SwitchBot app: Profile → Preferences → tap "App Version" 10 times → Developer Options → Get Token. Copy both the Open Token and the Secret.
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.
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.
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.
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)
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.
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.
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.
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.
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
Trigger Hubitat over your local network using its Maker API — control any device or run any rule/scene from a READYWARE button, fully local.
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>.
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
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.
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).
Long-press a button → Other tab → HTTP GET → paste the endpoint → Save → test.
🔗 Any Other Hub — Webhook or MQTT
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¶m=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 theBOND-Tokenheader. - Tasmota (Sonoff/ESP) — HTTP GET
http://<ip>/cm?cmnd=Power%20On. - WLED — JSON API. HTTP POST
{"on":true}tohttp://<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
The real power of READYWARE smart home isn't any single integration — it's combining them. A single "Movie Night" macro button can:
- Turn the TV on (BroadLink IR)
- Switch HDMI input (also IR)
- Dim Hue lights to 15% (Hue HTTP PUT)
- Turn off the bedroom AC (SwitchBot)
- Trigger a "movie mode" automation (Home Assistant POST or MQTT publish)
- Switch the live wallpaper to your theater photo
- 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.
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 →.
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.
Edit a button → Style tab → Live State → toggle Show live device state on. A button with this off is a completely normal button.
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).
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.
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."
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.
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.
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).
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.)
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.
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.
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.
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.
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.
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.
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.
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 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
- 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.
- The app tells you what it found — it reads the device's advertisement and names the family. Usually there is nothing to choose.
- 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.
- Give it a name you'll recognise ("Bedroom bed") and save. That's it.
- 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-orIDL-) 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.
Organizing With Folders
Group your remotes by room, activity, or device type. Each folder has its own wallpaper and icon on the desktop.
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.
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.
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.
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.
Pro Tips
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.
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:
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.)
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.
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.
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 ↗
The Home Screen (big-screen home for TV)
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.
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.
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.
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.
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.
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
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.
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 ↗