Create Your Own Devices
MyURemote allows advanced users to define their own devices, command sets and transport strategies. This is the configuration layer behind custom integrations for IR, Serial and IP-based devices.
Important: MyURemote is not a generic cloud API client. It is a local execution engine. The database stores configuration, but runtime execution happens locally through the MyURemote transport and gateway layers.
1. What this section is for
The Device Database and Command Database let you build or extend your own integrations. You can use this to:
- create a new device type
- assign it to a category and brand
- define whether it supports direct IP control
- create commands for IR, Serial or IP technologies
- reuse public network controllers for custom LAN integrations
2. Core concept: device + commands + controller
In MyURemote, a working integration is usually built from three parts:
Device
The logical device type, such as a TV, amplifier, streamer, projector or gateway.
Commands
The actions and queries available for that device, grouped by technology.
Controller
The transport layer that determines how IP-based commands are actually sent.
This separation is important. A command value does not by itself define transport. The selected controller determines whether MyURemote uses raw TCP, plain HTTP or secure HTTPS/TLS.
3. Creating a device
When you add a device, you define the basic identity of that integration.
- Category → the functional group, such as TV, audio, media player or automation
- Brand → the manufacturer or vendor
- Device type → the actual device model or logical integration name
This device record becomes the container for the command sets you will add later.
Category → Streamer
Brand → WiiM
Device type → WiiM Pro Plus
4. Direct IP control and default controller
If a device supports direct network control, enable:
This device allows IP control
This tells MyURemote that the device can be controlled over the network and that an IP-based controller may be assigned.
Default controller
The default controller defines the transport strategy used for this device’s IP commands.
Public network controllers currently include:
- Network TCP/IP Controller → raw plain socket transport
- Network HTTP Post-Put-Get Controller → plain HTTP request construction
- Network HTTPS secure (TLS) Controller → secure HTTPS/TLS transport
The default port is the transport port normally used by that device or controller combination.
5. Creating commands
Commands are attached to a device and grouped by technology. Each command defines one executable action or one queryable state.
- Command name → logical name such as
PLAY,POWER,STATUS QUERY - Technology →
ir,serialorip - Value → the raw value, protocol string or payload fragment associated with that command
In many cases, the command value is not a complete user-facing sentence. It is a protocol-oriented definition that will later be sent through the correct controller or device logic.
6. Technologies: IR, Serial and IP
IR
IR commands are typically fire-and-forget. They usually do not return device feedback.
If you want to learn infrared codes and add them manually to a device in MyURemote, see: How to add IR commands in MyURemote
Serial
Serial commands are intended for RS232-like integrations or serial-style command models.
IP
IP commands are the most flexible category. They may use:
- raw TCP socket transport
- plain HTTP request transport
- secure HTTPS/TLS transport
- device-specific higher-level extender logic
7. Simple commands vs child commands
A command can either contain a single direct value, or it can act as a parent command with children.
Simple command
Name → PLAY
Value → setPlayerCmd:resume
Command with children
Use child commands when one logical command must group several related values or sub-entries.
This is useful when a command is not just one simple payload, but a structured set of related command values.
8. Command templates
Templates allow faster setup by reusing known command names.
A template does not automatically make the command functional. You still need to define a valid value, correct technology and the right transport/controller model.
9. IP commands are only one part of the execution flow
For IP-based devices, a saved command is only the start of the process. At runtime, MyURemote still has to:
- resolve the selected device and command
- choose the correct controller or extender path
- build the final request payload
- send it through the local proxy
- optionally read and parse the response
This is why command definition, controller selection and feedback parsing must be understood together.
10. Which controller should you choose?
Use Network TCP/IP Controller when:
- the device expects a raw TCP socket connection
- you need byte-exact command transport
- the protocol is plain socket-based and not HTTP
Use Network HTTP Post-Put-Get Controller when:
- the device expects plain HTTP requests
- you need to construct headers and content explicitly
- the API is local and not TLS-protected
Use Network HTTPS secure (TLS) Controller when:
- the device requires HTTPS/TLS
- plain HTTP to port 443 is not sufficient
- transport intent must explicitly be secure
11. Where to go next
This page is the starting point. For deeper technical information, continue with:
