Samsung Smart TV Plus

Questions and comments specific to a particular plugin should go here.
User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 11, 2018 11:33 am

ok I found the issue. I have fixed it. I also fixed another bug when destroying the config dialog. and I added a banner message to the plugin config panel letting you know it is scanning for devices. I also included the ipaddress module since I had forgotten it.
Attachments
SamsungSmartTVPlus-0.3.6b.egplugin
(3.39 MiB) Downloaded 13 times
If you like the work I have been doing then feel free to Image

holdestmade
Experienced User
Posts: 180
Joined: Thu Dec 04, 2014 2:44 pm

Re: Samsung Smart TV Plus

Post by holdestmade » Tue Dec 11, 2018 11:56 am

Thanks for that.

Got an error when adding the plugin:

Code: Select all

11:54:26   Exception in thread Thread-50:
11:54:26   Exception in thread Thread-52:
11:54:26   Traceback (most recent call last):
11:54:26     File "threading.pyc", line 801, in __bootstrap_inner
11:54:26   Traceback (most recent call last):
11:54:26     File "threading.pyc", line 754, in run
11:54:26     File "threading.pyc", line 801, in __bootstrap_inner
11:54:26   Exception in thread Thread-54:
11:54:26     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
11:54:26     File "threading.pyc", line 754, in run
11:54:26   Traceback (most recent call last):
11:54:26       sock = send_to(local_address)
11:54:26     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
11:54:26     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
11:54:26     File "threading.pyc", line 801, in __bootstrap_inner
11:54:26       sock = send_to(local_address)
11:54:26       sock.bind((destination, 0))
11:54:26     File "threading.pyc", line 754, in run
11:54:26     File "socket.pyc", line 228, in meth
11:54:26     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
11:54:26     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
11:54:26       sock.bind((destination, 0))
11:54:26   error: [Errno 10049] The requested address is not valid in its context
11:54:26       sock = send_to(local_address)
11:54:26     File "socket.pyc", line 228, in meth
11:54:26   
11:54:26     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
11:54:26   error: [Errno 10049] The requested address is not valid in its context
11:54:26       sock.bind((destination, 0))
11:54:26   
11:54:26     File "socket.pyc", line 228, in meth
11:54:26   error: [Errno 10049] The requested address is not valid in its context
Then a few seconds later I got a notification on the TV asking for permission so definitley getting somewhere !
Get this error though:

Code: Select all

11:54:32   Traceback (most recent call last) (WIP-2018.10.20-13.25.56):
11:54:32     File "wx\_core.pyc", line 16766, in <lambda>
11:54:32     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\__init__.py", line 391, in do
11:54:32       device_id = t.device_id
11:54:32     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 90, in __getattr__
11:54:32       return self.__class__.__dict__[item].fget(self)
11:54:32     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\__init__.py", line 862, in device_id
11:54:32       return self.MainTVAgent2.deviceID
11:54:32     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 92, in __getattr__
11:54:32       raise AttributeError(item)
11:54:32   AttributeError: MainTVAgent2
Still nothing in the discover dialog though

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 11, 2018 12:00 pm

Oh no this is awesome. if you are telling me you got the popup for adding the remote to the TV then we are almost there. the other error is a simple thing to fix. I have to locate where the device ID is stored on the newer TV's. which will not be that hard to locate. and we are having issue with the IPV6 in this plugin as well. so I will remove IPV6 from the mix.

I should be able to have this up and running in a few minutes
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 11, 2018 12:17 pm

ok so i added some checking for UPNP classed. I grabbed the deviceID from a UPNP class that is on new and old models. I also removed the IPV6
Attachments
SamsungSmartTVPlus-0.3.7b.egplugin
(3.39 MiB) Downloaded 11 times
If you like the work I have been doing then feel free to Image

holdestmade
Experienced User
Posts: 180
Joined: Thu Dec 04, 2014 2:44 pm

Re: Samsung Smart TV Plus

Post by holdestmade » Tue Dec 11, 2018 12:31 pm

Still a couple of errors I'm afraid:

Code: Select all

