initial commit
This commit is contained in:
commit
f8971c4821
18 files changed
+1067
No files matched your search
@@ -0,0 +1,2 @@
|
||||
|
||||
from .remote import BraviaRemote
|
||||
@@ -0,0 +1,90 @@
|
||||
import logging
|
||||
|
||||
from pybravia8 import BraviaClient, BraviaError
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
class BraviaRemote:
|
||||
def __init__(self, host, psk):
|
||||
self.client = BraviaClient(host)
|
||||
self.psk = psk
|
||||
self.connected = False
|
||||
|
||||
async def connect(self):
|
||||
if not self.connected:
|
||||
try:
|
||||
await self.client.connect(psk=self.psk)
|
||||
self.connected = True
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error connecting to Bravia TV: {e}")
|
||||
|
||||
async def disconnect(self):
|
||||
await self.client.disconnect()
|
||||
self.connected = False
|
||||
|
||||
async def send_command(self, cmd):
|
||||
await self.connect()
|
||||
try:
|
||||
_LOGGER.info(f"Sending {cmd}")
|
||||
rc = await self.client.send_command(cmd)
|
||||
_LOGGER.info(f"send command '{cmd}' returned: {rc}")
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error sending command '{cmd}': {e}")
|
||||
|
||||
async def turn_on(self):
|
||||
await self.disconnect()
|
||||
await self.connect()
|
||||
try:
|
||||
_LOGGER.info(f"Turning TV on")
|
||||
rc = await self.client.turn_on()
|
||||
_LOGGER.info(f"turn_on() returned: {rc}")
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error turning TV on: {e}")
|
||||
|
||||
async def turn_off(self):
|
||||
await self.connect()
|
||||
try:
|
||||
_LOGGER.info(f"Turning TV off")
|
||||
rc = await self.client.turn_off()
|
||||
_LOGGER.info(f"turn_off() returned: {rc}")
|
||||
await self.disconnect()
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error turning TV off: {e}")
|
||||
|
||||
async def volume_up(self):
|
||||
await self.connect()
|
||||
try:
|
||||
_LOGGER.info(f"Increasing volume")
|
||||
rc = await self.client.volume_up()
|
||||
_LOGGER.info(f"volume_up() returned: {rc}")
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error increasing volume: {e}")
|
||||
|
||||
async def volume_down(self):
|
||||
await self.connect()
|
||||
try:
|
||||
_LOGGER.info(f"Decreasing volume")
|
||||
rc = await self.client.volume_down()
|
||||
_LOGGER.info(f"volume_down() returned: {rc}")
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error decreasing volume: {e}")
|
||||
|
||||
async def mute(self, mute: bool = None):
|
||||
await self.connect()
|
||||
try:
|
||||
_LOGGER.info(f"Toggling mute")
|
||||
rc = await self.client.volume_mute(mute)
|
||||
_LOGGER.info(f"mute() returned: {rc}")
|
||||
except BraviaError as e:
|
||||
_LOGGER.error(f"Error toggling mute: {e}")
|
||||
|
||||
async def dump_commands(self):
|
||||
await self.connect()
|
||||
cmd_list = await self.client.get_command_list()
|
||||
commands = ", ".join(cmd_list.keys())
|
||||
_LOGGER.info(f"Available commands: \n{commands}")
|
||||
|
||||
async def dump_info(self):
|
||||
await self.connect()
|
||||
info = await self.client.get_system_info()
|
||||
_LOGGER.info(f"System info: \n{info}")
|
||||
Reference in new issue
Block a user