On the old forum: https://forum.athom.com/discussion/comment/72668
some people (incl me) had problems to control Philips tv’s newer then 2016
some said that is was impossible coz philips wouldn’t support jointspace anymore. But that is not correct. Since then jointspace is activated by default. The error message “forbidden” shows when you are doing it wrong
But i managed to control it finaly. I have the Philips 43PUS6262/12 and some features i allready have working.
i can at least put the tv in standby mode with this:
now you know how you can control your newer philips tv and i bet the rest of the commands can be figured out by anyone. i hope you will share them because this is till now the only one which i got working.
I have a Philips 49pus7101/12 from March 2016 and can tell you that Jointspace will not work on this model on port 1925 , i also think some later models?!
But in the past i have searched for other methods to control the TV and found some interesting stuff.
Before i had Homey i did some testing with Openhab on an RaspPi.
Below is a copy of some thing i have founded and tested.
First you need to us the command pair to pair the TV with the server, when you do this the TV generates a code that you need to enter in the python code…
When that is done, a new user and pass is shown and with this user and pass you can conrol you TV.
-Uses HTTPS over port 1926
-Uses /6/ instead of /1/ as the API path
-All calls have to have digest auth to be successful
-An initial pairing to determine the user/pass is required
-Channel and Source methods aren’t available
-Channel status and changes are performed using a different protocol that isn’t described here.
The tool here will do the initial pairing. The credentials can then be used in a standard way (digest) in other tools
I think you’ll be happy to hear that I’m currently working on a Homey app for Philips tv’s that supports 2016 models and up.
The most difficult part is behind me (digest auth on node combined with Philips tv is a nightmare). I’ve managed to get the pairing process working and I’m now able to call authed endpoints (which is basically all on the newer models).
I’ll be putting an initial version on github soon, will post a link here when it’s up.
I myself don’t have any channels installed on my Philips tv, so if there’s anyone who does and wants to help me test that part, that would be great.
But maybe there’s another way, you’re able to send an intent with an action to your tv, maybe it’s possible to open the native android app and pass along hmd2 as an action? I’m still looking into what all the calls are that I can implement. The process is a bit tedious because there’s no documentation whatsoever on v6. Everything I’ve done so far has been reverse engineering and copying stuff from other implementations such as https://github.com/arzzen/philips-tv/.
A short overview of the functionality that I’ve managed to succesfully test so far:
Getters:
system info
applications (installed android tv apps)
channels
ambilight (current configuration; follow video/audio/etc and the type relax/intense/etc)
current activity (the currently opened app)
audio (level, muted)
powerstate (on/standby)
Setters:
post key (a key from remote .e.g. CursorUp, Confirm or Standby)
launch activity (send an intent to open an application)
This article references the old (v1) implementation. An easy way to see what api version a specific call is, is by looking at the integer at the start of the path, e.g.:
v1 will have a uri like this:
http://192.168.1.10:1925/1/system
v6 will have a uri like this:
https://192.168.1.10:1926/6/system
I was thinking though… with the app that I’m making now you could in theory change the source by sending the following commands:
POST /6/input/key { "key": "Source" }
POST /6/input/key { "key": "CursorDown" }
POST /6/input/key { "key": "CursorDown" }
POST /6/input/key { "key": "CursorDown" }
POST /6/input/key { "key": "CursorDown" }
POST /6/input/key { "key": "Submit" }
Not the nicest way… but still better than doing it manually.
@lucasvdh, please do with a little explenation.
I have nodejs running on my laptop also for athom-cli
tomorrow evening i have soms time to try out out.
Thanka