-
-
Save danielfaust/998441 to your computer and use it in GitHub Desktop.
import time | |
import socket | |
import base64 | |
src = '192.168.1.2' # ip of remote | |
mac = '00-AB-11-11-11-11' # mac of remote | |
remote = 'python remote' # remote name | |
dst = '192.168.1.3' # ip of tv | |
app = 'python' # iphone..iapp.samsung | |
tv = 'LE32C650' # iphone.LE32C650.iapp.samsung | |
def push(key): | |
new = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
new.connect((dst, 55000)) | |
msg = chr(0x64) + chr(0x00) +\ | |
chr(len(base64.b64encode(src))) + chr(0x00) + base64.b64encode(src) +\ | |
chr(len(base64.b64encode(mac))) + chr(0x00) + base64.b64encode(mac) +\ | |
chr(len(base64.b64encode(remote))) + chr(0x00) + base64.b64encode(remote) | |
pkt = chr(0x00) +\ | |
chr(len(app)) + chr(0x00) + app +\ | |
chr(len(msg)) + chr(0x00) + msg | |
new.send(pkt) | |
msg = chr(0x00) + chr(0x00) + chr(0x00) +\ | |
chr(len(base64.b64encode(key))) + chr(0x00) + base64.b64encode(key) | |
pkt = chr(0x00) +\ | |
chr(len(tv)) + chr(0x00) + tv +\ | |
chr(len(msg)) + chr(0x00) + msg | |
new.send(pkt) | |
new.close() | |
time.sleep(0.1) | |
while True: | |
# switch to tv | |
push("KEY_TV") | |
# switch to channel one | |
push("KEY_1") | |
push("KEY_ENTER") | |
time.sleep(5) | |
# switch to channel 15 | |
push("KEY_1") | |
push("KEY_5") | |
push("KEY_ENTER") | |
time.sleep(5) | |
# switch to HDMI | |
push("KEY_HDMI") | |
time.sleep(5) |
Hi, great work.
how can i get a list of the supported tests in my tv
what i mean is when using the smart remote feature adding my a/v receiver via optical i have a test button that switches the receiver on and off so techincally i know its possible but i cant control it after for on/off only for volume
thinking of making some kind of script to do it as long as i dont need to get up from the couch :)
thanks
I'm getting
Traceback (most recent call last):
File "c:\Users\Will.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\ptvsd_launcher.py", line 48, in
main(ptvsdArgs)
File "c:\Users\Will.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\lib\python\old_ptvsd\ptvsd_main_.py", line 432, in main
run()
File "c:\Users\Will.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\lib\python\old_ptvsd\ptvsd_main_.py", line 316, in run_file
runpy.run_path(target, run_name='main')
File "C:\Users\Will\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\Users\Will\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Users\Will\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "c:\Users\Will\Google Drive\Python Scripts\Samsung\SmartThings\pysmartthingspy.py", line 57, in
push("KEY_TV")
File "c:\Users\Will\Google Drive\Python Scripts\Samsung\SmartThings\pysmartthingspy.py", line 41, in push
chr(len(base64.b64encode(remote))) + chr(0x00) + base64.b64encode(remote)
File "C:\Users\Will\AppData\Local\Programs\Python\Python36-32\lib\base64.py", line 58, in b64encode
encoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'str'
I've got this as my config
src = 'IP of PC' # ip of remote
mac = 'Mac of PC' # mac of remote
remote = 'Hostname of PC' # remote name
dst = 'IP of TV' # ip of tv
app = 'python' # iphone..iapp.samsung
tv = '[TV] Samsung' # Name of my TV
and set the port to 8001 as i've got a 2015 tv
I don't actually have a SmartThings HUB, I've been trying to control my TV via my pc or Hassio
Do you know the way we can send the mouse pointer movement command to Samsung 2013 TV ?
I used port 8001 instead.