Netzwerk-Steuerung Philips TV´s
Einklappen
X
-
Kommentar
-
Porbiere das bitte mal aus...
"Aktiviert werden kann jointSPACE durch die einmalige Eingabe der Zahlenkombination 5646877223, was “jointspace” entspricht. Die Eingabe muss im TV-Modus erfolgen und sollte zügig geschehen. Bei erfolgreicher Aktivierung erscheint kurzzeitig (für 1-2 Sekunden) ein “jointSPCAE enabled”-Logo"
Einfach per Fernbedienung im TV-Modus eingebenKommentar
-
Porbiere das bitte mal aus...
"Aktiviert werden kann jointSPACE durch die einmalige Eingabe der Zahlenkombination 5646877223, was “jointspace” entspricht. Die Eingabe muss im TV-Modus erfolgen und sollte zügig geschehen. Bei erfolgreicher Aktivierung erscheint kurzzeitig (für 1-2 Sekunden) ein “jointSPCAE enabled”-Logo"
Einfach per Fernbedienung im TV-Modus eingebenKommentar
-
Genau die Pairing Geschichte braucht man bei Android TVs nicht mehr - Habe es mit der erfreulicherweise weiterhin vorhanden jointSPACE API hinbekommen. Auf einem 2019er Philips mit Android TV 9. Dank an folgende GET und POST Tabelle, die sich wunderbar in virtuelle Loxone Ausgänge übertragen lassen:
Control Philips TVs (2015+) and Ambilight (+ Hue) through their reverse-engineered API (+ MQTT support!) - eslavnov/pylips
Zuletzt geändert von SchmuFoo; 25.12.2019, 22:46.Kommentar
-
Für die Input Keys muss man jedoch vorher einen Android TV User für Digest Auth generieren - Hier scheint einem folgendes zu helfen einen User anzulegen den man dann in HTTP POSTs per Loxone, cURL etc nutzen kann:
-
Ich komme irgendwie mit dem Python Script nicht klar, um so einen Digest Auth User zu generieren. Könntest du eventuell ein wenig genauer beschreiben wie man dieses Script richtig ausführt bzw. anwendet? Bin mit Python leider nicht besonders vertraut.
Würde mich sehr freuen, vielen Dank schon mal!
//EDIT:
Nach dem Aufruf von "pip install -r requirements.txt" kommt immer die Meldung "ERROR: Failed building wheel for pycrypto"... ich vermute mal dass das der Grund sein wird, warum dann auch "python philips.py --host <YOUR_IP_ADDRESS> pair" nicht funktioniert. Hat vielleicht jemand eine Idee was das Problem sein könnte?
//EDIT2:
Gibt es denn keine Möglichkeit, einen Philips TV übers Netzwerk zu steuern, ohne zwingend diesen Digest Auth User zu benötigen? Mit der Philips TV Remote App kann man den TV ja auch steuern, ohne den TV erst aufwändig mit so einem Digest Auth User pairen zu müssenZuletzt geändert von dadodo; 23.05.2022, 20:48.
-
-
Code:loxberry@loxberry:~ $ curl -v -s -X POST -d {"power":"Off"} http://192.168.178.75:1925/6/ambilight/power * Trying 192.168.178.75... * TCP_NODELAY set * Connected to 192.168.178.75 (192.168.178.75) port 1925 (#0) > POST /6/ambilight/power HTTP/1.1 > Host: 192.168.178.75:1925 > User-Agent: curl/7.52.1 > Accept: */* > Content-Length: 11 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 11 out of 11 bytes < HTTP/1.1 200 OK < Date: Wed, 25 Dec 2019 22:03:49 GMT < Accept-Ranges: bytes < Server: Restlet-Framework/2.3.12 < Access-Control-Allow-Origin: * < Content-Length: 0 < * Curl_http_done: called premature == 0 * Connection #0 to host 192.168.178.75 left intact loxberry@loxberry:~ $ curl -v -s -X POST -d {"power":"On"} http://192.168.178.75:1925/6/ambilight/power * Trying 192.168.178.75... * TCP_NODELAY set * Connected to 192.168.178.75 (192.168.178.75) port 1925 (#0) > POST /6/ambilight/power HTTP/1.1 > Host: 192.168.178.75:1925 > User-Agent: curl/7.52.1 > Accept: */* > Content-Length: 10 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 10 out of 10 bytes < HTTP/1.1 200 OK < Date: Wed, 25 Dec 2019 22:04:00 GMT < Accept-Ranges: bytes < Server: Restlet-Framework/2.3.12 < Access-Control-Allow-Origin: * < Content-Length: 0 < * Curl_http_done: called premature == 0 * Connection #0 to host 192.168.178.75 left intact loxberry@loxberry:~ $
Kommentar
-
Was jedoch leider nicht geht: Standby sowie PowerState Abfragen
Powerstate
Code:loxberry@loxberry:~ $ curl -v -s http://192.168.178.75:1925/6/powerstate * Trying 192.168.178.75... * TCP_NODELAY set * Connected to 192.168.178.75 (192.168.178.75) port 1925 (#0) > GET /6/powerstate HTTP/1.1 > Host: 192.168.178.75:1925 > User-Agent: curl/7.52.1 > Accept: */* > < HTTP/1.1 404 Not Found < Date: Wed, 25 Dec 2019 22:05:45 GMT < Accept-Ranges: bytes < Server: Restlet-Framework/2.3.12 < Content-Length: 439 < Content-Type: text/html; charset=UTF-8 < <html> <head> <title>Status page</title> </head> <body style="font-family: sans-serif;"> <p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Not Found</p> <p>The server has not found anything matching the request URI</p> <p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">here</a>.<br> Please continue your visit at our <a href="/">home page</a>. </p> </body> </html> * Curl_http_done: called premature == 0 * Connection #0 to host 192.168.178.75 left intact
Standby
Code:loxberry@loxberry:~ $ curl -v -s -X POST -d {"key":"Standby"} http://192.168.178.75:1925/6/input/key * Trying 192.168.178.75... * TCP_NODELAY set * Connected to 192.168.178.75 (192.168.178.75) port 1925 (#0) > POST /6/input/key HTTP/1.1 > Host: 192.168.178.75:1925 > User-Agent: curl/7.52.1 > Accept: */* > Content-Length: 13 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 13 out of 13 bytes < HTTP/1.1 404 Not Found < Date: Wed, 25 Dec 2019 22:07:19 GMT < Accept-Ranges: bytes < Server: Restlet-Framework/2.3.12 < Content-Length: 439 < Content-Type: text/html; charset=UTF-8 < <html> <head> <title>Status page</title> </head> <body style="font-family: sans-serif;"> <p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Not Found</p> <p>The server has not found anything matching the request URI</p> <p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">here</a>.<br> Please continue your visit at our <a href="/">home page</a>. </p> </body> </html> * Curl_http_done: called premature == 0 * Connection #0 to host 192.168.178.75 left intact
Kommentar
-
Individuelle Color Keys - https://github.com/eslavnov/pylips/w...-lounge-(POST) - funktionieren zwar leider auch bei mir nicht, so dass die aktivierten FarbMIXE bei jedem Qon immer zufällig sind aber das passt für mich.
Achja selbst wenn man sich nach dem POST per GET (https://ip-address:1926/6/ambilight/lounge) anschaut was für einen Farbmix (Color Key) nun aktiv ist und dessen Keys in einem weiteren POST übernimmt setzt der TV eine einzelne Gesamtfarbe und keinen Mix. Muss man nicht verstehen, tut auch nicht der Entwickler aus dem Github Link
1 BildKommentar
-
SchmuFoo in deinen LoxConfig Screenshots sieht man, dass du die API am Philips TV direkt aufrufst - wie hast du das denn hinbekommen? Die benötigt doch eine DigestAuth?
Während
Code:curl -X GET --digest --insecure -u <username>:<password> https://<tvIP>:1926/6/powerstate
Code:{"powerstate":"On"}
Funktioniert das ohne Auth nicht:
Code:curl -X GET --insecure https://<tvIP>:1926/6/powerstate
Code:<html> <head> <title>Status page</title> </head> <body style="font-family: sans-serif;"> <p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Unauthorized</p> <p>The request requires user authentication</p> <p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">here</a>.<br> Please continue your visit at our <a href="/">home page</a>. </p> </body> </html>
EDIT: Habs selber rausgefunden
Im Virtuellen Eingang in der URL https://<username>:<password>@<tvIP>:1926/6/powerstate eintragen...zumindest in der Theorie geht das, denn im Browser lässt sich so die JSON Response entlocken.
Als nächstes muss ich jetzt noch rausfinden, wie ich in einem HTTP Eingang Befehl im Feld Befehlserkennung das JSON auswerte...
und ob https tatsächlich funktioniert. Hab nen Miniserver Gen1, da hab ich gelesen der kann kein https (auch wenn der Hilfetext in der LoxConfig beim Parameter URL des Virtuellen Eingangs das suggeriert)Zuletzt geändert von Witte; 13.01.2021, 23:23.Kommentar
-
Hallo Witte,
ich habe auch zwei Philips Android-TV`s die über meinen Miniserver (Gen1) Ein- und Ausschalten möchte.
Hast Du das nun mit Deinem Miniserver Gen1 (http:// oder https://) hinbekommen?
Hast Du hier ein Konfigurationsbeispiel (Scrennshots)?
Vielen Dank im Voraus.Kommentar
-
Ja hab ich über meinen Miniserver Gen1 hinbekommen. Allerdings triggered der nur einen http call auf dem LoxBerry. Der Loxberry hat ein Pythonscript was darauf reagiert und wiederum einen Call an den TV absetzt.
Ein Screenshot der Config ist relativ witzlos, weil das bei mir nur ein HTTP Eingang ist, der immer wieder abgefragt wird (jaja, pull prinzip...). -
Thanks for the info. I am in the same situation. Could you please ellaborate on this Pyton script to progress the http request to the TV.
I can use the POST/KEY from Loxberry console but I am not able to deal with this from MS. I also have Gen1.
Thanks in advance -
Have you tried the steps on page 3? https://www.loxforum.com/forum/germa...201#post356201
-
-
Hi, I'm trying to implemen this on my 55PUS7303 which is running android 8. Every command I post using wFetch returns something like this below. I am able to go to the webpage of the TV. Any idea's?
Code:REQUEST: **************\nPOST /6/input/key HTTP/1.1\r\n Host: 192.168.1.95\r\n Accept: */*\r\n Content-Length:15\r\n \r\n {"key": "Home"}RESPONSE: **************\nHTTP/1.1 404 Not Found\r\n Date: Fri, 20 May 2022 17:59:03 GMT+00:00\r\n Server: Restlet-Framework/2.3.12\r\n Content-Length: 439\r\n Content-Type: text/html; charset=UTF-8\r\n \r\n <html>\n<head>\n <title>Status page</title>\n</head>\n<body style="font-family: sans-serif;">\n<p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Not Found</p>\n<p>The server has not found anything matching the request URI</p>\n<p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5">here</a>.<br>\nPlease continue your visit at our <a href="/">home page</a>.\n</p>\n</body>\n</html>
Kommentar
Kommentar