mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
4440 lines
138 KiB
YAML
4440 lines
138 KiB
YAML
|
openapi: 3.0.2
|
||
|
info:
|
||
|
title: AmpliPi
|
||
|
description: | # The links in the description below are tested to work with redoc and may not be portable
|
||
|
This is the AmpliPi home audio system's control server.
|
||
|
|
||
|
# Configuration
|
||
|
|
||
|
This web interface allows you to control and configure your AmpliPi device.
|
||
|
At the moment the API is the only way to configure the AmpliPi.
|
||
|
|
||
|
## Try it out!
|
||
|
|
||
|
__Using this web interface to test API commands:__
|
||
|
|
||
|
1. Go to an API request
|
||
|
1. Pick one of the examples
|
||
|
2. Edit it
|
||
|
3. Press try button, it will send an API command/request to the AmpliPi
|
||
|
|
||
|
__Try using the get status:__
|
||
|
|
||
|
1. Go to [Status -> Get Status](#get-/api/)
|
||
|
2. Click the Try button, you will see a response below with the full status/config of the AmpliPi controller
|
||
|
|
||
|
__Try creating a new group:__
|
||
|
|
||
|
1. Go to [Group -> Create Group](#post-/api/group)
|
||
|
2. Click Example
|
||
|
3. Edit the zones and group name
|
||
|
4. Click the try button, you will see a response with the newly created group
|
||
|
|
||
|
__Here are some other things that you might want to change:__
|
||
|
|
||
|
- [Stream -> Create new stream](#post-/api/stream)
|
||
|
- [Zone -> Update Zone](#patch-/api/zones/-zid-) (to change the zone name)
|
||
|
- [Preset -> Create preset](#post-/api/preset) (Have a look at the model to see what can be added here)
|
||
|
|
||
|
# More Info
|
||
|
|
||
|
Check out all of the different things you can do with this API:
|
||
|
|
||
|
- [Status](#tag--status)
|
||
|
- [Source](#tag--source)
|
||
|
- [Zone](#tag--zone)
|
||
|
- [Group](#tag--group)
|
||
|
- [Stream](#tag--stream)
|
||
|
- [Preset](#tag--preset)
|
||
|
|
||
|
# OpenAPI
|
||
|
|
||
|
This API is documented using the OpenAPI specification
|
||
|
|
||
|
version: '1.0'
|
||
|
contact:
|
||
|
email: info@micro-nova.com
|
||
|
name: Micronova
|
||
|
url: http://micro-nova.com
|
||
|
license:
|
||
|
name: GPL
|
||
|
url: /license
|
||
|
servers:
|
||
|
- url: ''
|
||
|
description: AmpliPi Controller
|
||
|
paths:
|
||
|
/api:
|
||
|
get:
|
||
|
tags:
|
||
|
- status
|
||
|
summary: Get Status
|
||
|
description: 'Get the system status and configuration '
|
||
|
operationId: get_status_api_get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
/api/:
|
||
|
get:
|
||
|
tags:
|
||
|
- status
|
||
|
summary: Get Status
|
||
|
description: 'Get the system status and configuration '
|
||
|
operationId: get_status_api__get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
/api/sources:
|
||
|
get:
|
||
|
tags:
|
||
|
- source
|
||
|
summary: Get Sources
|
||
|
description: 'Get all sources '
|
||
|
operationId: get_sources_api_sources_get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
title: Response Get Sources Api Sources Get
|
||
|
type: object
|
||
|
additionalProperties:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Source'
|
||
|
/api/sources/{sid}:
|
||
|
get:
|
||
|
tags:
|
||
|
- source
|
||
|
summary: Get Source
|
||
|
description: 'Get Source with id=**sid** '
|
||
|
operationId: get_source_api_sources__sid__get
|
||
|
parameters:
|
||
|
- description: Source ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Source ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
examples:
|
||
|
'1':
|
||
|
value: 0
|
||
|
summary: '1'
|
||
|
'2':
|
||
|
value: 1
|
||
|
summary: '2'
|
||
|
'3':
|
||
|
value: 2
|
||
|
summary: '3'
|
||
|
'4':
|
||
|
value: 3
|
||
|
summary: '4'
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Source'
|
||
|
examples:
|
||
|
stream connected:
|
||
|
value:
|
||
|
id: 1
|
||
|
name: '1'
|
||
|
input: stream=1009
|
||
|
nothing connected:
|
||
|
value:
|
||
|
id: 2
|
||
|
name: '2'
|
||
|
input: ''
|
||
|
rca connected:
|
||
|
value:
|
||
|
id: 3
|
||
|
name: '3'
|
||
|
input: local
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
patch:
|
||
|
tags:
|
||
|
- source
|
||
|
summary: Set Source
|
||
|
description: 'Update a source''s configuration (source=**sid**) '
|
||
|
operationId: set_source_api_sources__sid__patch
|
||
|
parameters:
|
||
|
- description: Source ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Source ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
examples:
|
||
|
'1':
|
||
|
value: 0
|
||
|
summary: '1'
|
||
|
'2':
|
||
|
value: 1
|
||
|
summary: '2'
|
||
|
'3':
|
||
|
value: 2
|
||
|
summary: '3'
|
||
|
'4':
|
||
|
value: 3
|
||
|
summary: '4'
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/SourceUpdate'
|
||
|
examples:
|
||
|
Update Input to RCA input:
|
||
|
value:
|
||
|
input: local
|
||
|
Update name:
|
||
|
value:
|
||
|
name: J2
|
||
|
Update Input to Matt and Kim Radio:
|
||
|
value:
|
||
|
input: stream=10001
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/zones:
|
||
|
get:
|
||
|
tags:
|
||
|
- zone
|
||
|
summary: Get Zones
|
||
|
description: 'Get all zones '
|
||
|
operationId: get_zones_api_zones_get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
title: Response Get Zones Api Zones Get
|
||
|
type: object
|
||
|
additionalProperties:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Zone'
|
||
|
/api/zones/{zid}:
|
||
|
get:
|
||
|
tags:
|
||
|
- zone
|
||
|
summary: Get Zone
|
||
|
description: 'Get Zone with id=**zid** '
|
||
|
operationId: get_zone_api_zones__zid__get
|
||
|
parameters:
|
||
|
- description: Zone ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Zid
|
||
|
maximum: 35.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Zone ID
|
||
|
name: zid
|
||
|
in: path
|
||
|
examples:
|
||
|
Local:
|
||
|
value: 0
|
||
|
summary: Local
|
||
|
Office:
|
||
|
value: 1
|
||
|
summary: Office
|
||
|
Laundry Room:
|
||
|
value: 2
|
||
|
summary: Laundry Room
|
||
|
Dining Room:
|
||
|
value: 3
|
||
|
summary: Dining Room
|
||
|
BROKEN:
|
||
|
value: 4
|
||
|
summary: BROKEN
|
||
|
Guest Bedroom:
|
||
|
value: 5
|
||
|
summary: Guest Bedroom
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Zone'
|
||
|
examples:
|
||
|
Living Room:
|
||
|
value:
|
||
|
name: Living Room
|
||
|
source_id: 1
|
||
|
mute: false
|
||
|
vol: -25
|
||
|
disabled: false
|
||
|
Dining Room:
|
||
|
value:
|
||
|
name: Dining Room
|
||
|
source_id: 2
|
||
|
mute: true
|
||
|
vol: -65
|
||
|
disabled: false
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
patch:
|
||
|
tags:
|
||
|
- zone
|
||
|
summary: Set Zone
|
||
|
description: 'Update a zone''s configuration (zone=**zid**) '
|
||
|
operationId: set_zone_api_zones__zid__patch
|
||
|
parameters:
|
||
|
- description: Zone ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Zid
|
||
|
maximum: 35.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Zone ID
|
||
|
name: zid
|
||
|
in: path
|
||
|
examples:
|
||
|
Local:
|
||
|
value: 0
|
||
|
summary: Local
|
||
|
Office:
|
||
|
value: 1
|
||
|
summary: Office
|
||
|
Laundry Room:
|
||
|
value: 2
|
||
|
summary: Laundry Room
|
||
|
Dining Room:
|
||
|
value: 3
|
||
|
summary: Dining Room
|
||
|
BROKEN:
|
||
|
value: 4
|
||
|
summary: BROKEN
|
||
|
Guest Bedroom:
|
||
|
value: 5
|
||
|
summary: Guest Bedroom
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/ZoneUpdate'
|
||
|
examples:
|
||
|
Change Name:
|
||
|
value:
|
||
|
name: Bedroom
|
||
|
Change audio source:
|
||
|
value:
|
||
|
source-id: 3
|
||
|
Increase Volume:
|
||
|
value:
|
||
|
vol: -45
|
||
|
Mute:
|
||
|
value:
|
||
|
mute: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/group:
|
||
|
post:
|
||
|
tags:
|
||
|
- group
|
||
|
summary: Create Group
|
||
|
description: 'Create a new grouping of zones '
|
||
|
operationId: create_group_api_group_post
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Group'
|
||
|
examples:
|
||
|
Upstairs Group:
|
||
|
value:
|
||
|
name: Upstairs
|
||
|
zones:
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 4
|
||
|
- 5
|
||
|
Downstairs Group:
|
||
|
value:
|
||
|
name: Downstairs
|
||
|
zones:
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
required: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Group'
|
||
|
examples:
|
||
|
Upstairs Group:
|
||
|
value:
|
||
|
id: 101
|
||
|
name: Upstairs
|
||
|
zones:
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 4
|
||
|
- 5
|
||
|
vol_delta: -65
|
||
|
Downstairs Group:
|
||
|
value:
|
||
|
id: 102
|
||
|
name: Downstairs
|
||
|
zones:
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
vol_delta: -30
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/groups:
|
||
|
get:
|
||
|
tags:
|
||
|
- group
|
||
|
summary: Get Groups
|
||
|
description: 'Get all groups '
|
||
|
operationId: get_groups_api_groups_get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
title: Response Get Groups Api Groups Get
|
||
|
type: object
|
||
|
additionalProperties:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Group'
|
||
|
/api/groups/{gid}:
|
||
|
get:
|
||
|
tags:
|
||
|
- group
|
||
|
summary: Get Group
|
||
|
description: 'Get Group with id=**gid** '
|
||
|
operationId: get_group_api_groups__gid__get
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Gid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: gid
|
||
|
in: path
|
||
|
examples:
|
||
|
Whole House:
|
||
|
value: 0
|
||
|
summary: Whole House
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Group'
|
||
|
examples:
|
||
|
Upstairs Group:
|
||
|
value:
|
||
|
id: 101
|
||
|
name: Upstairs
|
||
|
zones:
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 4
|
||
|
- 5
|
||
|
vol_delta: -65
|
||
|
Downstairs Group:
|
||
|
value:
|
||
|
id: 102
|
||
|
name: Downstairs
|
||
|
zones:
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
vol_delta: -30
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
delete:
|
||
|
tags:
|
||
|
- group
|
||
|
summary: Delete Group
|
||
|
description: 'Delete a group (group=**gid**) '
|
||
|
operationId: delete_group_api_groups__gid__delete
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Gid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: gid
|
||
|
in: path
|
||
|
examples:
|
||
|
Whole House:
|
||
|
value: 0
|
||
|
summary: Whole House
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
patch:
|
||
|
tags:
|
||
|
- group
|
||
|
summary: Set Group
|
||
|
description: 'Update a groups''s configuration (group=**gid**) '
|
||
|
operationId: set_group_api_groups__gid__patch
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Gid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: gid
|
||
|
in: path
|
||
|
examples:
|
||
|
Whole House:
|
||
|
value: 0
|
||
|
summary: Whole House
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/GroupUpdate'
|
||
|
examples:
|
||
|
Change Name:
|
||
|
value:
|
||
|
name: Upstairs
|
||
|
Change audio source:
|
||
|
value:
|
||
|
source-id: 3
|
||
|
Increase Volume:
|
||
|
value:
|
||
|
vol_delta: -45
|
||
|
Mute:
|
||
|
value:
|
||
|
mute: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/stream:
|
||
|
post:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Create Stream
|
||
|
description: 'Create a new audio stream '
|
||
|
operationId: create_stream_api_stream_post
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Stream'
|
||
|
examples:
|
||
|
Add Beatles Internet Radio Station:
|
||
|
value:
|
||
|
logo: http://www.beatlesradio.com/content/images/thumbs/0000587.gif
|
||
|
name: Beatles Radio
|
||
|
type: internetradio
|
||
|
url: http://www.beatlesradio.com:8000/stream/1/
|
||
|
Add Classical KING Internet Radio Station:
|
||
|
value:
|
||
|
logo: https://i.iheart.com/v3/re/assets/images/7bcfd87a-de3e-47d0-b896-be0ed38c9d74.png
|
||
|
name: Classical KING FM 98.1
|
||
|
type: internetradio
|
||
|
url: http://classicalking.streamguys1.com/king-fm-aac-iheart
|
||
|
Add Generic DLNA:
|
||
|
value:
|
||
|
name: Replace this text with a name you like!
|
||
|
type: dlna
|
||
|
Add Groove Salad Internet Radio Station:
|
||
|
value:
|
||
|
logo: https://somafm.com/img3/groovesalad-200.jpg
|
||
|
name: Groove Salad
|
||
|
type: internetradio
|
||
|
url: http://ice2.somafm.com/groovesalad-16-aac
|
||
|
Add KEXP Internet Radio Station:
|
||
|
value:
|
||
|
logo: https://i.iheart.com/v3/re/new_assets/cc4e0a17-5233-4e4b-9b6b-7799904f78ea
|
||
|
name: KEXP 90.3
|
||
|
type: internetradio
|
||
|
url: http://live-aacplus-64.kexp.org/kexp64.aac
|
||
|
Add Matt and Kim Pandora Station:
|
||
|
value:
|
||
|
name: Matt and Kim Radio
|
||
|
password: s79sDDkjf
|
||
|
station: '4473713754798410236'
|
||
|
type: pandora
|
||
|
user: test@micro-nova.com
|
||
|
Add MicroNova Spotify:
|
||
|
value:
|
||
|
name: MicroNova Spotify
|
||
|
type: spotify
|
||
|
Add Micronova Airplay:
|
||
|
value:
|
||
|
name: Micronova AP
|
||
|
type: shairport
|
||
|
required: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Stream'
|
||
|
examples:
|
||
|
Regina Spektor Radio (playing):
|
||
|
value:
|
||
|
id: 90890
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
Matt and Kim Radio (disconnected):
|
||
|
value:
|
||
|
id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
Shairport (connected):
|
||
|
value:
|
||
|
id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
Shairport (disconnected):
|
||
|
value:
|
||
|
id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/streams:
|
||
|
get:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Get Streams
|
||
|
description: 'Get all streams '
|
||
|
operationId: get_streams_api_streams_get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
title: Response Get Streams Api Streams Get
|
||
|
type: object
|
||
|
additionalProperties:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Stream'
|
||
|
/api/streams/{sid}:
|
||
|
get:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Get Stream
|
||
|
description: 'Get Stream with id=**sid** '
|
||
|
operationId: get_stream_api_streams__sid__get
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
examples:
|
||
|
Regina Spektor Radio:
|
||
|
value: 90890
|
||
|
summary: Regina Spektor Radio
|
||
|
Matt and Kim Radio:
|
||
|
value: 90891
|
||
|
summary: Matt and Kim Radio
|
||
|
Pink Radio:
|
||
|
value: 90892
|
||
|
summary: Pink Radio
|
||
|
Jason's iPhone:
|
||
|
value: 44590
|
||
|
summary: Jason's iPhone
|
||
|
Marc's iPhone:
|
||
|
value: 4893
|
||
|
summary: Marc's iPhone
|
||
|
Rnay:
|
||
|
value: 4894
|
||
|
summary: Rnay
|
||
|
Jeremy's Spotify:
|
||
|
value: 4895
|
||
|
summary: Jeremy's Spotify
|
||
|
Lincoln's Spotify:
|
||
|
value: 4896
|
||
|
summary: Lincoln's Spotify
|
||
|
Indie Pop Rocks:
|
||
|
value: 90893
|
||
|
summary: Indie Pop Rocks
|
||
|
Groove Salad:
|
||
|
value: 90894
|
||
|
summary: Groove Salad
|
||
|
SP_TEST:
|
||
|
value: 90895
|
||
|
summary: SP_TEST
|
||
|
Trial_DLNA:
|
||
|
value: 90896
|
||
|
summary: Trial_DLNA
|
||
|
T2:
|
||
|
value: 90897
|
||
|
summary: T2
|
||
|
T3:
|
||
|
value: 90898
|
||
|
summary: T3
|
||
|
T2.5:
|
||
|
value: 90899
|
||
|
summary: T2.5
|
||
|
Jeremy's DLNA:
|
||
|
value: 90900
|
||
|
summary: Jeremy's DLNA
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Stream'
|
||
|
examples:
|
||
|
Regina Spektor Radio (playing):
|
||
|
value:
|
||
|
id: 90890
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
Matt and Kim Radio (disconnected):
|
||
|
value:
|
||
|
id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
Shairport (connected):
|
||
|
value:
|
||
|
id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
Shairport (disconnected):
|
||
|
value:
|
||
|
id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
delete:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Delete Stream
|
||
|
description: 'Delete a stream '
|
||
|
operationId: delete_stream_api_streams__sid__delete
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
examples:
|
||
|
Regina Spektor Radio:
|
||
|
value: 90890
|
||
|
summary: Regina Spektor Radio
|
||
|
Matt and Kim Radio:
|
||
|
value: 90891
|
||
|
summary: Matt and Kim Radio
|
||
|
Pink Radio:
|
||
|
value: 90892
|
||
|
summary: Pink Radio
|
||
|
Jason's iPhone:
|
||
|
value: 44590
|
||
|
summary: Jason's iPhone
|
||
|
Marc's iPhone:
|
||
|
value: 4893
|
||
|
summary: Marc's iPhone
|
||
|
Rnay:
|
||
|
value: 4894
|
||
|
summary: Rnay
|
||
|
Jeremy's Spotify:
|
||
|
value: 4895
|
||
|
summary: Jeremy's Spotify
|
||
|
Lincoln's Spotify:
|
||
|
value: 4896
|
||
|
summary: Lincoln's Spotify
|
||
|
Indie Pop Rocks:
|
||
|
value: 90893
|
||
|
summary: Indie Pop Rocks
|
||
|
Groove Salad:
|
||
|
value: 90894
|
||
|
summary: Groove Salad
|
||
|
SP_TEST:
|
||
|
value: 90895
|
||
|
summary: SP_TEST
|
||
|
Trial_DLNA:
|
||
|
value: 90896
|
||
|
summary: Trial_DLNA
|
||
|
T2:
|
||
|
value: 90897
|
||
|
summary: T2
|
||
|
T3:
|
||
|
value: 90898
|
||
|
summary: T3
|
||
|
T2.5:
|
||
|
value: 90899
|
||
|
summary: T2.5
|
||
|
Jeremy's DLNA:
|
||
|
value: 90900
|
||
|
summary: Jeremy's DLNA
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
patch:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Set Stream
|
||
|
description: 'Update a stream''s configuration (stream=**sid**) '
|
||
|
operationId: set_stream_api_streams__sid__patch
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
examples:
|
||
|
Regina Spektor Radio:
|
||
|
value: 90890
|
||
|
summary: Regina Spektor Radio
|
||
|
Matt and Kim Radio:
|
||
|
value: 90891
|
||
|
summary: Matt and Kim Radio
|
||
|
Pink Radio:
|
||
|
value: 90892
|
||
|
summary: Pink Radio
|
||
|
Jason's iPhone:
|
||
|
value: 44590
|
||
|
summary: Jason's iPhone
|
||
|
Marc's iPhone:
|
||
|
value: 4893
|
||
|
summary: Marc's iPhone
|
||
|
Rnay:
|
||
|
value: 4894
|
||
|
summary: Rnay
|
||
|
Jeremy's Spotify:
|
||
|
value: 4895
|
||
|
summary: Jeremy's Spotify
|
||
|
Lincoln's Spotify:
|
||
|
value: 4896
|
||
|
summary: Lincoln's Spotify
|
||
|
Indie Pop Rocks:
|
||
|
value: 90893
|
||
|
summary: Indie Pop Rocks
|
||
|
Groove Salad:
|
||
|
value: 90894
|
||
|
summary: Groove Salad
|
||
|
SP_TEST:
|
||
|
value: 90895
|
||
|
summary: SP_TEST
|
||
|
Trial_DLNA:
|
||
|
value: 90896
|
||
|
summary: Trial_DLNA
|
||
|
T2:
|
||
|
value: 90897
|
||
|
summary: T2
|
||
|
T3:
|
||
|
value: 90898
|
||
|
summary: T3
|
||
|
T2.5:
|
||
|
value: 90899
|
||
|
summary: T2.5
|
||
|
Jeremy's DLNA:
|
||
|
value: 90900
|
||
|
summary: Jeremy's DLNA
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/StreamUpdate'
|
||
|
examples:
|
||
|
Change account info:
|
||
|
value:
|
||
|
password: sd9sk3k30
|
||
|
user: test@micro-nova.com
|
||
|
Change name:
|
||
|
value:
|
||
|
name: Matt and Kim Radio
|
||
|
Change pandora radio station:
|
||
|
value:
|
||
|
station: 0982034049300
|
||
|
Upgrade groove salad stream quality:
|
||
|
value:
|
||
|
url: http://ice2.somafm.com/groovesalad-64-aac
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/streams/{sid}/station={station}:
|
||
|
post:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Change Station
|
||
|
description: 'Change station on a pandora stream (stream=**sid**) '
|
||
|
operationId: change_station_api_streams__sid__station__station__post
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
- description: Number found on the end of a pandora url while playing the station,
|
||
|
ie 4610303469018478727 in https://www.pandora.com/station/play/4610303469018478727
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Pandora Station ID
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Number found on the end of a pandora url while playing the
|
||
|
station, ie 4610303469018478727 in https://www.pandora.com/station/play/4610303469018478727
|
||
|
name: station
|
||
|
in: path
|
||
|
examples:
|
||
|
Regina Spektor Radio:
|
||
|
value: 90890
|
||
|
summary: Regina Spektor Radio
|
||
|
Matt and Kim Radio:
|
||
|
value: 90891
|
||
|
summary: Matt and Kim Radio
|
||
|
Pink Radio:
|
||
|
value: 90892
|
||
|
summary: Pink Radio
|
||
|
Jason's iPhone:
|
||
|
value: 44590
|
||
|
summary: Jason's iPhone
|
||
|
Marc's iPhone:
|
||
|
value: 4893
|
||
|
summary: Marc's iPhone
|
||
|
Rnay:
|
||
|
value: 4894
|
||
|
summary: Rnay
|
||
|
Jeremy's Spotify:
|
||
|
value: 4895
|
||
|
summary: Jeremy's Spotify
|
||
|
Lincoln's Spotify:
|
||
|
value: 4896
|
||
|
summary: Lincoln's Spotify
|
||
|
Indie Pop Rocks:
|
||
|
value: 90893
|
||
|
summary: Indie Pop Rocks
|
||
|
Groove Salad:
|
||
|
value: 90894
|
||
|
summary: Groove Salad
|
||
|
SP_TEST:
|
||
|
value: 90895
|
||
|
summary: SP_TEST
|
||
|
Trial_DLNA:
|
||
|
value: 90896
|
||
|
summary: Trial_DLNA
|
||
|
T2:
|
||
|
value: 90897
|
||
|
summary: T2
|
||
|
T3:
|
||
|
value: 90898
|
||
|
summary: T3
|
||
|
T2.5:
|
||
|
value: 90899
|
||
|
summary: T2.5
|
||
|
Jeremy's DLNA:
|
||
|
value: 90900
|
||
|
summary: Jeremy's DLNA
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/streams/{sid}/{cmd}:
|
||
|
post:
|
||
|
tags:
|
||
|
- stream
|
||
|
summary: Exec Command
|
||
|
description: "Execute a comamnds on a stream (stream=**sid**).\n\n Command\
|
||
|
\ options:\n * Play Stream: **play**\n * Pause Stream: **pause**\n * Skip\
|
||
|
\ to next song: **next**\n * Stop Stream: **stop**\n * Like/Love Current\
|
||
|
\ Song: **love**\n * Ban Current Song (pandora only): **ban**\n * Shelve\
|
||
|
\ Current Song (pandora only): **shelve**\n\nCurrently only available with\
|
||
|
\ Pandora streams"
|
||
|
operationId: exec_command_api_streams__sid___cmd__post
|
||
|
parameters:
|
||
|
- description: Stream ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Sid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Stream ID
|
||
|
name: sid
|
||
|
in: path
|
||
|
- required: true
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/StreamCommand'
|
||
|
name: cmd
|
||
|
in: path
|
||
|
examples:
|
||
|
Regina Spektor Radio:
|
||
|
value: 90890
|
||
|
summary: Regina Spektor Radio
|
||
|
Matt and Kim Radio:
|
||
|
value: 90891
|
||
|
summary: Matt and Kim Radio
|
||
|
Pink Radio:
|
||
|
value: 90892
|
||
|
summary: Pink Radio
|
||
|
Jason's iPhone:
|
||
|
value: 44590
|
||
|
summary: Jason's iPhone
|
||
|
Marc's iPhone:
|
||
|
value: 4893
|
||
|
summary: Marc's iPhone
|
||
|
Rnay:
|
||
|
value: 4894
|
||
|
summary: Rnay
|
||
|
Jeremy's Spotify:
|
||
|
value: 4895
|
||
|
summary: Jeremy's Spotify
|
||
|
Lincoln's Spotify:
|
||
|
value: 4896
|
||
|
summary: Lincoln's Spotify
|
||
|
Indie Pop Rocks:
|
||
|
value: 90893
|
||
|
summary: Indie Pop Rocks
|
||
|
Groove Salad:
|
||
|
value: 90894
|
||
|
summary: Groove Salad
|
||
|
SP_TEST:
|
||
|
value: 90895
|
||
|
summary: SP_TEST
|
||
|
Trial_DLNA:
|
||
|
value: 90896
|
||
|
summary: Trial_DLNA
|
||
|
T2:
|
||
|
value: 90897
|
||
|
summary: T2
|
||
|
T3:
|
||
|
value: 90898
|
||
|
summary: T3
|
||
|
T2.5:
|
||
|
value: 90899
|
||
|
summary: T2.5
|
||
|
Jeremy's DLNA:
|
||
|
value: 90900
|
||
|
summary: Jeremy's DLNA
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/preset:
|
||
|
post:
|
||
|
tags:
|
||
|
- preset
|
||
|
summary: Create Preset
|
||
|
description: 'Create a new preset configuration '
|
||
|
operationId: create_preset_api_preset_post
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Preset'
|
||
|
examples:
|
||
|
Add Mute All:
|
||
|
value:
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
required: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Preset'
|
||
|
examples:
|
||
|
Mute All:
|
||
|
value:
|
||
|
id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/presets:
|
||
|
get:
|
||
|
tags:
|
||
|
- preset
|
||
|
summary: Get Presets
|
||
|
description: 'Get all presets '
|
||
|
operationId: get_presets_api_presets_get
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
title: Response Get Presets Api Presets Get
|
||
|
type: object
|
||
|
additionalProperties:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Preset'
|
||
|
/api/presets/{pid}:
|
||
|
get:
|
||
|
tags:
|
||
|
- preset
|
||
|
summary: Get Preset
|
||
|
description: 'Get Preset with id=**pid** '
|
||
|
operationId: get_preset_api_presets__pid__get
|
||
|
parameters:
|
||
|
- description: Preset ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Pid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Preset ID
|
||
|
name: pid
|
||
|
in: path
|
||
|
examples:
|
||
|
Mute All:
|
||
|
value: 10000
|
||
|
summary: Mute All
|
||
|
Restore last config:
|
||
|
value: 9999
|
||
|
summary: Restore last config
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Preset'
|
||
|
examples:
|
||
|
Mute All:
|
||
|
value:
|
||
|
id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
delete:
|
||
|
tags:
|
||
|
- preset
|
||
|
summary: Delete Preset
|
||
|
description: 'Delete a preset '
|
||
|
operationId: delete_preset_api_presets__pid__delete
|
||
|
parameters:
|
||
|
- description: Preset ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Pid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Preset ID
|
||
|
name: pid
|
||
|
in: path
|
||
|
examples:
|
||
|
Mute All:
|
||
|
value: 10000
|
||
|
summary: Mute All
|
||
|
Restore last config:
|
||
|
value: 9999
|
||
|
summary: Restore last config
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
patch:
|
||
|
tags:
|
||
|
- preset
|
||
|
summary: Set Preset
|
||
|
description: 'Update a preset''s configuration (preset=**pid**) '
|
||
|
operationId: set_preset_api_presets__pid__patch
|
||
|
parameters:
|
||
|
- description: Preset ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Pid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Preset ID
|
||
|
name: pid
|
||
|
in: path
|
||
|
examples:
|
||
|
Mute All:
|
||
|
value: 10000
|
||
|
summary: Mute All
|
||
|
Restore last config:
|
||
|
value: 9999
|
||
|
summary: Restore last config
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/PresetUpdate'
|
||
|
examples:
|
||
|
Only mute some:
|
||
|
value:
|
||
|
name: Mute Some
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
/api/presets/{pid}/load:
|
||
|
post:
|
||
|
tags:
|
||
|
- preset
|
||
|
summary: Load Preset
|
||
|
description: 'Load a preset configuration '
|
||
|
operationId: load_preset_api_presets__pid__load_post
|
||
|
parameters:
|
||
|
- description: Preset ID
|
||
|
required: true
|
||
|
schema:
|
||
|
title: Pid
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: Preset ID
|
||
|
name: pid
|
||
|
in: path
|
||
|
examples:
|
||
|
Mute All:
|
||
|
value: 10000
|
||
|
summary: Mute All
|
||
|
Restore last config:
|
||
|
value: 9999
|
||
|
summary: Restore last config
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Successful Response
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/Status'
|
||
|
examples:
|
||
|
Status of Jason's AmpliPi:
|
||
|
value:
|
||
|
groups:
|
||
|
- id: 0
|
||
|
mute: false
|
||
|
name: Whole House
|
||
|
source_id: null
|
||
|
vol_delta: -44
|
||
|
zones:
|
||
|
- 0
|
||
|
- 1
|
||
|
- 2
|
||
|
- 3
|
||
|
- 5
|
||
|
- 6
|
||
|
- 7
|
||
|
- 8
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
name: KitchLivDining
|
||
|
source_id: 0
|
||
|
vol_delta: -49
|
||
|
zones:
|
||
|
- 3
|
||
|
- 9
|
||
|
- 10
|
||
|
- 11
|
||
|
presets:
|
||
|
- id: 10000
|
||
|
name: Mute All
|
||
|
state:
|
||
|
zones:
|
||
|
- id: 0
|
||
|
mute: true
|
||
|
- id: 1
|
||
|
mute: true
|
||
|
- id: 2
|
||
|
mute: true
|
||
|
- id: 3
|
||
|
mute: true
|
||
|
- id: 4
|
||
|
mute: true
|
||
|
- id: 5
|
||
|
mute: true
|
||
|
sources:
|
||
|
- id: 0
|
||
|
input: stream=90890
|
||
|
name: J1
|
||
|
- id: 1
|
||
|
input: stream=44590
|
||
|
name: J2
|
||
|
- id: 2
|
||
|
input: local
|
||
|
name: Marc
|
||
|
- id: 3
|
||
|
input: local
|
||
|
name: Source 4
|
||
|
streams:
|
||
|
- id: 90890
|
||
|
info:
|
||
|
album: Far (Deluxe Version)
|
||
|
artist: Regina Spektor
|
||
|
img_url: http://mediaserver-cont-dc6-1-v4v6.pandora.com/images/public/int/2/1/5/4/093624974512_500W_500H.jpg
|
||
|
station: Regina Spektor Radio
|
||
|
track: Eet
|
||
|
name: Regina Spektor Radio
|
||
|
password: ''
|
||
|
station: '4473713754798410236'
|
||
|
status: playing
|
||
|
type: pandora
|
||
|
user: example1@micro-nova.com
|
||
|
- id: 90891
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Matt and Kim Radio
|
||
|
password: ''
|
||
|
station: '4610303469018478727'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example2@micro-nova.com
|
||
|
- id: 90892
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Pink Radio
|
||
|
password: ''
|
||
|
station: '4326539910057675260'
|
||
|
status: disconnected
|
||
|
type: pandora
|
||
|
user: example3@micro-nova.com
|
||
|
- id: 44590
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Jason's iPhone
|
||
|
status: connected
|
||
|
type: shairport
|
||
|
- id: 4894
|
||
|
info:
|
||
|
details: No info available
|
||
|
name: Rnay
|
||
|
status: disconnected
|
||
|
type: shairport
|
||
|
info:
|
||
|
version: 0.0.1
|
||
|
zones:
|
||
|
- disabled: false
|
||
|
id: 0
|
||
|
mute: false
|
||
|
name: Local
|
||
|
source_id: 1
|
||
|
vol: -35
|
||
|
- disabled: false
|
||
|
id: 1
|
||
|
mute: false
|
||
|
name: Office
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 2
|
||
|
mute: true
|
||
|
name: Laundry Room
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 3
|
||
|
mute: true
|
||
|
name: Dining Room
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: true
|
||
|
id: 4
|
||
|
mute: true
|
||
|
name: BROKEN
|
||
|
source_id: 0
|
||
|
vol: -50
|
||
|
- disabled: false
|
||
|
id: 5
|
||
|
mute: true
|
||
|
name: Guest Bedroom
|
||
|
source_id: 0
|
||
|
vol: -48
|
||
|
- disabled: false
|
||
|
id: 6
|
||
|
mute: true
|
||
|
name: Main Bedroom
|
||
|
source_id: 0
|
||
|
vol: -40
|
||
|
- disabled: false
|
||
|
id: 7
|
||
|
mute: true
|
||
|
name: Main Bathroom
|
||
|
source_id: 0
|
||
|
vol: -44
|
||
|
- disabled: false
|
||
|
id: 8
|
||
|
mute: true
|
||
|
name: Master Bathroom
|
||
|
source_id: 0
|
||
|
vol: -41
|
||
|
- disabled: false
|
||
|
id: 9
|
||
|
mute: true
|
||
|
name: Kitchen High
|
||
|
source_id: 0
|
||
|
vol: -53
|
||
|
- disabled: false
|
||
|
id: 10
|
||
|
mute: true
|
||
|
name: kitchen Low
|
||
|
source_id: 0
|
||
|
vol: -52
|
||
|
- disabled: false
|
||
|
id: 11
|
||
|
mute: true
|
||
|
name: Living Room
|
||
|
source_id: 0
|
||
|
vol: -46
|
||
|
'422':
|
||
|
description: Validation Error
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/HTTPValidationError'
|
||
|
components:
|
||
|
schemas:
|
||
|
Command:
|
||
|
title: Command
|
||
|
required:
|
||
|
- stream_id
|
||
|
- cmd
|
||
|
type: object
|
||
|
properties:
|
||
|
stream_id:
|
||
|
title: Stream Id
|
||
|
type: integer
|
||
|
description: Stream to execute the command on
|
||
|
cmd:
|
||
|
title: Cmd
|
||
|
type: string
|
||
|
description: Command to execute
|
||
|
description: 'A command to execute on a stream '
|
||
|
Group:
|
||
|
title: Group
|
||
|
required:
|
||
|
- name
|
||
|
- zones
|
||
|
type: object
|
||
|
properties:
|
||
|
id:
|
||
|
title: Id
|
||
|
type: integer
|
||
|
description: Unique identifier
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
source_id:
|
||
|
title: Source Id
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: id of the connected source
|
||
|
default: 0
|
||
|
zones:
|
||
|
title: Zones
|
||
|
uniqueItems: true
|
||
|
type: array
|
||
|
items:
|
||
|
type: integer
|
||
|
description: Set of zones belonging to a group
|
||
|
mute:
|
||
|
title: Mute
|
||
|
type: boolean
|
||
|
description: Set to true if output is all zones muted
|
||
|
default: true
|
||
|
vol_delta:
|
||
|
title: Vol Delta
|
||
|
maximum: 0.0
|
||
|
minimum: -79.0
|
||
|
type: integer
|
||
|
description: Average utput volume in dB
|
||
|
default: -79
|
||
|
description: 'A group of zones that can share the same audio input and be controlled
|
||
|
as a group ie. Updstairs.
|
||
|
|
||
|
|
||
|
Volume, mute, and source_id fields are aggregates of the member zones.'
|
||
|
GroupUpdate:
|
||
|
title: GroupUpdate
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
source_id:
|
||
|
title: Source Id
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: id of the connected source
|
||
|
default: 0
|
||
|
zones:
|
||
|
title: Zones
|
||
|
type: array
|
||
|
items:
|
||
|
type: integer
|
||
|
description: Set of zones belonging to a group
|
||
|
mute:
|
||
|
title: Mute
|
||
|
type: boolean
|
||
|
description: Set to true if output is all zones muted
|
||
|
default: true
|
||
|
vol_delta:
|
||
|
title: Vol Delta
|
||
|
maximum: 0.0
|
||
|
minimum: -79.0
|
||
|
type: integer
|
||
|
description: Average utput volume in dB
|
||
|
default: -79
|
||
|
description: 'Reconfiguration of a Group '
|
||
|
GroupUpdate2:
|
||
|
title: GroupUpdate2
|
||
|
required:
|
||
|
- id
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
source_id:
|
||
|
title: Source Id
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: id of the connected source
|
||
|
default: 0
|
||
|
zones:
|
||
|
title: Zones
|
||
|
type: array
|
||
|
items:
|
||
|
type: integer
|
||
|
description: Set of zones belonging to a group
|
||
|
mute:
|
||
|
title: Mute
|
||
|
type: boolean
|
||
|
description: Set to true if output is all zones muted
|
||
|
default: true
|
||
|
vol_delta:
|
||
|
title: Vol Delta
|
||
|
maximum: 0.0
|
||
|
minimum: -79.0
|
||
|
type: integer
|
||
|
description: Average utput volume in dB
|
||
|
default: -79
|
||
|
id:
|
||
|
title: Id
|
||
|
type: integer
|
||
|
description: 'Reconfiguration of a specific Group '
|
||
|
HTTPValidationError:
|
||
|
title: HTTPValidationError
|
||
|
type: object
|
||
|
properties:
|
||
|
detail:
|
||
|
title: Detail
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/ValidationError'
|
||
|
Info:
|
||
|
title: Info
|
||
|
type: object
|
||
|
properties:
|
||
|
config_file:
|
||
|
title: Config File
|
||
|
type: string
|
||
|
default: Uknown
|
||
|
version:
|
||
|
title: Version
|
||
|
type: string
|
||
|
default: Unknown
|
||
|
mock_ctrl:
|
||
|
title: Mock Ctrl
|
||
|
type: boolean
|
||
|
default: false
|
||
|
mock_streams:
|
||
|
title: Mock Streams
|
||
|
type: boolean
|
||
|
default: false
|
||
|
description: 'Information about the settings used by the controller '
|
||
|
Preset:
|
||
|
title: Preset
|
||
|
required:
|
||
|
- name
|
||
|
- state
|
||
|
type: object
|
||
|
properties:
|
||
|
id:
|
||
|
title: Id
|
||
|
type: integer
|
||
|
description: Unique identifier
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
state:
|
||
|
$ref: '#/components/schemas/PresetState'
|
||
|
commands:
|
||
|
title: Commands
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Command'
|
||
|
default: []
|
||
|
last_used:
|
||
|
title: Last Used
|
||
|
type: integer
|
||
|
description: 'A partial controller configuration the can be loaded on demand.
|
||
|
|
||
|
In addition to most of the configuration found in Status, this can contain
|
||
|
commands as well that configure the state of different streaming services.'
|
||
|
PresetState:
|
||
|
title: PresetState
|
||
|
type: object
|
||
|
properties:
|
||
|
sources:
|
||
|
title: Sources
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/SourceUpdate2'
|
||
|
zones:
|
||
|
title: Zones
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/ZoneUpdate2'
|
||
|
groups:
|
||
|
title: Groups
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/GroupUpdate2'
|
||
|
description: 'A set of partial configuration changes to make to sources, zones,
|
||
|
and groups '
|
||
|
PresetUpdate:
|
||
|
title: PresetUpdate
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
state:
|
||
|
$ref: '#/components/schemas/PresetState'
|
||
|
commands:
|
||
|
title: Commands
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Command'
|
||
|
description: 'Changes to a current preset
|
||
|
|
||
|
|
||
|
The contents of state and commands will be completely replaced if populated.
|
||
|
|
||
|
Merging old and new updates seems too complicated and error prone.'
|
||
|
Source:
|
||
|
title: Source
|
||
|
required:
|
||
|
- name
|
||
|
type: object
|
||
|
properties:
|
||
|
id:
|
||
|
title: Id
|
||
|
type: integer
|
||
|
description: Unique identifier
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
input:
|
||
|
title: Input
|
||
|
type: string
|
||
|
description: "Connected audio source\n\n * Digital Stream ('stream=SID')\
|
||
|
\ where SID is the ID of the connected stream\n * Analog RCA Input ('local')\
|
||
|
\ connects to the RCA inputs associated\n * Nothing ('') behind the scenes\
|
||
|
\ this is muxed to a digital output\n "
|
||
|
default: ''
|
||
|
description: 'An audio source '
|
||
|
SourceUpdate:
|
||
|
title: SourceUpdate
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
input:
|
||
|
title: Input
|
||
|
type: string
|
||
|
description: 'Partial reconfiguration of an audio Source '
|
||
|
SourceUpdate2:
|
||
|
title: SourceUpdate2
|
||
|
required:
|
||
|
- id
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
input:
|
||
|
title: Input
|
||
|
type: string
|
||
|
id:
|
||
|
title: Id
|
||
|
maximum: 4.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: 'Partial reconfiguration of a specific audio Source '
|
||
|
Status:
|
||
|
title: Status
|
||
|
type: object
|
||
|
properties:
|
||
|
sources:
|
||
|
title: Sources
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Source'
|
||
|
default:
|
||
|
- id: 0
|
||
|
name: '0'
|
||
|
input: ''
|
||
|
- id: 1
|
||
|
name: '1'
|
||
|
input: ''
|
||
|
- id: 2
|
||
|
name: '2'
|
||
|
input: ''
|
||
|
- id: 3
|
||
|
name: '3'
|
||
|
input: ''
|
||
|
zones:
|
||
|
title: Zones
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Zone'
|
||
|
default:
|
||
|
- id: 0
|
||
|
name: Zone 0
|
||
|
source_id: 0
|
||
|
mute: true
|
||
|
vol: -79
|
||
|
disabled: false
|
||
|
- id: 1
|
||
|
name: Zone 1
|
||
|
source_id: 0
|
||
|
mute: true
|
||
|
vol: -79
|
||
|
disabled: false
|
||
|
- id: 2
|
||
|
name: Zone 2
|
||
|
source_id: 0
|
||
|
mute: true
|
||
|
vol: -79
|
||
|
disabled: false
|
||
|
- id: 3
|
||
|
name: Zone 3
|
||
|
source_id: 0
|
||
|
mute: true
|
||
|
vol: -79
|
||
|
disabled: false
|
||
|
- id: 4
|
||
|
name: Zone 4
|
||
|
source_id: 0
|
||
|
mute: true
|
||
|
vol: -79
|
||
|
disabled: false
|
||
|
- id: 5
|
||
|
name: Zone 5
|
||
|
source_id: 0
|
||
|
mute: true
|
||
|
vol: -79
|
||
|
disabled: false
|
||
|
groups:
|
||
|
title: Groups
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Group'
|
||
|
default: []
|
||
|
streams:
|
||
|
title: Streams
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Stream'
|
||
|
default: []
|
||
|
presets:
|
||
|
title: Presets
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: '#/components/schemas/Preset'
|
||
|
default: []
|
||
|
info:
|
||
|
$ref: '#/components/schemas/Info'
|
||
|
description: 'Full Controller Configuration and Status '
|
||
|
Stream:
|
||
|
title: Stream
|
||
|
required:
|
||
|
- name
|
||
|
- type
|
||
|
type: object
|
||
|
properties:
|
||
|
id:
|
||
|
title: Id
|
||
|
type: integer
|
||
|
description: Unique identifier
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
type:
|
||
|
title: Type
|
||
|
type: string
|
||
|
description: "stream type\n\n * pandora\n * shairport\n * dlna\n * internetradio\n\
|
||
|
\ * spotify\n "
|
||
|
user:
|
||
|
title: User
|
||
|
type: string
|
||
|
description: User login
|
||
|
password:
|
||
|
title: Password
|
||
|
type: string
|
||
|
description: Password
|
||
|
station:
|
||
|
title: Station
|
||
|
type: string
|
||
|
description: Radio station identifier
|
||
|
url:
|
||
|
title: Url
|
||
|
type: string
|
||
|
description: Stream url, used for internetradio
|
||
|
logo:
|
||
|
title: Logo
|
||
|
type: string
|
||
|
description: Icon/Logo url, used for internetradio
|
||
|
info:
|
||
|
title: Info
|
||
|
type: object
|
||
|
description: Additional info about the current audio playing from the stream
|
||
|
(generated during playback
|
||
|
status:
|
||
|
title: Status
|
||
|
type: string
|
||
|
description: State of the stream
|
||
|
description: 'Digital stream such as Pandora, Airplay or Spotify '
|
||
|
StreamCommand:
|
||
|
title: StreamCommand
|
||
|
enum:
|
||
|
- play
|
||
|
- pause
|
||
|
- next
|
||
|
- stop
|
||
|
- like
|
||
|
- ban
|
||
|
- shelve
|
||
|
type: string
|
||
|
description: An enumeration.
|
||
|
StreamUpdate:
|
||
|
title: StreamUpdate
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
user:
|
||
|
title: User
|
||
|
type: string
|
||
|
password:
|
||
|
title: Password
|
||
|
type: string
|
||
|
station:
|
||
|
title: Station
|
||
|
type: string
|
||
|
url:
|
||
|
title: Url
|
||
|
type: string
|
||
|
logo:
|
||
|
title: Logo
|
||
|
type: string
|
||
|
description: 'Reconfiguration of a Stream '
|
||
|
ValidationError:
|
||
|
title: ValidationError
|
||
|
required:
|
||
|
- loc
|
||
|
- msg
|
||
|
- type
|
||
|
type: object
|
||
|
properties:
|
||
|
loc:
|
||
|
title: Location
|
||
|
type: array
|
||
|
items:
|
||
|
type: string
|
||
|
msg:
|
||
|
title: Message
|
||
|
type: string
|
||
|
type:
|
||
|
title: Error Type
|
||
|
type: string
|
||
|
Zone:
|
||
|
title: Zone
|
||
|
required:
|
||
|
- name
|
||
|
type: object
|
||
|
properties:
|
||
|
id:
|
||
|
title: Id
|
||
|
type: integer
|
||
|
description: Unique identifier
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
source_id:
|
||
|
title: Source Id
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: id of the connected source
|
||
|
default: 0
|
||
|
mute:
|
||
|
title: Mute
|
||
|
type: boolean
|
||
|
description: Set to true if output is muted
|
||
|
default: true
|
||
|
vol:
|
||
|
title: Vol
|
||
|
maximum: 0.0
|
||
|
minimum: -79.0
|
||
|
type: integer
|
||
|
description: Output volume in dB
|
||
|
default: -79
|
||
|
disabled:
|
||
|
title: Disabled
|
||
|
type: boolean
|
||
|
description: Set to true if not connected to a speaker
|
||
|
default: false
|
||
|
description: 'Audio output to a stereo pair of speakers, typically belonging
|
||
|
to a room '
|
||
|
ZoneUpdate:
|
||
|
title: ZoneUpdate
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
source_id:
|
||
|
title: Source Id
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: id of the connected source
|
||
|
default: 0
|
||
|
mute:
|
||
|
title: Mute
|
||
|
type: boolean
|
||
|
description: Set to true if output is muted
|
||
|
default: true
|
||
|
vol:
|
||
|
title: Vol
|
||
|
maximum: 0.0
|
||
|
minimum: -79.0
|
||
|
type: integer
|
||
|
description: Output volume in dB
|
||
|
default: -79
|
||
|
disabled:
|
||
|
title: Disabled
|
||
|
type: boolean
|
||
|
description: Set to true if not connected to a speaker
|
||
|
default: false
|
||
|
description: 'Reconfiguration of a Zone '
|
||
|
ZoneUpdate2:
|
||
|
title: ZoneUpdate2
|
||
|
required:
|
||
|
- id
|
||
|
type: object
|
||
|
properties:
|
||
|
name:
|
||
|
title: Name
|
||
|
type: string
|
||
|
description: Friendly name
|
||
|
source_id:
|
||
|
title: Source Id
|
||
|
maximum: 3.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: id of the connected source
|
||
|
default: 0
|
||
|
mute:
|
||
|
title: Mute
|
||
|
type: boolean
|
||
|
description: Set to true if output is muted
|
||
|
default: true
|
||
|
vol:
|
||
|
title: Vol
|
||
|
maximum: 0.0
|
||
|
minimum: -79.0
|
||
|
type: integer
|
||
|
description: Output volume in dB
|
||
|
default: -79
|
||
|
disabled:
|
||
|
title: Disabled
|
||
|
type: boolean
|
||
|
description: Set to true if not connected to a speaker
|
||
|
default: false
|
||
|
id:
|
||
|
title: Id
|
||
|
maximum: 35.0
|
||
|
minimum: 0.0
|
||
|
type: integer
|
||
|
description: 'Reconfiguration of a specific Zone '
|
||
|
tags:
|
||
|
- name: status
|
||
|
description: The status and configuration of the entire system, including source,
|
||
|
zones, groups, and streams.
|
||
|
- name: source
|
||
|
description: Audio source. Can accept sudio input from a local (RCA) connection
|
||
|
or any stream. Sources can be connected to one or multiple zones, or connected
|
||
|
to nothing at all.
|
||
|
- name: zone
|
||
|
description: Stereo output to a set of speakers, typically a room. Individually
|
||
|
controllable with its own volume control. Can be connected to one of the 4 audio
|
||
|
sources.
|
||
|
- name: group
|
||
|
description: Group of zones. Grouping allows a set of zones to be controlled together.
|
||
|
A zone can belong to multiple groups, allowing for different levels of abstraction,
|
||
|
ie. Guest Bedroom can belong to both the 'Upstairs' and 'Whole House' groups.,
|
||
|
- name: stream
|
||
|
description: Digital stream that can be connected to a source, ie. Pandora, Airplay,
|
||
|
Spotify, Internet Radio, DLNA.
|
||
|
- name: preset
|
||
|
description: A partial system configuration. Used to load specific configurations,
|
||
|
such as "Home Theater" mode where the living room speakers are connected to the
|
||
|
TV's audio output.
|