12:30:55   Exception in thread Thread-10:
12:30:55   Exception in thread Thread-11:
12:30:55   Exception in thread Thread-12:
12:30:55   Traceback (most recent call last):
12:30:55   Traceback (most recent call last):
12:30:55   Traceback (most recent call last):
12:30:55     File "threading.pyc", line 801, in __bootstrap_inner
12:30:55     File "threading.pyc", line 801, in __bootstrap_inner
12:30:55     File "threading.pyc", line 801, in __bootstrap_inner
12:30:55     File "threading.pyc", line 754, in run
12:30:55     File "threading.pyc", line 754, in run
12:30:55     File "threading.pyc", line 754, in run
12:30:55     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
12:30:55     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
12:30:55     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
12:30:55       sock = send_to(local_address)
12:30:55       sock = send_to(local_address)
12:30:55       sock = send_to(local_address)
12:30:55     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
12:30:55     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
12:30:55     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
12:30:55       sock.bind((destination, 0))
12:30:55       sock.bind((destination, 0))
12:30:55       sock.bind((destination, 0))
12:30:55     File "socket.pyc", line 228, in meth
12:30:55     File "socket.pyc", line 228, in meth
12:30:55     File "socket.pyc", line 228, in meth
12:30:55   error: [Errno 10049] The requested address is not valid in its context
12:30:55   error: [Errno 10049] The requested address is not valid in its context
12:30:55   error: [Errno 10049] The requested address is not valid in its context
12:30:55   
12:30:55   
12:30:55   
12:31:02   Traceback (most recent call last) (WIP-2018.10.20-13.25.56):
12:31:02     File "wx\_core.pyc", line 16766, in <lambda>
12:31:02     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\__init__.py", line 391, in do
12:31:02       device_id = t.device_id
12:31:02     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 90, in __getattr__
12:31:02       return self.__class__.__dict__[item].fget(self)
12:31:02     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\__init__.py", line 908, in device_id
12:31:02       return self.AVTransport.deviceID
12:31:02     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 92, in __getattr__
12:31:02       raise AttributeError(item)
12:31:02   AttributeError: AVTransport

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 11, 2018 12:33 pm

goddam device ID is illusive
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 11, 2018 2:12 pm

ok try it again
Attachments
SamsungSmartTVPlus-0.3.8b.egplugin
(3.39 MiB) Downloaded 12 times
If you like the work I have been doing then feel free to Image

holdestmade
Experienced User
Posts: 180
Joined: Thu Dec 04, 2014 2:44 pm

Re: Samsung Smart TV Plus

Post by holdestmade » Tue Dec 11, 2018 5:32 pm

Code: Select all

17:30:53   Exception in thread Thread-17:
17:30:53   Traceback (most recent call last):
17:30:53     File "threading.pyc", line 801, in __bootstrap_inner
17:30:53     File "threading.pyc", line 754, in run
17:30:53     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 130, in do
17:30:53       sock = send_to(local_address)
17:30:53     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 119, in send_to
17:30:53       sock.bind((destination, 0))
17:30:53     File "socket.pyc", line 228, in meth
17:30:53   error: [Errno 10049] The requested address is not valid in its context
17:30:53   
17:30:59   Traceback (most recent call last) (WIP-2018.10.20-13.25.56):
17:30:59     File "wx\_core.pyc", line 16766, in <lambda>
17:30:59     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\__init__.py", line 391, in do
17:30:59       device_id = t.device_id
17:30:59     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 90, in __getattr__
17:30:59       return self.__class__.__dict__[item].fget(self)
17:30:59     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\__init__.py", line 911, in device_id
17:30:59       return self.RemoteControlReceiver.deviceID
17:30:59     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 92, in __getattr__
17:30:59       raise AttributeError(item)
17:30:59   AttributeError: RemoteControlReceiver
17:31:29   Traceback (most recent call last) (WIP-2018.10.20-13.25.56):
17:31:29     File "wx\_core.pyc", line 16766, in <lambda>
17:31:29     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\__init__.py", line 391, in do
17:31:29       device_id = t.device_id
17:31:29     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 90, in __getattr__
17:31:29       return self.__class__.__dict__[item].fget(self)
17:31:29     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\__init__.py", line 911, in device_id
17:31:29       return self.RemoteControlReceiver.deviceID
17:31:29     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\upnp_class.py", line 92, in __getattr__
17:31:29       raise AttributeError(item)
17:31:29   AttributeError: RemoteControlReceiver

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 11, 2018 6:54 pm

