Yamaha MusicCast HTTP Simplified API For ControlSystems
Yamaha MusicCast HTTP Simplified API For ControlSystems
Yamaha MusicCast
HTTP simplified API for Control Systems
V1.1 - June 20, 2017
Overview
Yamaha provide a comprehensive API for control and interrogation of MusicCast devices.
This document covers the most useful features, with examples, for integration in to CI
Environments.
Prerequisites/Recommendations
For the HTTP API to function correctly in an integrated system, the MusicCast devices must
be on a fixed or bound IP Address. To avoid network loops through the wireless “extend”
functionality of MusicCast products you should set the device to wired or wireless only -
through the web GUI on the MusicCast device:
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 1 of 10
Functions available through the API
Function Description
Information Get device info, available features, Network, Audio and Power Status
Power Set Power status and enable/disable auo-standby
Input / Audio Set Input, Volume level, sound program
Tuner Use the inbuilt FM/AM/DAB Tuner (if available) to recall and set
presets, or tune to a frequency
Streaming Recall and Set presets for Streaming Music Services
Presets
System Presets Recall and Set presets on the MusicCast device (for any source)
Transport Control Control all transport aspects of media and set repeat and shuffle
modes
App Jump iOS App Jump to MusicCast App
HTTP API Overview
All HTTP transactions take place through a connection to the MusicCast device on port 80
(the default used by a web browser), and take the following form:
HTTP://[ipaddress]/YamahaExtendedControl/v1/...
Example:
http://192.168.5.219/YamahaExtendedControl/v1/system/getFeatures
(recalls the available features on the MusicCast device)
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 2 of 10
HTTP API - Get information
Note that when a zone is specified below, the available zones per device can be recalled
using the getLocationInfo command. In all examples main has been used.
Get Device info http://192.168.5.219/YamahaExtendedControl/v1/system/getDeviceInfo
Get Available http://192.168.5.219/YamahaExtendedControl/v1/system/getFeatures
Device Features
Get Network http://192.168.5.219/YamahaExtendedControl/v1/system/getNetworkStatus
Status
Get Function http://192.168.5.219/YamahaExtendedControl/v1/system/getFuncStatus
Status (e.g.: Auto
Power Standby)
Get Location info http://192.168.5.219/YamahaExtendedControl/v1/system/getLocationInfo
and zone list
(device)
Get zone info http://192.168.5.219/YamahaExtendedControl/v1/main/getStatus
(device|zone)
Get Sound http://192.168.5.219/YamahaExtendedControl/v1/main/getSoundProgramList
Program List
(device|zone)
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 3 of 10
HTTP API - Power Functions
Enable/Disable http://192.168.5.219/YamahaExtendedControl/v1/system/setAutoPowerStan
Auto Power dby?enable=true
Standby http://192.168.5.219/YamahaExtendedControl/v1/system/setAutoPowerStan
dby?enable=false
Power on http://192.168.5.219/YamahaExtendedControl/v1/main/setPower?power=on
Standby http://192.168.5.219/YamahaExtendedControl/v1/main/setPower?power=sta
ndby
Power Toggle http://192.168.5.219/YamahaExtendedControl/v1/main/setPower?power=tog
gle
HTTP API - Sleep Timer
Set in minutes. Use zone name from getLocationInfo
Set Sleep timer http://192.168.5.219/YamahaExtendedControl/v1/main/setSleep?sleep=60
for 60 minutes
Cancel Sleep http://192.168.5.219/YamahaExtendedControl/v1/main/setSleep?sleep=0
timer
HTTP API - Input and Volume
Input: Net Radio http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=net_ra
dio
Input: Napster http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=napst
er
Input: Spotify http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=spotif
y
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 4 of 10
Input: Juke http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=juke
Input: Qobuz http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=qobuz
Input: Tidal http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=tidal
Input: Deezer http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=deeze
r
Input: Server http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=server
Input: Bluetooth http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=blueto
oth
Input: Airplay http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=airpla
y
Input: MusicCast http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=mc_lin
link k
The functions in the table above use autoplay to start the last item playing if the source is
not already playing. Alternatively the autoplay_disabled function can be used:
http://192.168.5.219/YamahaExtendedControl/v1/main/setInput?input=airplay&mode=au
toplay_disabled
Prepare Input Change (not necessary for direct input changes)
Let a Device do necessary process before changing input in a specific zone. This is valid
onlywhen “prepare_input_change” exists in “func_list” found in /system/getFuncStatus.
http://192.168.5.219/YamahaExtendedControl/v1/main/prepareInputChange?input=usb
Set Sound Program (where applicable)
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 5 of 10
http://192.168.5.219/YamahaExtendedControl/v1/main//setSoundProgram?program=vie
nna
Volume Commands
For the Direct Volume function, the maximum volume setting available can be obtained from
/system/getFeatures. For the stepped volume function thestep ranges are shown in the
volume section of /system/getFeatures.
Direct Volume http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=6
0
Incremental http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=u
p
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=d
own
In Steps http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=u
p&step=1
http://192.168.5.219/YamahaExtendedControl/v1/main/setVolume?volume=d
own&step=1
Mute Commands
Set Mute On http://192.168.5.219/YamahaExtendedControl/v1/main/setMute?enable=true
Set Mute Off http://192.168.5.219/YamahaExtendedControl/v1/main/setMute?enable=fals
e
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 6 of 10
HTTP API - AM/FM/DAB Tuner Commands
Tuner Presets
Where band can be am, fm or dab
Recall Preset http://192.168.5.219/YamahaExtendedControl/v1/tuner/recallPreset?zone=m
ain&band=fm&num=13
Next Preset http://192.168.5.219/YamahaExtendedControl/v1/tuner/switchPreset?dir=nex
t
Previous Preset http://192.168.5.219/YamahaExtendedControl/v1/tuner/switchPreset?dir=pre
vious
Store Preset http://192.168.5.219/YamahaExtendedControl/v1/tuner/storePreset?num=10
Get Preset info http://192.168.5.219/YamahaExtendedControl/v1/tuner/getPresetInfo?band=f
m
Tuner - Get Playing info
http://192.168.5.219/YamahaExtendedControl/v1/tuner/getPlayInfo
Tuner - Set Frequency
Where num represents frequency in KHz
http://192.168.5.219/YamahaExtendedControl/v1/tuner/setFreq?band=fm&tuning=direct
&num=87500
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 7 of 10
Tuner - Change DAB Service
Next Service http://192.168.5.219/YamahaExtendedControl/v1/tuner/setDabService?dir=ne
xt
Previous Service http://192.168.5.219/YamahaExtendedControl/v1/tuner/setDabService?dir=pr
evious
http://192.168.5.219/YamahaExtendedControl/v1/tuner/setFreq?band=fm&tuning=direct
&num=87500
HTTP API - Network/USB Presets and info
Recalls presets for any network or USB-based service. Playing info includes all metadata and
image link
Get Preset info http://192.168.5.219/YamahaExtendedControl/v1/netusb/getPresetInfo
Get Current http://192.168.5.219/YamahaExtendedControl/v1/netusb/getPlayInfo
Playing info
Get Account http://192.168.5.219/YamahaExtendedControl/v1/netusb/getAccountStatus
Status (streaming
services)
HTTP API - System Presets
Recalls presets for the MusicCast system. Use zone name from getLocationInfo.
Recall Preset http://192.168.5.219/YamahaExtendedControl/v1/netusb/recallPreset?zone=
main&num=13
Store Preset http://192.168.5.219/YamahaExtendedControl/v1/netusb/storePreset?num=1
0
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 8 of 10
HTTP API - Transport Control
Sets Playback or transport mode.
Stop http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
ck=stop
Play http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
ck=play
Previous http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
ck=previous
Next http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
ck=next
Fast Rewind - http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
Start ck=fast_reverse_start
Fast Rewind - http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
Stop ck=fast_reverse_end
Fast Forward - http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
Start ck=fast_forward_start
Fast Forward - http://192.168.5.219/YamahaExtendedControl/v1/netusb/setPlayback?playba
Stop ck=fast_forward_end
Repeat (Toggle) http://192.168.5.219/YamahaExtendedControl/v1/netusb/toggleRepeat
Shuffle (Toggle) http://192.168.5.219/YamahaExtendedControl/v1/netusb/toggleShuffle
HTTP API - List info
Retrieve metadata and list entries. input is Input ID from /system/getFeatures | index is list
offset from beginning | size is maximum list size 1-8)
http://192.168.5.219/YamahaExtendedControl/v1/netusb/getListInfo?input=usb&index=3
2&size=8&lang=en
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 9 of 10
iOS App Jump
Use this App Jump as a deep link to jump directly to the MusicCast App
jp.co.yamaha.avkk.musiccastcontroller://
Further assistance:
Contact our workshop:
01256 638500 Option 3
or [email protected]
Yamaha MusicCast HTTP simplified API for Control Systems
V1.1 - June 20, 2017 - Page 10 of 10