[Modul] PhilipsTVRemote

Hallo Leute,

ich habe angefangen ein Modul zur Fernsteuerung eines PhilipsTV zu erstellen.
https://github.com/Joey-1970/PhilipsTVRemote/tree/main

Was schon funktioniert ist die Steuerung von:

  • Power
  • Mute
  • Volume
  • Auslesen von diversen Informationen zum Gerät

Die Beschreibung der grundsätzlichen API-Funktionen findet man hier:
https://jointspace.sourceforge.net/projectdata/documentation/jasonApi/1/doc/API.html

Die Dokumentation scheint veraltet. Dennoch ist es so, das einige Funktionen gegeben sind, aber z.B. die Umstellung der Eingänge (HDMI1, 2, 3…) kommt ein „forbidden“…

Nun gibt und gab es offenbar verschiedene Möglichkeiten den TV für weitere Funktionen zu öffnen.

Die aktuellste ist wohl ein „Pairing“ durchzuführen, eine Möglichkeit findet sich hier:
https://github.com/nstrelow/ha_philips_android_tv
Ich habe die Steps versucht durchzuführen, hat bei mir aber im dritten Schritt nicht funktioniert, kommen eine Menge Fehlermeldungen…

Ich habe hier einen Programmcode für das Pairing in Python gefunden der das auch machen soll, es steht aber im Readme das damit keine Umschaltung der Eingangskanäle möglich ist.
https://github.com/suborb/philips_android_tv/blob/master/README.md

Daher die Fragen:

  • Hat sich jemand von Euch schon mal damit beschäftigt?
  • Weiß jemand wie ich die Eingangskanäle umschalten kann?
  • Muss ich zwingend ein Pairing durchführen?

Joachim

Moin,

Ja, ich habe auch ein modul in der pipeline, komme aber aktuell nicht dazu weil ich zwi coolere Spielzeuge bekommen habe, für das ich die module fertig machen möchte.

Natives pairing ist schon drin, aus symcon ohne tools… ich kann den zwischenstand nachher auf git hochladen… da ist auch eine spielkachel dabei, die ein wemig an die Fernbedienung angelehnt ist.

aber alles noch ohne grosse funktion (also pairing geht aber dann kam das cooleres spielzeug)

…das klingt ja total super!!! :smiley:

HI,

gerade mal hochgeladen, schau mal ob due daran anknüpfen oder dir die passenden dinge raussuchen möchtest…

Moin,
Du müsstest erstmal wissen was dein TV hat. JointSpace is meiner Meinung nach für die preiswerteren Philips (TV Vision) mit selbstgebasteltem OS und Android TV bei den höherpreisigen Modellen.

Ich steuere meinen OLED jetzt schon per ADB mit dem FireTV Modul. Vorteil hier geht umschalten der HDMI-Eingänge und umschalten der Audio-Ausgänge was bei mir per Remote Services bisher nicht geklappt hat.

Ralf

Guten Morgen Kris! :slight_smile:

VIELEN DANK! Ich konnte es gestern nicht lassen, Deinen Code mal auszuprobieren… :wink:

Ich habe die wesentlichen Teile in meinen Code integriert, den TV eingeschaltet und ausprobiert. Es kommen keine Code-bedingten Fehlermeldungen, aber das Pairing hat leider nicht funktioniert…

Ich werde das heute noch mal in Ruhe versuchen…
Sollte ich dabei noch irgendetwas beachten?

Es gibt ja offenbar so viele verschieden TV-Typen - zumindest ist das mein Bild nach dem Lesen verschiedener Threads zu dem Thema - das es vielleicht auch einfach daran liegt, dass mein TV einfach „anders“ ist…

Joachim

Moin,

Also ich habe folgende erfahrungen gemacht

  • kein andere app offen lassen. Zwischendurch lief bspw netflix oder disney, das kann klappen, hatte aber auch oft, das die Einblendung nicht kam
  • nach vielen testen, den tv neu starten. Reboot tut gut, als ich getestet habe, ohne einen code einzugeben (also nur das pairing gestartet), kam irgendwann nix mehr. Nach neustart ging wieder alles.

