mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47: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_EPISODE = 'episode'
|
||||||
MEDIA_TYPE_CHANNEL = 'channel'
|
MEDIA_TYPE_CHANNEL = 'channel'
|
||||||
MEDIA_TYPE_PLAYLIST = 'playlist'
|
MEDIA_TYPE_PLAYLIST = 'playlist'
|
||||||
|
MEDIA_TYPE_URL = 'url'
|
||||||
|
|
||||||
SUPPORT_PAUSE = 1
|
SUPPORT_PAUSE = 1
|
||||||
SUPPORT_SEEK = 2
|
SUPPORT_SEEK = 2
|
||||||
|
@ -11,7 +11,8 @@ import voluptuous as vol
|
|||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK,
|
SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PREVIOUS_TRACK,
|
||||||
SUPPORT_TURN_ON, SUPPORT_TURN_OFF, SUPPORT_PLAY,
|
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)
|
SUPPORT_VOLUME_STEP, MediaPlayerDevice, PLATFORM_SCHEMA)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_HOST, CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN, CONF_PORT)
|
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_VIERATV = SUPPORT_PAUSE | SUPPORT_VOLUME_STEP | \
|
||||||
SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \
|
SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \
|
||||||
SUPPORT_PREVIOUS_TRACK | SUPPORT_NEXT_TRACK | \
|
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({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
vol.Required(CONF_HOST): cv.string,
|
vol.Required(CONF_HOST): cv.string,
|
||||||
@ -184,3 +186,19 @@ class PanasonicVieraTVDevice(MediaPlayerDevice):
|
|||||||
def media_previous_track(self):
|
def media_previous_track(self):
|
||||||
"""Send the previous track command."""
|
"""Send the previous track command."""
|
||||||
self.send_key('NRC_REW-ONOFF')
|
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