Управление WebOS SmartTV с помощью Python - PullRequest
0 голосов
/ 31 августа 2018

Я пишу универсальный контроллер, который управляет всеми интеллектуальными устройствами в доме, мой скрипт работает правильно, но ничего не показывает`

##this is a universal controller
#1_controlling LG Webos smart tv
import os
from pylgtv import WebOsClient
import sys
import logging
class Device:
    counter=0
    def __init__(self,ip,name):
        self.ip=(ip)
        self.name=(name)
        Device.counter += 1
smarttv=Device('192.168.0.105','Smart')

class tv(Device):
    #launching an application
    def launch_app(self):
        logging.basicConfig(stream=sys.stdout, level=logging.INFO)

        try:
            webos_client = WebOsClient(self)
            webos_client.launch_app('com.webos.app.music')

            for app in webos_client.get_apps():
                print(app)
        except:
            print("Error connecting to TV")

1 Ответ

0 голосов
/ 31 августа 2018

tv следует использовать с заглавной буквы, поскольку это имя класса

И это тип Device, так что вы можете использовать его вместо этого, и вам нужно будет вызвать launch_app(), который доступен только для экземпляра этого класса, а не Device, так что вы следует назначить это переменной.

Возможно, вы захотите еще раз проверить, какие фактические объекты WebOsClient также принимает в качестве параметров. В документации сказано, что это IP-строка, а не tv объект

class SmartTV(Device):
    #launching an application
    def launch_app(self, app):
        try:
            webos_client = WebOsClient(self.ip)
            webos_client.launch_app(app)

            for app in webos_client.get_apps():
                print(app)

smarttv = SmartTV('192.168.0.105','Smart')
smarttv.launch_app('com.webos.app.music')  # You're missing this
...