call_method:
  description: Call a custom Squeezebox JSONRPC API.
  fields:
    entity_id:
      description: Name(s) of the Squeezebox entities where to run the API method.
      example: "media_player.squeezebox_radio"
    command:
      description: Command to pass to Logitech Media Server (p0 in the CLI documentation).
      example: "playlist"
    parameters:
      description: >
        Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation).
      example: '["loadtracks", "album.titlesearch=Revolver"]'
call_query:
  description: >
    Call a custom Squeezebox JSONRPC API. Result will be stored in 'query_result' attribute of the Squeezebox entity.
  fields:
    entity_id:
      description: Name(s) of the Squeezebox entities where to run the API method.
      example: 'media_player.squeezebox_radio'
    command:
      description: Command to pass to Logitech Media Server (p0 in the CLI documentation).
      example: 'albums'
    parameters:
      description: >
        Array of additional parameters to pass to Logitech Media Server (p1, ..., pN in the CLI documentation).
      example: '["0", "20", "search:Revolver"]'
sync:
  description: >
    Add another player to this player's sync group. If the other player is already in a sync group, it will leave it.
  fields:
    entity_id:
      description: Name of the Squeezebox entity where to run the API method.
      example: "media_player.bedroom"
    other_player:
      description: Name of the other Squeezebox player to link.
      example: "media_player.living_room"
unsync:
  description: Remove this player from its sync group.
  fields:
    entity_id:
      description: Name of the Squeezebox entity to unsync.