i am tired of playing the cat and mouse game with this device id.

this version is going to make a log file on your desktop. i am going to need a copy of that log PM'd to me please
Attachments
SamsungSmartTVPlus-0.3.8-TEST.egplugin
(3.39 MiB) Downloaded 13 times
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Sat Dec 15, 2018 3:41 pm

ho hum. yet another test version.

This has a completely revamped mechanism for handling the config data. I also increased the timeout period on the discovery. and I added support for the 2014 and 2015 model year TV's so the H and J series. This is not yet tested. but I am hoping it works out. I have an H series but the one that I have did not come with a Wifi installed into it. It also does not have the Smart Hub feature. so I do not know if any kind of control would even work. It does have 3D and the ability to play content via DLNA as well as from a USB. so it's like a handicapped smart TV. I would have to crimp a 50 ft patch cable and run the wire across my formal living room down the spiral staircase across my Media room to the server rack. If it does not work I will do this to be able to fix any issues with it.

But at any rate. give this bad larry a go and see what happens.
Attachments
SamsungSmartTVPlus--0.3.9b.egplugin
(3.32 MiB) Downloaded 15 times
If you like the work I have been doing then feel free to Image

george tirebuyer
Experienced User
Posts: 53
Joined: Sun Apr 28, 2013 12:25 pm

Re: Samsung Smart TV Plus

Post by george tirebuyer » Sun Dec 16, 2018 3:53 pm

I get this error when installing the plugin and nothing shows in the config dialog. No plugin listed in the Configuration either.

7:49:55 AM Exception in thread Thread-43:
7:49:55 AM Traceback (most recent call last):
7:49:55 AM File "threading.pyc", line 801, in __bootstrap_inner
7:49:55 AM File "threading.pyc", line 754, in run
7:49:55 AM File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 152, in do
7:49:55 AM sock = _send_to(local_address, timeout)
7:49:55 AM File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 83, in _send_to
7:49:55 AM sock.bind((destination, 0))
7:49:55 AM File "socket.pyc", line 228, in meth
7:49:55 AM error: [Errno 10049] The requested address is not valid in its context
7:49:55 AM

holdestmade
Experienced User
Posts: 180
Joined: Thu Dec 04, 2014 2:44 pm

Re: Samsung Smart TV Plus

Post by holdestmade » Sun Dec 16, 2018 9:02 pm

Hi,

This is the error I get when adding the plugin, no devices in the discory dialog box

Code: Select all

21:01:18   Exception in thread Thread-9:
21:01:18   Traceback (most recent call last):
21:01:18     File "threading.pyc", line 801, in __bootstrap_inner
21:01:18     File "threading.pyc", line 754, in run
21:01:18     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 152, in do
21:01:18       sock = _send_to(local_address, timeout)
21:01:18     File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 83, in _send_to
21:01:18       sock.bind((destination, 0))
21:01:18     File "socket.pyc", line 228, in meth
21:01:18   error: [Errno 10049] The requested address is not valid in its context

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Tue Dec 18, 2018 9:59 pm

this is a very strange error.

Code: Select all

 error: [Errno 10049] The requested address is not valid in its context
I am not sure as to why it is spitting that out.


This should tell me what is going on with the IP addresses.

you are going to need to replace a file with the one that is attached.
the file you will need to replace is in %appdata%\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device
set the one that is attached into that directory and overwrite the existing.


start EventGhost. if you have the plugin installed. Disable it.
If you have the UPNP_Device plugin installed. disable it.
close EG and save it.
then open EG again.

paste this into a python script and run it.

Code: Select all

import logging

from eg.UserPluginModule.SamsungSmartTVPlus.samsungctl.upnp.UPNP_Device.discover import discover


for device in discover(5, logging.DEBUG):
    print device
copy and past the output to me. if you are worried about IP addresses being shown in the forum. send it to me in a PM.
Attachments
discover.py
(5.74 KiB) Downloaded 12 times
If you like the work I have been doing then feel free to Image

