Skip to content

Instantly share code, notes, and snippets.

@marcelrv
Created December 21, 2016 16:49
Show Gist options
  • Save marcelrv/ee9a7cf97c227d069e4ee88d26691019 to your computer and use it in GitHub Desktop.
Save marcelrv/ee9a7cf97c227d069e4ee88d26691019 to your computer and use it in GitHub Desktop.
Working commands 55PUS7181
http://192.168.3.51:1925/system
{"menulanguage":"Dutch","name":"55PUS7181\/12","country":"Netherlands","serialnumber_encrypted":"F6905Z+vyquNhZoXegQ1DzZXCqMIcjJpkzy3LsiPac=\n","softwareversion_encrypted":"1YWR42sjQ6xdjuyIXWZbyPnoRswLoRswLmKtAhR9GRsBx1qY=\n","model_encrypted":"jGNvXDerdJoWjOpwh\/n0gw2MgM7oRswLoRswLKC73wfMgra3S62c4=\n","deviceid_encrypted":"7mv3ZEtMH8oRswL0RoRswLISTn38FN8HAqfmSF95qoaiRsuukSraQ=\n","nettvversion":"6.0.2","epgsource":"one","api_version":{"Major":6,"Minor":2,"Patch":0},"featuring":{"jsonfeatures":{"editfavorites":["TVChannels","SatChannels"],"recordings":["List","Schedule","Manage"],"ambilight":["LoungeLight","Hue","Ambilight"],"menuitems":["Setup_Menu"],"textentry":["context_based","initial_string_available","editor_info_available"],"applications":["TV_Apps","TV_Games","TV_Settings"],"pointer":["not_available"],"inputkey":["key"],"activities":["intent"],"channels":["preset_string"],"mappings":["server_mapping"]},"systemfeatures":{"tvtype":"consumer","content":["dmr","dms_tad"],"tvsearch":"intent","pairing_type":"digest_auth_pairing","secured_transport":"true"}}}
Seems to support all ambilight commands from http://jointspace.sourceforge.net/projectdata/documentation/jasonApi/1/doc/API.html
Extra/undocumented:
http://192.168.3.51:1925/ambilight/currentconfiguration
{"styleName":"FOLLOW_VIDEO","isExpert":false,"menuSetting":"STANDARD"}
http://192.168.3.51:1925/ambilight/lounge
{"color":{"hue":0,"saturation":0,"brightness":0},"colordelta":{"hue":0,"saturation":0,"brightness":0},"speed":0,"mode":"Default"}
http://192.168.3.51:1925/ambilight/power
{"power":"On"}
http://192.168.3.51:1925/ambilight/supportedstyles
{"supportedStyles":[{"styleName":"OFF"},{"styleName":"FOLLOW_VIDEO"},{"styleName":"FOLLOW_AUDIO","algorithms":["ENERGY_ADAPTIVE_BRIGHTNESS","ENERGY_ADAPTIVE_COLORS","VU_METER","SPECTRUM_ANALYZER","KNIGHT_RIDER_CLOCKWISE","KNIGHT_RIDER_ALTERNATING","RANDOM_PIXEL_FLASH","STROBO","PARTY"],"maxTuning":2},{"styleName":"FOLLOW_COLOR","algorithms":["MANUAL_HUE","AUTOMATIC_HUE"],"maxSpeed":255},{"styleName":"LOUNGE"},{"styleName":"MANUAL"},{"styleName":"EXPERT"},{"styleName":"GRID"}]}
regular:
http://192.168.3.51:1925/ambilight/mode
{"current":"internal"}
http://192.168.3.51:1925/ambilight/cached
{"layer1":{"left":{"0":{"r":0,"g":0,"b":0},"1":{"r":0,"g":0,"b":0},"2":{"r":0,"g":0,"b":0},"3":{"r":0,"g":0,"b":0}},"top":{"0":{"r":0,"g":0,"b":0},"1":{"r":0,"g":0,"b":0},"2":{"r":0,"g":0,"b":0},"3":{"r":0,"g":0,"b":0},"4":{"r":0,"g":0,"b":0},"5":{"r":0,"g":0,"b":0},"6":{"r":0,"g":0,"b":0},"7":{"r":0,"g":0,"b":0}},"right":{"0":{"r":0,"g":0,"b":0},"1":{"r":0,"g":0,"b":0},"2":{"r":0,"g":0,"b":0},"3":{"r":0,"g":0,"b":0}}}}
http://192.168.3.51:1925/ambilight/topology
{"layers":"1","left":4,"top":8,"bottom":0,"right":4}
http://192.168.3.51:1925/ambilight/measured
{"layer1":{"left":{"0":{"r":43,"g":18,"b":24},"1":{"r":122,"g":79,"b":84},"2":{"r":114,"g":154,"b":130},"3":{"r":164,"g":189,"b":191}},"top":{"0":{"r":173,"g":189,"b":191},"1":{"r":178,"g":186,"b":186},"2":{"r":186,"g":180,"b":172},"3":{"r":192,"g":186,"b":172},"4":{"r":196,"g":192,"b":181},"5":{"r":193,"g":187,"b":173},"6":{"r":192,"g":186,"b":172},"7":{"r":196,"g":188,"b":179}},"right":{"0":{"r":196,"g":191,"b":185},"1":{"r":113,"g":108,"b":115},"2":{"r":69,"g":75,"b":88},"3":{"r":56,"g":51,"b":23}}}}
http://192.168.3.51:1925/ambilight/processed
{"layer1":{"left":{"0":{"r":145,"g":7,"b":32},"1":{"r":254,"g":75,"b":92},"2":{"r":102,"g":255,"b":158},"3":{"r":162,"g":245,"b":254}},"top":{"0":{"r":188,"g":247,"b":254},"1":{"r":222,"g":255,"b":254},"2":{"r":254,"g":231,"b":202},"3":{"r":254,"g":233,"b":186},"4":{"r":254,"g":240,"b":203},"5":{"r":254,"g":235,"b":184},"6":{"r":254,"g":234,"b":186},"7":{"r":254,"g":226,"b":197}},"right":{"0":{"r":254,"g":234,"b":213},"1":{"r":243,"g":213,"b":254},"2":{"r":133,"g":164,"b":254},"3":{"r":201,"g":164,"b":29}}}}
@skribb
Copy link

