Use MediaPlayerDeviceClass in vizio (#69265)

This commit is contained in:
epenet 2022-04-04 17:35:25 +02:00 committed by GitHub
parent cfdfa3eab2
commit 7e6bb3354a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,7 +5,7 @@ from pyvizio.const import (
) )
import voluptuous as vol import voluptuous as vol
from homeassistant.components.media_player import DEVICE_CLASS_SPEAKER, DEVICE_CLASS_TV from homeassistant.components.media_player import MediaPlayerDeviceClass
from homeassistant.components.media_player.const import ( from homeassistant.components.media_player.const import (
SUPPORT_NEXT_TRACK, SUPPORT_NEXT_TRACK,
SUPPORT_PREVIOUS_TRACK, SUPPORT_PREVIOUS_TRACK,
@ -48,7 +48,7 @@ CONF_NAME_SPACE = "NAME_SPACE"
CONF_MESSAGE = "MESSAGE" CONF_MESSAGE = "MESSAGE"
CONF_VOLUME_STEP = "volume_step" CONF_VOLUME_STEP = "volume_step"
DEFAULT_DEVICE_CLASS = DEVICE_CLASS_TV DEFAULT_DEVICE_CLASS = MediaPlayerDeviceClass.TV
DEFAULT_NAME = "Vizio SmartCast" DEFAULT_NAME = "Vizio SmartCast"
DEFAULT_TIMEOUT = 8 DEFAULT_TIMEOUT = 8
DEFAULT_VOLUME_STEP = 1 DEFAULT_VOLUME_STEP = 1
@ -56,7 +56,10 @@ DEFAULT_VOLUME_STEP = 1
DEVICE_ID = "pyvizio" DEVICE_ID = "pyvizio"
DOMAIN = "vizio" DOMAIN = "vizio"
ICON = {DEVICE_CLASS_TV: "mdi:television", DEVICE_CLASS_SPEAKER: "mdi:speaker"} ICON = {
MediaPlayerDeviceClass.TV: "mdi:television",
MediaPlayerDeviceClass.SPEAKER: "mdi:speaker",
}
COMMON_SUPPORTED_COMMANDS = ( COMMON_SUPPORTED_COMMANDS = (
SUPPORT_SELECT_SOURCE SUPPORT_SELECT_SOURCE
@ -68,8 +71,8 @@ COMMON_SUPPORTED_COMMANDS = (
) )
SUPPORTED_COMMANDS = { SUPPORTED_COMMANDS = {
DEVICE_CLASS_SPEAKER: COMMON_SUPPORTED_COMMANDS, MediaPlayerDeviceClass.SPEAKER: COMMON_SUPPORTED_COMMANDS,
DEVICE_CLASS_TV: ( MediaPlayerDeviceClass.TV: (
COMMON_SUPPORTED_COMMANDS | SUPPORT_NEXT_TRACK | SUPPORT_PREVIOUS_TRACK COMMON_SUPPORTED_COMMANDS | SUPPORT_NEXT_TRACK | SUPPORT_PREVIOUS_TRACK
), ),
} }
@ -83,8 +86,8 @@ VIZIO_MUTE = "mute"
# Since Vizio component relies on device class, this dict will ensure that changes to # Since Vizio component relies on device class, this dict will ensure that changes to
# the values of DEVICE_CLASS_SPEAKER or DEVICE_CLASS_TV don't require changes to pyvizio. # the values of DEVICE_CLASS_SPEAKER or DEVICE_CLASS_TV don't require changes to pyvizio.
VIZIO_DEVICE_CLASSES = { VIZIO_DEVICE_CLASSES = {
DEVICE_CLASS_SPEAKER: VIZIO_DEVICE_CLASS_SPEAKER, MediaPlayerDeviceClass.SPEAKER: VIZIO_DEVICE_CLASS_SPEAKER,
DEVICE_CLASS_TV: VIZIO_DEVICE_CLASS_TV, MediaPlayerDeviceClass.TV: VIZIO_DEVICE_CLASS_TV,
} }
VIZIO_SCHEMA = { VIZIO_SCHEMA = {
@ -92,7 +95,9 @@ VIZIO_SCHEMA = {
vol.Optional(CONF_ACCESS_TOKEN): cv.string, vol.Optional(CONF_ACCESS_TOKEN): cv.string,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
vol.Optional(CONF_DEVICE_CLASS, default=DEFAULT_DEVICE_CLASS): vol.All( vol.Optional(CONF_DEVICE_CLASS, default=DEFAULT_DEVICE_CLASS): vol.All(
cv.string, vol.Lower, vol.In([DEVICE_CLASS_TV, DEVICE_CLASS_SPEAKER]) cv.string,
vol.Lower,
vol.In([MediaPlayerDeviceClass.TV, MediaPlayerDeviceClass.SPEAKER]),
), ),
vol.Optional(CONF_VOLUME_STEP, default=DEFAULT_VOLUME_STEP): vol.All( vol.Optional(CONF_VOLUME_STEP, default=DEFAULT_VOLUME_STEP): vol.All(
vol.Coerce(int), vol.Range(min=1, max=10) vol.Coerce(int), vol.Range(min=1, max=10)