From 77f5fb765b1ad7f2f886f65851be82f0437fd3b2 Mon Sep 17 00:00:00 2001 From: Chris Talkington Date: Thu, 3 Sep 2020 16:06:24 -0500 Subject: [PATCH] Add device class for roku devices (#39627) * add tv device class for roku tvs * Update test_media_player.py * Update test_media_player.py * Update media_player.py * Update test_media_player.py * Update media_player.py * Update test_media_player.py * Update test_media_player.py * Update media_player.py --- homeassistant/components/roku/media_player.py | 16 ++++++++++++++-- tests/components/roku/test_media_player.py | 3 +++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/roku/media_player.py b/homeassistant/components/roku/media_player.py index 96d23872dfa..1aa4fc3e9bb 100644 --- a/homeassistant/components/roku/media_player.py +++ b/homeassistant/components/roku/media_player.py @@ -1,10 +1,14 @@ """Support for the Roku media player.""" import logging -from typing import List +from typing import List, Optional import voluptuous as vol -from homeassistant.components.media_player import MediaPlayerEntity +from homeassistant.components.media_player import ( + DEVICE_CLASS_RECEIVER, + DEVICE_CLASS_TV, + MediaPlayerEntity, +) from homeassistant.components.media_player.const import ( MEDIA_TYPE_APP, MEDIA_TYPE_CHANNEL, @@ -90,6 +94,14 @@ class RokuMediaPlayer(RokuEntity, MediaPlayerEntity): """Return the unique ID for this entity.""" return self._unique_id + @property + def device_class(self) -> Optional[str]: + """Return the class of this device.""" + if self.coordinator.data.info.device_type == "tv": + return DEVICE_CLASS_TV + + return DEVICE_CLASS_RECEIVER + @property def state(self) -> str: """Return the state of the device.""" diff --git a/tests/components/roku/test_media_player.py b/tests/components/roku/test_media_player.py index 4df0c95ad07..b355e6178ff 100644 --- a/tests/components/roku/test_media_player.py +++ b/tests/components/roku/test_media_player.py @@ -3,6 +3,7 @@ from datetime import timedelta from rokuecp import RokuError +from homeassistant.components.media_player import DEVICE_CLASS_RECEIVER, DEVICE_CLASS_TV from homeassistant.components.media_player.const import ( ATTR_APP_ID, ATTR_APP_NAME, @@ -77,6 +78,7 @@ async def test_setup( assert hass.states.get(MAIN_ENTITY_ID) assert main + assert main.device_class == DEVICE_CLASS_RECEIVER assert main.unique_id == UPNP_SERIAL @@ -108,6 +110,7 @@ async def test_tv_setup( assert hass.states.get(TV_ENTITY_ID) assert tv + assert tv.device_class == DEVICE_CLASS_TV assert tv.unique_id == TV_SERIAL