skribb commented Jan 5, 2020

after a few hours the TV's server refuses commands "No connection could be made because the target machine actively refused it"

if i kill the power to the TV (pull the cable) and restart the TV, it accepts commands again, for a while. does anyone know what this could be? I have a PUS6754 and i'm using Python to send commands
import httplib
key='{"key": "Standby"}'
h = httplib.HTTPConnection('192.168.0.xxx:1925')
h.request('POST','/6/input/key', key)

r = h.getresponse()

print r.read()

@SchmuFoo
Copy link

after a few hours the TV's server refuses commands "No connection could be made because the target machine actively refused it"

if i kill the power to the TV (pull the cable) and restart the TV, it accepts commands again, for a while. does anyone know what this could be? I have a PUS6754 and i'm using Python to send commands
import httplib
key='{"key": "Standby"}'
h = httplib.HTTPConnection('192.168.0.xxx:1925')
h.request('POST','/6/input/key', key)

r = h.getresponse()

print r.read()

I have an similiar problem from time to time with my 58PUS7304/12 - Unfurtunately the PowerCord Off/On didnt solve it then. The only thing I can do is wait.

Verbose: Sometimes both API Ports are not open any more, then also the official Philips Remote App is not working any more. Didnt found a solution for that, only can wait then always until they are up again.

Working

On my 7304 from 2019 there IS an response (most of the time) on:
http://IP:1925/system
https://IP:1926/system
http://IP:1925/6/system
https://IP:1926/6/system

root@loxberry:/opt/loxberry# nmap -sT -P0 philipstv -p 1925,1926
Starting Nmap 7.40 ( https://nmap.org ) at 2019-12-25 00:51 CET
Nmap scan report for philipstv (192.168.178.75)
Host is up (0.0026s latency).
rDNS record for 192.168.178.75: PhilipsTV.fritz.box
PORT     STATE SERVICE
1925/tcp open  discovery-port
1926/tcp open  egs

Non working

`loxberry@loxberry:~ $ nmap -sT -P0 philipstv
Starting Nmap 7.40 ( https://nmap.org ) at 2020-01-12 20:26 CET
Nmap scan report for philipstv (192.168.178.75)
Host is up (0.0019s latency).
rDNS record for 192.168.178.75: PhilipsTV.fritz.box
Not shown: 995 closed ports
PORT      STATE SERVICE
8008/tcp  open  http
8009/tcp  open  ajp13
8443/tcp  open  https-alt
9000/tcp  open  cslistener
49153/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.34 seconds
loxberry@loxberry:~ $ nmap -sT -P0 philipstv -p 1925,1926
loxberry@loxberry:~ $ nmap -sT -P0 philipstv -p 1925,1926

Starting Nmap 7.40 ( https://nmap.org ) at 2020-01-12 20:09 CET
Nmap scan report for philipstv (192.168.178.75)
Host is up (0.00053s latency).
rDNS record for 192.168.178.75: PhilipsTV.fritz.box
PORT     STATE  SERVICE
1925/tcp closed discovery-port
1926/tcp closed egs

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds

@stereodruid
Copy link

Is there a way to change the input source? My PhilipsTV is on Version 6.1, so this "/sources/current {"id":"hdm2"}" is not working for me. Any idea? Btw, on Port: https://IP:1926/6/, i can use some commands.

@stevefury
Copy link

i did write u tutorial to install and control it with domoticz
https://www.domoticz.com/forum/viewtopic.php?f=47&t=35475

@rhpijnacker
Copy link

Does anyone happen to know whether it is possible to control the volume of the headphone audio channel using the JointSpace API?
So far I haven't found anything.

(Context: we are using a sound system connected via the headphone jack. Controlling the volume works fine with an older firmware version, it picks up that it should control the headphones audio automatically. However after updating the firmware to the latest version, this stops working, even if we tell the TV not to send out audio over the internal boxes.)

@GustavoContreiras
Copy link

GustavoContreiras commented Mar 26, 2023

I'm trying to run this project https://github.com/suborb/philips_android_tv to do the pairing on my Philips Ambilight TV but I'm receiving:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='192.168.X.X', port=1926): Max retries exceeded with url: /6/pair/request (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001E17FF3D8D0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))

Does anyone have any idea? It should trigger the activation code in the TV

@S474N
Copy link

S474N commented Apr 8, 2023

I have Philips TV (without android), but 6 commands works. But I have problem with turning off ambilight.

Payload {"styleName":"FOLLOW_VIDEO","isExpert":false,"menuSetting":"STANDARD"} to http://TV-IP:1925/6/ambilight/currentconfiguration works perfectly, but I don't know command to turn ambilight off.

Does anyone have any idea?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment