Skip to content

Instantly share code, notes, and snippets.

@albulescu
Last active December 5, 2023 09:48
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save albulescu/544f7464724d2fe08de668ff7102d302 to your computer and use it in GitHub Desktop.
Save albulescu/544f7464724d2fe08de668ff7102d302 to your computer and use it in GitHub Desktop.
Yamaha Protocol

API

Requests

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Power_Control><Power>On</Power></Power_Control></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Power_Control><Power>Standby</Power></Power_Control></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Mute>On</Mute></Volume></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Mute>Off</Mute></Volume></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<YAMAHA_AV cmd=\"PUT\">\n\t<Main_Zone>\n\t\t<Input>\n\t\t\t<Input_Sel>AUDIO1</Input_Sel>\n\t\t</Input>\n\t</Main_Zone>\n</YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<YAMAHA_AV cmd=\"PUT\">\n\t<Main_Zone>\n\t\t<Input>\n\t\t\t<Input_Sel>NET RADIO</Input_Sel>\n\t\t</Input>\n\t</Main_Zone>\n</YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"GET\"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<YAMAHA_AV rsp=\"PUT\" RC=\"0\"><System><Misc><Network><Network_Name>YAMAHA</Network_Name></Network></Misc></System></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"GET\"><Main_Zone><Volume><Lvl>GetParam</Lvl></Volume></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>-400</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>Up 1 dB</Val><Exp></Exp><Unit></Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>"
}

Security

POST - /YamahaRemoteControl/ctrl

CURL

curl -X POST "http://192.168.0.100/YamahaRemoteControl/ctrl" \
    -H "Content-type: text/plain" \
    -H "Content-Type: text/plain" \
    --data-raw "$body"

Header Parameters

  • Content-type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}
  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "text/plain"
  ],
  "default": "text/plain"
}

Body Parameters

  • body should respect the following schema:
{
  "type": "string",
  "default": "<?xml version=\"1.0\" encoding=\"utf-8\"?><YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>Down 1 dB</Val><Exp></Exp><Unit></Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>"
}

Security

References

@Jumbo125
Copy link

Jumbo125 commented Dec 5, 2023

do you know the correct command to cimulate the "enter button" on the remote control?
if i change input to usb, i need to activate autoplay or select any file, to start the playing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment