HTMLRemote Logo

TCP/IP Command Builder

Welcome to the TCP/IP Command Builder!

This platform empowers users to test a wide range of TCP/IP commands, including HTTP requests, serial commands, and IR commands. Whether you're debugging network communications, configuring devices, or experimenting with IoT applications, this tool provides a versatile environment for testing and refining your command sequences.

With TCP/IP Command Builder, you can seamlessly send and receive commands over TCP sockets. HTTP requests, commonly used for web communication, can be crafted and tested effortlessly. Additionally, serial and IR commands can be constructed as strings and transmitted over TCP sockets, expanding the scope of testing beyond traditional network protocols.

Please note that this page operates exclusively when the HTMLRemote app is running. Get started now and unlock the full potential of your TCP/IP communication using HTMLRemote.

1- Send Raw String

In this section, you can send raw strings directly to a specified IP address without any additional processing. Simply input your desired command into the provided text area, along with the target IP address and port, then click 'Execute'. This straightforward interface allows for quick and direct communication with your device.

IP address:

Test command for Yamaha YNCA receivers

This page demonstrates the successful execution of a command to control a Yamaha amplifier using HTMLRemote.

Below is the captured HTTP request:

							Accept-Encoding: gzip, deflate
							Content-Type: text/xml; charset=UTF-8
							Accept-Language: en-us
							Content-Length: 125
							Accept: */*
							Connection: keep-alive
							User-Agent: AV Controller/4.40 (iOS)

							<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><NET_RADIO><Play_Info>GetParam</Play_Info></NET_RADIO></YAMAHA_AV>

This request was successfully sent to the Yamaha amplifier, confirming that the communication between HTMLRemote test page and the amplifier is functioning correctly.

2- GlobalCaché Communication

A GlobalCaché extender has three different types of communication

  • ir
  • serial
  • raw

General GC parameters

Global Caché IP :

Global Caché initial port :

Raw command


Ir command

Serial command

This command allows to set the volume of a Bose Lifestyle up to 48, and V20 and V30 series
The Set Volume button reads the value of the first text box, sends it to the Bose system (using a GlobalCaché extender on the specified serial port).
Note that the Global Cache initial port is used, but it is incremented by 1 for ser1 (i.e. port 4999) and 2 for ser2 (i.e. port 5000)

ser1 ser2

Bose V30 Volume :

The next 3 demo show 3 examples of how to send an arbitrary serial command to the ser1 or ser2 port (see radio buttons above).

  • The first is a simple string
  • The second is a string containing hex characters, using the \xNN format
  • The third is a string containing hex characters, using the %NN format
The response is printed below the button

General serial command 1 :
General serial command 2 :
General serial command 3 :

General serial command 4 : \x0B\x00\x01\x04\xA0\x01\x64\x00\x00\x00\xCB

Some hex conversion help

Hexadecimal commands need to be interpreted correctly. The fields below allow te experiment with the applied conversion.

Using myuremoteContext

We can also send the command using the myuremoteContext

3- Rest request

Direct Rest request

This part shows how to communicate to a Philips television using the Rest protocol.
Here you can specify your television's ip address and port (default 1925), and from the drop down box, select a command

Using myuremoteContext

Or do the same using the client configuration (file clientconfig.js).
This file defines two objects :

  • extenders : a list of custom extenders (GlobalCaché, Rest)
  • client_devices : the list of devices specific to you, and it's configuration
    For each client device, one must specify :
    • label : the name of the device (e.g. "TV living room", "Blu-ray", ...)
    • type : the type of device, as defined in the devices.js file
    • extender : the name of the extender as defined in the extenders object
    • extenderParams : an object containing additional parameters for the extender.
      For a GlobalCaché extender, the extenderParams object contains the module to which your device is attached
    • aliases : a map of custom aliases for the standard button names. It's up to your html application to use the alias or the standard name

Log History