@@ -287,22 +287,19 @@ def list_devices():
287287 for uuid , service in listener .services .items ():
288288 LOGGER .debug (" {} {}" .format (uuid , service ))
289289
290- def add_callback (name ):
290+ def add_callback (uuid , name ):
291291 """Called when zeroconf has discovered a (new) chromecast."""
292- discovery_info = listener .services [name ]
293- ip_address , port , uuid , model_name , friendly_name = discovery_info
292+ services = listener .services [uuid ]
294293 player_id = str (uuid )
295294 if not player_id in self .mass .players ._players :
296- self .__chromecast_discovered (player_id , discovery_info )
295+ self .__chromecast_discovered (player_id , services , zconf )
297296 self .__update_group_players ()
298297
299298 def remove_callback (uuid , name , service ):
300299 LOGGER .debug ("Lost mDNS service for cast device {} {}" .format (uuid , service ))
301- list_devices ()
302300
303301 def update_callback (uuid , name ):
304302 LOGGER .debug ("Updated mDNS service for cast device {}" .format (uuid ))
305- list_devices ()
306303
307304 listener = pychromecast .CastListener (add_callback , remove_callback , update_callback )
308305 zconf = zeroconf .Zeroconf ()
@@ -313,15 +310,14 @@ def update_callback(uuid, name):
313310 LOGGER .debug ("Chromecast discovery completed..." )
314311 self ._discovery_running = False
315312
316- def __chromecast_discovered (self , player_id , discovery_info ):
313+ def __chromecast_discovered (self , player_id , services , zconf ):
317314 """ callback when a (new) chromecast device is discovered """
318- from pychromecast import _get_chromecast_from_host , ChromecastConnectionError
319315
320316 try :
321- chromecast = _get_chromecast_from_host (
322- discovery_info , tries = 2 , timeout = 5 , retry_wait = 5
317+ chromecast = pychromecast . get_chromecast_from_service (
318+ services , zconf , tries = 2 , retry_wait = 5 , timeout = 5
323319 )
324- except ChromecastConnectionError :
320+ except pychromecast . ChromecastConnectionError :
325321 LOGGER .warning ("Could not connect to device %s" % player_id )
326322 return
327323 player = ChromecastPlayer (self .mass , player_id , self .prov_id )
0 commit comments