openhab-addons/bundles/org.openhab.binding.amplipi/amplipi-api.yml

4440 lines
138 KiB
YAML
Raw Normal View History

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.