mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 04:07:08 +00:00
Panasonic viera new services (#11963)
* Implemented play_media Panasonic Viera TV has a full blown Web Browser that can play any media * media stop * format checks * added SUPPORT_* * bump version * Tks @rytilahti * one too many
This commit is contained in:
parent
1aca6f922f
commit
b33d89326f
@ -88,6 +88,7 @@ MEDIA_TYPE_VIDEO = 'movie'
|
||||
MEDIA_TYPE_EPISODE = 'episode'
|
||||
MEDIA_TYPE_CHANNEL = 'channel'
|
||||
MEDIA_TYPE_PLAYLIST = 'playlist'
|
||||
MEDIA_TYPE_URL = 'url'
|
||||
|
||||
SUPPORT_PAUSE = 1
|
||||
SUPPORT_SEEK = 2
|
||||
|
@ -11,7 +11,8 @@ import voluptuous as vol
|
||||
from homeassistant.components.media_player import (
|
||||
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK,
|
||||
SUPPORT_TURN_ON, SUPPORT_TURN_OFF, SUPPORT_PLAY,
|
||||
SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET,
|
||||
SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, MEDIA_TYPE_URL,
|
||||
SUPPORT_PLAY_MEDIA, SUPPORT_STOP,
|
||||
SUPPORT_VOLUME_STEP, MediaPlayerDevice, PLATFORM_SCHEMA)
|
||||
from homeassistant.const import (
|
||||
CONF_HOST, CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN, CONF_PORT)
|
||||
@ -30,7 +31,8 @@ DEFAULT_PORT = 55000
|
||||
SUPPORT_VIERATV = SUPPORT_PAUSE | SUPPORT_VOLUME_STEP | \
|
||||
SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \
|
||||
SUPPORT_PREVIOUS_TRACK | SUPPORT_NEXT_TRACK | \
|
||||
SUPPORT_TURN_OFF | SUPPORT_PLAY
|
||||
SUPPORT_TURN_OFF | SUPPORT_PLAY | \
|
||||
SUPPORT_PLAY_MEDIA | SUPPORT_STOP
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Required(CONF_HOST): cv.string,
|
||||
@ -184,3 +186,19 @@ class PanasonicVieraTVDevice(MediaPlayerDevice):
|
||||
def media_previous_track(self):
|
||||
"""Send the previous track command."""
|
||||
self.send_key('NRC_REW-ONOFF')
|
||||
|
||||
def play_media(self, media_type, media_id, **kwargs):
|
||||
"""Play media."""
|
||||
_LOGGER.debug("Play media: %s (%s)", media_id, media_type)
|
||||
|
||||
if media_type == MEDIA_TYPE_URL:
|
||||
try:
|
||||
self._remote.open_webpage(media_id)
|
||||
except (TimeoutError, OSError):
|
||||
self._state = STATE_OFF
|
||||
else:
|
||||
_LOGGER.warning("Unsupported media_type: %s", media_type)
|
||||
|
||||
def media_stop(self):
|
||||
"""Stop playback."""
|
||||
self.send_key('NRC_CANCEL-ONOFF')
|
||||
|
Loading…
x
Reference in New Issue
Block a user