33
33
GET_GROUPS = 'group/get_groups'
34
34
SET_GROUP = 'group/set_group'
35
35
36
- BROWSE = 'browser /browse'
36
+ BROWSE = 'browse /browse'
37
37
38
38
EVENT_PLAYER_VOLUME_CHANGED = 'event/player_volume_changed'
39
39
EVENT_PLAYER_STATE_CHANGED = 'event/player_state_changed'
@@ -88,7 +88,7 @@ def __init__(self, message):
88
88
self .message = message
89
89
90
90
91
- class AioHeosController () :
91
+ class AioHeosController :
92
92
"""Asynchronous Heos class."""
93
93
94
94
# ddpylint: disable=too-many-public-methods,too-many-instance-attributes
@@ -107,7 +107,6 @@ def __init__(self,
107
107
self ._players = None
108
108
self ._groups = None
109
109
110
- self ._player_id = None
111
110
self ._upnp = None
112
111
self ._reader = None
113
112
self ._writer = None
@@ -122,7 +121,7 @@ async def ensure_player(self):
122
121
# timeout after 10 sec
123
122
self .request_players ()
124
123
for _ in range (0 , 20 ):
125
- if self .player_id :
124
+ if self ._players :
126
125
return
127
126
await asyncio .sleep (0.5 )
128
127
@@ -219,8 +218,6 @@ def send_command(self, command, message=None):
219
218
"""Send command."""
220
219
msg = 'heos://' + command
221
220
if message :
222
- if not message .get ('pid' ):
223
- message ['pid' ] = self .player_id
224
221
msg += '?' + '&' .join ("{}={}" .format (key , val )
225
222
for (key , val ) in message .items ())
226
223
msg += '\r \n '
@@ -420,7 +417,6 @@ def login(self):
420
417
421
418
def _parse_players (self , payload , _message ):
422
419
_players_json = payload
423
- self ._player_id = _players_json [0 ]['pid' ]
424
420
if not self ._players :
425
421
self ._players = []
426
422
@@ -484,11 +480,6 @@ def get_group(self, pid):
484
480
return group
485
481
return None
486
482
487
- @property
488
- def player_id (self ):
489
- " get player id "
490
- return self ._player_id
491
-
492
483
def request_player_info (self , pid ):
493
484
" request player info "
494
485
self .send_command (GET_PLAYER_INFO , {'pid' : pid })
@@ -525,13 +516,13 @@ def _parse_volume(self, _payload, message):
525
516
if self .get_group (message ['pid' ]):
526
517
self .get_group (message ['pid' ]).volume = float (message ['level' ])
527
518
528
- def _set_play_state (self , state , pid = None ):
519
+ def _set_play_state (self , state , pid ):
529
520
" set play state "
530
521
if state not in ('play' , 'pause' , 'stop' ):
531
522
AioHeosException ('Not an accepted play state {}.' .format (state ))
532
523
533
524
self .send_command (SET_PLAY_STATE , {
534
- 'pid' : pid if pid else self . player_id ,
525
+ 'pid' : pid ,
535
526
'state' : state
536
527
})
537
528
@@ -547,10 +538,10 @@ def pause(self, pid=None):
547
538
" pause "
548
539
self ._set_play_state ('pause' , pid )
549
540
550
- def request_now_playing_media (self , pid = None ):
541
+ def request_now_playing_media (self , pid ):
551
542
" get playing media "
552
543
self .send_command (GET_NOW_PLAYING_MEDIA ,
553
- {'pid' : pid if pid else self . player_id })
544
+ {'pid' : pid })
554
545
555
546
def _parse_now_playing_media (self , payload , message ):
556
547
player = self .get_player (message ["pid" ])
@@ -679,7 +670,8 @@ def _parse_players_changed(self, _payload, _message):
679
670
680
671
def _parse_player_now_playing_changed (self , _payload , _message ):
681
672
" event / now playing changed, request what changed. "
682
- self .request_now_playing_media ()
673
+ player_id = _message ['pid' ]
674
+ self .request_now_playing_media (player_id )
683
675
684
676
def _parse_player_now_playing_progress (self , _payload , message ):
685
677
player = self .get_player (message ["pid" ])
0 commit comments