george tirebuyer
Experienced User
Posts: 53
Joined: Sun Apr 28, 2013 12:25 pm

Re: Samsung Smart TV Plus

Post by george tirebuyer » Tue Dec 18, 2018 11:09 pm

3:04:20 PM Python Script
3:04:20 PM SSDP 3612: Starting discover thread for adapter ip 192.168.1.101
3:04:20 PM SSDP 3612: Starting discover thread for adapter ip 169.254.254.92
3:04:20 PM SSDP 7512: IPV4 detected for IP 192.168.1.101
3:04:20 PM SSDP 3612: Starting discover thread for adapter ip 127.0.0.1
3:04:20 PM SSDP 7512: 239.255.255.250
3:04:20 PM M-SEARCH * HTTP/1.1

3:04:20 PM ST: upnp:rootdevice

3:04:20 PM MAN: "ssdp:discover"

3:04:20 PM HOST: 239.255.255.250:1900

3:04:20 PM MX: 1

3:04:20 PM Content-Length: 0

3:04:20 PM

3:04:20 PM
3:04:20 PM SSDP 4504: IPV4 detected for IP 169.254.254.92
3:04:20 PM SSDP 9580: IPV4 detected for IP 127.0.0.1
3:04:20 PM SSDP 9580: 239.255.255.250
3:04:20 PM M-SEARCH * HTTP/1.1

3:04:20 PM Exception in thread Thread-8:
3:04:20 PM ST: upnp:rootdevice

3:04:20 PM Traceback (most recent call last):
3:04:20 PM MAN: "ssdp:discover"

3:04:20 PM HOST: 239.255.255.250:1900

3:04:20 PM File "threading.pyc", line 801, in __bootstrap_inner
3:04:20 PM MX: 1

3:04:20 PM File "threading.pyc", line 754, in run
3:04:20 PM Content-Length: 0

3:04:20 PM File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 159, in do
3:04:20 PM

3:04:20 PM sock = _send_to(local_address, timeout)
3:04:20 PM
3:04:20 PM File "C:\ProgramData\EventGhost\plugins\SamsungSmartTVPlus\samsungctl\upnp\UPNP_Device\discover.py", line 87, in _send_to
3:04:20 PM sock.bind((destination, 0))
3:04:20 PM SSDP 7512: connected ip 192.168.1.1
3:04:20 PM File "socket.pyc", line 228, in meth
3:04:20 PM 192.168.1.1
3:04:20 PM error: [Errno 10049] The requested address is not valid in its context
3:04:20 PM
3:04:20 PM SSDP 7512: connected ip 192.168.1.104
3:04:20 PM 192.168.1.104
3:04:20 PM SSDP 7512: connected ip 192.168.1.107
3:04:20 PM 192.168.1.107
3:04:20 PM SSDP 7512: connected ip 192.168.49.1
3:04:20 PM 192.168.49.1
3:04:20 PM SSDP 7512: connected ip 192.168.1.102
3:04:20 PM 192.168.1.102
3:04:20 PM SSDP 7512: connected ip 192.168.1.105
3:04:20 PM 192.168.1.105
3:04:20 PM SSDP 9580: connected ip 127.0.0.1
3:04:20 PM 127.0.0.1
3:04:21 PM SSDP 7512: connected ip 192.168.1.103
3:04:21 PM 192.168.1.103
3:04:25 PM SSDP 7512: Exiting thread for IP 192.168.1.101
3:04:27 PM SSDP 9580: Socket timed out for ip 127.0.0.1
3:04:27 PM SSDP 9580: Exiting thread for IP 127.0.0.1

This also leaves the Triangle yellow

User avatar
kgschlosser
Site Admin
Posts: 4803
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Samsung Smart TV Plus

Post by kgschlosser » Wed Dec 19, 2018 12:49 am

do me a favor.

run an elevated command prompt and key this in

Code: Select all

ipconfig /all > "%userprofile%/desktop/ipconfig.log"
it will make a file on your desktop named ipconfig.log

send that to me in a PM please
If you like the work I have been doing then feel free to Image

Post Reply