vsslctrl 0.1.10.dev1__tar.gz → 0.1.11.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/PKG-INFO +33 -18
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/README.md +32 -17
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/pyproject.toml +1 -1
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/tests/test_integration.py +119 -98
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/__init__.py +1 -1
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/api_alpha.py +355 -249
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/data_structure.py +63 -18
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/decorators.py +54 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/device.py +70 -15
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/group.py +3 -4
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/io.py +88 -23
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/settings.py +36 -15
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl.egg-info/PKG-INFO +33 -18
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/LICENSE +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/setup.cfg +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/tests/test_event_bus.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/tests/test_settings.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/tests/test_zone.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/api_base.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/api_bravo.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/core.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/discovery.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/event_bus.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/exceptions.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/track.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/transport.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/utils.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl/zone.py +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl.egg-info/SOURCES.txt +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl.egg-info/dependency_links.txt +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl.egg-info/requires.txt +0 -0
- {vsslctrl-0.1.10.dev1 → vsslctrl-0.1.11.dev1}/vsslctrl.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vsslctrl
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.11.dev1
|
|
4
4
|
Summary: Package for controlling VSSL's range of streaming amplifiers
|
|
5
5
|
Author-email: vsslctrl <vsslcontrolled@proton.me>
|
|
6
6
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -30,10 +30,13 @@ Requires-Dist: zeroconf==0.132.2; extra == "optional"
|
|
|
30
30
|
I am looking for testers with any VSSL amplifier models, please get in touch if you interested in helping. <vsslcontrolled@proton.me>
|
|
31
31
|
|
|
32
32
|
Tested on:
|
|
33
|
-
- **A.1** software version **p15265.033.3703** via Home Assistant [integration](https://github.com/vsslctrl/integration.home-assistant) (reported)
|
|
34
|
-
- **A.3** software version **p12013.141.3703** via Home Assistant [integration](https://github.com/vsslctrl/integration.home-assistant) (reported)
|
|
35
33
|
- **A.3x** software version **p15305.016.3701**
|
|
36
|
-
|
|
34
|
+
|
|
35
|
+
Home Assistant [integration](https://github.com/vsslctrl/integration.home-assistant) with basic functionality working on:
|
|
36
|
+
- **A.1** software version **p15265.033.3703** (reported)
|
|
37
|
+
- **A.3** software version **p12013.141.3703** (reported)
|
|
38
|
+
- **A.3x** software version **p15305.016.3701**
|
|
39
|
+
- **A.6x** software version **p15305.017.3701** (reported)
|
|
37
40
|
|
|
38
41
|
## Important
|
|
39
42
|
|
|
@@ -41,8 +44,9 @@ There should not be any *[VSSL Agent's](https://vssl.gitbook.io/vssl-rest-api/ge
|
|
|
41
44
|
|
|
42
45
|
## TODOs
|
|
43
46
|
|
|
44
|
-
*
|
|
47
|
+
* Correct IO mapping between models and versions
|
|
45
48
|
* Better test coverage
|
|
49
|
+
* A.1(x) testing
|
|
46
50
|
|
|
47
51
|
## Basic Usage
|
|
48
52
|
|
|
@@ -160,19 +164,20 @@ vssl.factory_reset()
|
|
|
160
164
|
|
|
161
165
|
## `Vssl.settings`
|
|
162
166
|
|
|
163
|
-
| Property | Description | Type |
|
|
164
|
-
| ---------------------- | ----------- | ----------- |
|
|
165
|
-
| `name` | Device name | `str`
|
|
166
|
-
| `
|
|
167
|
-
| `
|
|
167
|
+
| Property | Description | Type | Notes / Defaults |
|
|
168
|
+
| ---------------------- | ----------- | ----------- | ----------- |
|
|
169
|
+
| `name` | Device name | `str` |
|
|
170
|
+
| `bus_1_name` | Name of Bus 1 | `str` | <ul><li>A.1: Optical Input</li><li>A.3x/6x: Not Used</li></ul>
|
|
171
|
+
| `bus_2_name` | Name of Bus 2 | `str` | <ul><li>A.1: Coax Input</li><li>A.3x/6x: Optical Input</li></ul>
|
|
172
|
+
| `bluetooth` | Bluetooth enabled / disabled | `bool` |
|
|
168
173
|
| `bluetooth_toggle()` | Toggle Bluetooth | `func` |
|
|
169
174
|
|
|
170
175
|
```python
|
|
171
176
|
"""Example"""
|
|
172
177
|
# Setting device name
|
|
173
178
|
vssl.settings.name = 'My House'
|
|
174
|
-
# Setting
|
|
175
|
-
vssl.settings.
|
|
179
|
+
# Setting bus 2 name
|
|
180
|
+
vssl.settings.bus_2_name = 'Optical Input'
|
|
176
181
|
# Enable Bluetooth
|
|
177
182
|
vssl.settings.bluetooth = True
|
|
178
183
|
# Toggle Bluetooth
|
|
@@ -283,15 +288,25 @@ zone1.transport.state = ZoneTransport.States.PAUSE
|
|
|
283
288
|
|
|
284
289
|
| Property | Description | Type | Values |
|
|
285
290
|
| ---------------------- | ----------- | ----------- |----------- |
|
|
286
|
-
| `source` | Change input source | `int` | `InputRouter.Sources`
|
|
287
|
-
| `priority` | Change input priority
|
|
291
|
+
| `source` | Change input source.<br/>Source to be played out the zones speakers | `int` | `InputRouter.Sources`
|
|
292
|
+
| `priority` | Change input priority.<br/>Stream or local to have precedence | `int` | `InputRouter.Priorities`
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
### A.1(x) Source Routing Order
|
|
296
|
+
A.1 and A.1x don't support manually changing the input source. Instead a fixed source routing order is used:
|
|
297
|
+
|
|
298
|
+
1. Optical Input
|
|
299
|
+
2. Coaxial Input
|
|
300
|
+
3. Analog Input
|
|
301
|
+
|
|
302
|
+
Input `InputRouter.Priorities` still apply.
|
|
288
303
|
|
|
289
|
-
### Priority
|
|
304
|
+
### Input Priority / Precedence
|
|
290
305
|
|
|
291
306
|
| `InputRouter.Priorities` | Priority Order |
|
|
292
307
|
| ---------------------- | ----------- |
|
|
293
|
-
| **`STREAM`** | <ol><li>Stream</li><li>Party Zone</li><li>Bus 1
|
|
294
|
-
| **`LOCAL`** | <ol><li>Bus 1
|
|
308
|
+
| **`STREAM`** | <ol><li>Stream</li><li>Party Zone</li><li>Bus 1</li><li>Bus 2</li><li>Optical</li><li>Coaxial</li><li>Analog</li></ol>
|
|
309
|
+
| **`LOCAL`** | <ol><li>Bus 1</li><li>Bus 2</li><li>Optical</li><li>Coaxial</li><li>Analog</li><li>Stream</li><li>Party Zone</li></ol>
|
|
295
310
|
|
|
296
311
|
```python
|
|
297
312
|
"""Example"""
|
|
@@ -335,7 +350,7 @@ zone1.group.is_party_zone_member_toggle()
|
|
|
335
350
|
|
|
336
351
|
| Property | Description | Type | Values | Default |
|
|
337
352
|
| ---------------------- | ----------- | ----------- |----------- |----------- |
|
|
338
|
-
| `source` | Where the AO is routed from. i.e
|
|
353
|
+
| `source` | Where the AO is routed from. i.e stream, optical input or off | `int` | `AnalogOutput.Sources` | `Off`
|
|
339
354
|
| `is_fixed_volume` | Fix the output volume. Output wont respond to volume control | `bool` | |`False`
|
|
340
355
|
| `is_fixed_volume_toggle()` | Toggle fixed volume | `func` |
|
|
341
356
|
|
|
@@ -9,10 +9,13 @@
|
|
|
9
9
|
I am looking for testers with any VSSL amplifier models, please get in touch if you interested in helping. <vsslcontrolled@proton.me>
|
|
10
10
|
|
|
11
11
|
Tested on:
|
|
12
|
-
- **A.1** software version **p15265.033.3703** via Home Assistant [integration](https://github.com/vsslctrl/integration.home-assistant) (reported)
|
|
13
|
-
- **A.3** software version **p12013.141.3703** via Home Assistant [integration](https://github.com/vsslctrl/integration.home-assistant) (reported)
|
|
14
12
|
- **A.3x** software version **p15305.016.3701**
|
|
15
|
-
|
|
13
|
+
|
|
14
|
+
Home Assistant [integration](https://github.com/vsslctrl/integration.home-assistant) with basic functionality working on:
|
|
15
|
+
- **A.1** software version **p15265.033.3703** (reported)
|
|
16
|
+
- **A.3** software version **p12013.141.3703** (reported)
|
|
17
|
+
- **A.3x** software version **p15305.016.3701**
|
|
18
|
+
- **A.6x** software version **p15305.017.3701** (reported)
|
|
16
19
|
|
|
17
20
|
## Important
|
|
18
21
|
|
|
@@ -20,8 +23,9 @@ There should not be any *[VSSL Agent's](https://vssl.gitbook.io/vssl-rest-api/ge
|
|
|
20
23
|
|
|
21
24
|
## TODOs
|
|
22
25
|
|
|
23
|
-
*
|
|
26
|
+
* Correct IO mapping between models and versions
|
|
24
27
|
* Better test coverage
|
|
28
|
+
* A.1(x) testing
|
|
25
29
|
|
|
26
30
|
## Basic Usage
|
|
27
31
|
|
|
@@ -139,19 +143,20 @@ vssl.factory_reset()
|
|
|
139
143
|
|
|
140
144
|
## `Vssl.settings`
|
|
141
145
|
|
|
142
|
-
| Property | Description | Type |
|
|
143
|
-
| ---------------------- | ----------- | ----------- |
|
|
144
|
-
| `name` | Device name | `str`
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
146
|
+
| Property | Description | Type | Notes / Defaults |
|
|
147
|
+
| ---------------------- | ----------- | ----------- | ----------- |
|
|
148
|
+
| `name` | Device name | `str` |
|
|
149
|
+
| `bus_1_name` | Name of Bus 1 | `str` | <ul><li>A.1: Optical Input</li><li>A.3x/6x: Not Used</li></ul>
|
|
150
|
+
| `bus_2_name` | Name of Bus 2 | `str` | <ul><li>A.1: Coax Input</li><li>A.3x/6x: Optical Input</li></ul>
|
|
151
|
+
| `bluetooth` | Bluetooth enabled / disabled | `bool` |
|
|
147
152
|
| `bluetooth_toggle()` | Toggle Bluetooth | `func` |
|
|
148
153
|
|
|
149
154
|
```python
|
|
150
155
|
"""Example"""
|
|
151
156
|
# Setting device name
|
|
152
157
|
vssl.settings.name = 'My House'
|
|
153
|
-
# Setting
|
|
154
|
-
vssl.settings.
|
|
158
|
+
# Setting bus 2 name
|
|
159
|
+
vssl.settings.bus_2_name = 'Optical Input'
|
|
155
160
|
# Enable Bluetooth
|
|
156
161
|
vssl.settings.bluetooth = True
|
|
157
162
|
# Toggle Bluetooth
|
|
@@ -262,15 +267,25 @@ zone1.transport.state = ZoneTransport.States.PAUSE
|
|
|
262
267
|
|
|
263
268
|
| Property | Description | Type | Values |
|
|
264
269
|
| ---------------------- | ----------- | ----------- |----------- |
|
|
265
|
-
| `source` | Change input source | `int` | `InputRouter.Sources`
|
|
266
|
-
| `priority` | Change input priority
|
|
270
|
+
| `source` | Change input source.<br/>Source to be played out the zones speakers | `int` | `InputRouter.Sources`
|
|
271
|
+
| `priority` | Change input priority.<br/>Stream or local to have precedence | `int` | `InputRouter.Priorities`
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
### A.1(x) Source Routing Order
|
|
275
|
+
A.1 and A.1x don't support manually changing the input source. Instead a fixed source routing order is used:
|
|
276
|
+
|
|
277
|
+
1. Optical Input
|
|
278
|
+
2. Coaxial Input
|
|
279
|
+
3. Analog Input
|
|
280
|
+
|
|
281
|
+
Input `InputRouter.Priorities` still apply.
|
|
267
282
|
|
|
268
|
-
### Priority
|
|
283
|
+
### Input Priority / Precedence
|
|
269
284
|
|
|
270
285
|
| `InputRouter.Priorities` | Priority Order |
|
|
271
286
|
| ---------------------- | ----------- |
|
|
272
|
-
| **`STREAM`** | <ol><li>Stream</li><li>Party Zone</li><li>Bus 1
|
|
273
|
-
| **`LOCAL`** | <ol><li>Bus 1
|
|
287
|
+
| **`STREAM`** | <ol><li>Stream</li><li>Party Zone</li><li>Bus 1</li><li>Bus 2</li><li>Optical</li><li>Coaxial</li><li>Analog</li></ol>
|
|
288
|
+
| **`LOCAL`** | <ol><li>Bus 1</li><li>Bus 2</li><li>Optical</li><li>Coaxial</li><li>Analog</li><li>Stream</li><li>Party Zone</li></ol>
|
|
274
289
|
|
|
275
290
|
```python
|
|
276
291
|
"""Example"""
|
|
@@ -314,7 +329,7 @@ zone1.group.is_party_zone_member_toggle()
|
|
|
314
329
|
|
|
315
330
|
| Property | Description | Type | Values | Default |
|
|
316
331
|
| ---------------------- | ----------- | ----------- |----------- |----------- |
|
|
317
|
-
| `source` | Where the AO is routed from. i.e
|
|
332
|
+
| `source` | Where the AO is routed from. i.e stream, optical input or off | `int` | `AnalogOutput.Sources` | `Off`
|
|
318
333
|
| `is_fixed_volume` | Fix the output volume. Output wont respond to volume control | `bool` | |`False`
|
|
319
334
|
| `is_fixed_volume_toggle()` | Toggle fixed volume | `func` |
|
|
320
335
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "vsslctrl"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.11.dev1"
|
|
8
8
|
description = "Package for controlling VSSL's range of streaming amplifiers"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name="vsslctrl", email="vsslcontrolled@proton.me" },
|