Es kann auch sein, das ich was kaputtgefummelt habe, da schaue ich die tage mal rüber.

Mein tv ist, glaube ich, 2015/2016 mit ambilight und android

Viele grüsse

Moin,

ich kann bestätigen, ich habe da was kaputt gemacht… Ich schau gerade drüber und melde mich, wenn das wieder geht :wink:

und gefixt… update ist im github. Hab es getestet und lief auch bei mir… Hatte einen Fehler beim schreiben der attribute

…abermals DANKE!

Bin ganz gespannt es heute Abend einmal zu testen… :slight_smile:

Hallo Kris,

wenn ich Dein Skript mit Port 1926 und https versuche kommt die folgende Fehlermeldung:
startPairing | Empty answer from TV: Failed to connect to 192.168.178.26 port 1926 after 0 ms: Couldn't connect to server
Ich habe auch Port 1925 mit und ohne https probiert, da kommen dann andere Fehlermeldungen… :frowning:
Das Modell hat die Bezeichnung 65PUS7855/12 - Januar 2021

Joachim

Hallo Ralf,

das mit JointSpace und diesem „Freischaltcode“ (die Nummer zur Freischaltung über die FB eingeben) habe ich diverse Male probiert - da komme ich auch nicht voran…

Joachim

Mit welchem befehl steuerst du denn überhaupt jetzt den tv an? Ist das ein android tv?

Kannst du mit http ip:1925/system aufrufen und das ergebnis hier reinstellen?

{
	"menulanguage": "German",
	"name": "65PUS7855/12",
	"country": "Germany",
	"serialnumber_encrypted": "K2kseVsmQFgkd15gKkJ+ampZnJuPqOr3Ro+rtlSD9dI=",
	"softwareversion_encrypted": "K2kseVsmQFgkd15gKkJ+avHZ7mOh2CrjkYSBkUtkvmiG2DZ4sXD1unYVCYsZ7tmo",
	"model_encrypted": "K2kseVsmQFgkd15gKkJ+astp5Y4jOt/hERGM0kRfl6A=",
	"deviceid_encrypted": "K2kseVsmQFgkd15gKkJ+akzMZKWxB/+9ooeZyjHfXKs=",
	"nettvversion": "4.6.0.1",
	"epgsource": "no_epg",
	"api_version": {
		"Major": 6,
		"Minor": 1,
		"Patch": 0
	},
	"featuring": {
		"jsonfeatures": {
			"recordings": [
				"List",
				"Schedule",
				"Manage"
			],
			"ambilight": [
				"Hue",
				"HueStreaming",
				"Ambilight"
			],
			"textentry": [
				"context_based",
				"initial_string_available"
			],
			"inputkey": [
				"key",
				"unicode"
			],
			"pointer": [
				"context_based"
			],
			"activities": [
				"browser"
			]
		},
		"systemfeatures": {
			"tvtype": "consumer",
			"content": [
				"dmr"
			],
			"pairing_type": "none",
			"os_type": "Linux"
		}
	}
}

…ein "Prinzip-Beispiel für die Lautstärke:

$IP = "192.168.178.26";
$url = 'http://'.$IP.':1925/6/audio/volume';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$Result = curl_exec($ch);
curl_close($ch);
print_r($Result);

Antwort:

{
	"muted": false,
	"current": 13,
	"min": 0,
	"max": 60
}

Bei mir steht da digest_auth_pairing. Ich habe minor version 4…

Könnte also daran liegen

Guten Morgen! :slight_smile:

ich bin etwas verwirrt:
* Power
* Mute
* Volume
* Auslesen von diversen Informationen zum Gerät
funktioniert, (die wenigen) anderen Dinge nicht? Die Schnittstelle ist da, meldet sich ja bei den entsprechenden Befehlen mit „forbidden“ - die „Mühe“ hat man sich gemacht?

Die Funktion an sich sind ja schon seit der API 1.0 gegeben, bei 6.1. sollten sie aber in jedem Fall da sein…

Das kann sich doch eigentlich nur um eine softwareseitige Einstellung handeln?

Joachim