Hellowlol / bw_plex

binge watching for plex
MIT License
366 stars 23 forks source link

Doesnt work with LG TV App? #94

Closed dcplaya closed 5 years ago

dcplaya commented 5 years ago

Set this up in Docker using the latest. I have an LG TV and I get this when it tries to skip.

2019-07-13 17:04:18,517 :: bw_plex :: DEBUG :: plex.py:1180 :: Called jump with South.Park.s16e05 20 30.55746031746032 None
2019-07-13 17:04:18,518 :: bw_plex :: INFO :: plex.py:934 :: Called client_action with 30.55746031746032 00:30 20 None
2019-07-13 17:04:18,537 :: bw_plex :: INFO :: plex.py:967 :: sessionkey 20 media_sessionkey 20
2019-07-13 17:04:18,537 :: bw_plex :: INFO :: plex.py:971 :: client LG OLED55B7A-U 1.0
2019-07-13 17:04:18,537 :: bw_plex :: INFO :: plex.py:1003 :: Checking if we cant find the correct client
2019-07-13 17:04:18,537 :: bw_plex :: DEBUG :: plex.py:1014 :: We couldnt match the client. Trying a hail marry.
2019-07-13 17:04:18,538 :: bw_plex :: INFO :: plex.py:1019 :: Connectiong to LG OLED55B7A-U
2019-07-13 17:04:18,538 :: bw_plex :: ERROR :: plex.py:85 :: There was an exception in client_action
Traceback (most recent call last):
  File "/app/bw_plex/bw_plex/plex.py", line 80, in inner
    return func(*args)
  File "/app/bw_plex/bw_plex/plex.py", line 1020, in client_action
    correct_client.connect()
  File "/usr/local/lib/python3.6/dist-packages/plexapi/client.py", line 91, in connect
    data = self.query(self.key, timeout=timeout)
  File "/usr/local/lib/python3.6/dist-packages/plexapi/client.py", line 155, in query
    url = self.url(path)
  File "/usr/local/lib/python3.6/dist-packages/plexapi/client.py", line 201, in url
    raise BadRequest('PlexClient object missing baseurl.')
plexapi.exceptions.BadRequest: PlexClient object missing baseurl.
2019-07-13 17:04:27,012 :: bw_plex :: DEBUG :: plex.py:1193 :: Found South.Park.s16e05 theme start 00:06, theme end 00:30, ffmpeg_end 00:33 progress 00:09 best_time 00:30 credits_start 00:00 credits_end 00:00
Hellowlol commented 5 years ago

Dunno, i dont have a lg to test with. Can you try to use plexapi to control the lg?

Hellowlol commented 5 years ago

I tried to add a fix for the traceback you got but i dunno if it works. A new dockerbuild should be ready in a half hour.

dcplaya commented 5 years ago

Ok, ill try it then.

Is there an easy way to check if the LG webOS app supports plexapi?

Edit: WIth the newer docker

2019-07-13 18:35:42,173 :: bw_plex :: DEBUG :: plex.py:1187 :: Called jump with South.Park.s16e09 27 30.511020408163265 None
2019-07-13 18:35:42,174 :: bw_plex :: INFO :: plex.py:935 :: Called client_action with 30.511020408163265 00:30 27 None
2019-07-13 18:35:42,196 :: bw_plex :: INFO :: plex.py:968 :: sessionkey 27 media_sessionkey 27
2019-07-13 18:35:42,196 :: bw_plex :: INFO :: plex.py:972 :: client LG OLED55B7A-U 0.0
2019-07-13 18:35:42,196 :: bw_plex :: INFO :: plex.py:1004 :: Checking if we cant find the correct client
2019-07-13 18:35:42,196 :: bw_plex :: DEBUG :: plex.py:1015 :: We couldnt match the client. Trying a hail marry.
2019-07-13 18:35:42,196 :: bw_plex :: DEBUG :: plex.py:1026 :: Client hasnt a _baseurl enabling proxyThroughServer
2019-07-13 18:35:42,196 :: bw_plex :: DEBUG :: plex.py:1047 :: calculated_offset 30 0.03
2019-07-13 18:35:42,209 :: bw_plex :: ERROR :: plex.py:85 :: There was an exception in client_action
Traceback (most recent call last):
  File "/app/bw_plex/bw_plex/plex.py", line 80, in inner
    return func(*args)
  File "/app/bw_plex/bw_plex/plex.py", line 1050, in client_action
    proxy_on_fail(correct_client.seekTo(calculated_offset * 1000))
  File "/usr/local/lib/python3.6/dist-packages/plexapi/client.py", line 325, in seekTo
    self.sendCommand('playback/seekTo', offset=offset, type=mtype)
  File "/usr/local/lib/python3.6/dist-packages/plexapi/client.py", line 193, in sendCommand
    return self._server.query(key, headers=headers)
  File "/usr/local/lib/python3.6/dist-packages/plexapi/server.py", line 348, in query
    raise BadRequest('(%s) %s; %s %s' % (response.status_code, codename, response.url, errtext))
plexapi.exceptions.BadRequest: (500) internal_server_error; https://TLDN.com/player/playback/seekTo?commandID=1&offset=30000&type=video <?xml version='1.0' encoding='utf-8'?> <Response code="2000" status="FrameworkException: Unable to find player with identifier s5vx4v5kj149ggb9gbe1jd6u">   <Traceback>Traceback (most recent call last):   File "/usr/lib/plexmediaserver/Resources/Plug-ins-4b7ace214/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/components/runtime.py", line 843, in handle_request     result = f(**d)   File "/usr/lib/plexmediaserver/Resources/Plug-ins-4b7ace214/System.bundle/Contents/Code/playerservice.py", line 50, in process_remote_command     raise FrameworkException('Unable to find player with identifier %s' % identifier) FrameworkException: Unable to find player with identifier s5vx4v5kj149ggb9gbe1jd6u </Traceback> </Response> 
2019-07-13 18:35:45,817 :: bw_plex :: DEBUG :: plex.py:1200 :: Found South.Park.s16e09 theme start 00:06, theme end 00:30, ffmpeg_end 00:33 progress 00:00 best_time 00:30 credits_start 00:00 credits_end 00:00
Hellowlol commented 5 years ago

I dont think it will work then. Can you control the client using the mobile app?

dcplaya commented 5 years ago

Dang!

Well if you want, you can add my docker-compose.yml file I used to create it. You didnt have one, as far as I could tell.

version: '3'

services:
  bw_plex:
    image: hellowlol/bw_plex:latest
    container_name: bw_plex
    restart: unless-stopped
    network_mode: bridge
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
# Replace with your Plex library path
      - /mnt/unionfs/Media:/mnt/unionfs/Media
    environment:
      - url=**YOURE_URL**
      - token:**PLEX_TOKEN**
      - TZ=America/Los_Angeles
    command: bash -c "bw_plex --url **YOURE_URL** -t **PLEX_TOKEN** -df /config watch"
Hellowlol commented 5 years ago

Did you get it to work on the lg? I dont, send a PR :)

dcplaya commented 5 years ago

PR Sent. I can't control the LG WebOS app from my phone. I don't think any TV app can be used unfortunately.