diff --git a/custom_components/spotcast/__init__.py b/custom_components/spotcast/__init__.py index 1ae16217..4f28dfc9 100644 --- a/custom_components/spotcast/__init__.py +++ b/custom_components/spotcast/__init__.py @@ -11,7 +11,7 @@ import homeassistant.helpers.config_validation as cv from homeassistant.components.cast.media_player import KNOWN_CHROMECAST_INFO_KEY -__VERSION__ = "3.3.4" +__VERSION__ = "3.3.5" DOMAIN = "spotcast" _LOGGER = logging.getLogger(__name__) diff --git a/custom_components/spotcast/manifest.json b/custom_components/spotcast/manifest.json index 7aac8d3f..16b71d2c 100644 --- a/custom_components/spotcast/manifest.json +++ b/custom_components/spotcast/manifest.json @@ -5,11 +5,10 @@ "requirements": [ "spotify_token==1.0.0" ], - "homeassistant": "0.111.0", + "homeassistant": "0.113.0", "dependencies": [ ], "codeowners": [ - "@fondberg", - "@kleinc80" + "@fondberg" ] } diff --git a/custom_components/spotcast/sensor.py b/custom_components/spotcast/sensor.py index fbba3dc3..401b8801 100644 --- a/custom_components/spotcast/sensor.py +++ b/custom_components/spotcast/sensor.py @@ -8,7 +8,7 @@ _LOGGER = logging.getLogger(__name__) -SENSOR_SCAN_INTERVAL_SECS = 60 +SENSOR_SCAN_INTERVAL_SECS = 180 SCAN_INTERVAL = timedelta(seconds=SENSOR_SCAN_INTERVAL_SECS) @@ -45,19 +45,23 @@ def update(self): # from cast/media_player.py but is missing cast_type # KNOWN_CHROMECAST_INFO_KEY = 'cast_known_chromecasts' # _LOGGER.info('KNOWN_CHROMECAST_INFO_KEY: %s', self.hass.data[KNOWN_CHROMECAST_INFO_KEY]) + _LOGGER.info('getting chromecast devices') self._chromecast_devices = pychromecast.get_chromecasts() _LOGGER.debug('Found chromecast devices: %s', self._chromecast_devices) chromecasts = [] - for cast in self._chromecast_devices: - device = { - 'name': cast.name, - 'cast_type': cast.cast_type, - 'model_name': cast.model_name, - 'uuid': str(cast.uuid), - 'manufacturer': cast.device.manufacturer - } - chromecasts.append(device) + for casts in self._chromecast_devices: + if type(casts) == list: + for cast in casts: + _LOGGER.info("NIKLAS: %s %s", type(cast), cast.device) + device = { + 'name': cast.device.friendly_name, + 'cast_type': cast.cast_type, + 'model_name': cast.model_name, + 'uuid': str(cast.uuid), + 'manufacturer': cast.device.manufacturer + } + chromecasts.append(device) self._attributes['devices_json'] = json.dumps(chromecasts, ensure_ascii=False) self._attributes['devices'] = chromecasts self._attributes['last_update'] = dt.now().isoformat('T')