SAMSUNG TV Befehle

Hallo an Alle,

ich habe heute versucht den TV fernzusteuern. Klappt soweit jedoch
kann ich die SOURCE nicht ändern wenn ich zum Beispiel in einer App wie Putpat TV bin.

Ich komme mit KEY_RETURN zwar heraus in das SmartTV Hauptmenü aber wenn ich dann auf
Source HDMI1 wechseln will dann passiert nichts.

Muss ich eine bestimmte Befehlssequenz senden?
Probiert habe ich schon
KEY_HDMI, KEY_HDMI1, KEY_DVI

Das funktioniert nicht.

Vielleicht hat einer ein komplexeres Codebeispiel mit allen Befehlen. Wäre super… :slight_smile:

Hallo.
Das Thema ist zwar schon etwas älter, aber ich stehe gerade vor dem selben Problem:
Ich möchte mein Samsung TV, C-Serie, gerne per IPS steuern.

habe bis jetzt leider kaum infos gefunden:
Port ist wohl 55000.
aber wie sieht ein Steuerbefehl aus? Hat da schon jemand eine Liste mit den Standartbefehlen (An Aus Lauter Leise Quelle)

mfg
Martin

Hi, schau mal hier.

Hab es jetzt mit folgendem Script hinbekommen mit dem TV zu kommunizieren:

<?

$src = „IPADRESSE“; # ip des IPS
$mac = „MACADRESSE“; # mac des IPS
$remote = „Perl Samsung Remote“;
$dst = „IPADRESSE“; # ip of tv
$app = „iphone…iapp.samsung“;
$tv = „UE55C6500“; # iphone.UE55C6700.iapp.samsung

$key = „KEY_MUTE“; #auszuführende Taste

error_reporting(0);

$ping = Sys_Ping($dst, 1000);
if ($ping ==false){
echo „<FONT SIZE=’+3’ COLOR=red><br>FERNSEHER REAGIERT NICHT</FONT>“;
die();
}

$samsungstatus = IPS_GetInstance(13848 /[Objekt #13848 existiert nicht]/);
if ($samsungstatus[‚InstanceStatus‘]>102){
CSCK_SetOpen(31283 /[UE55C6700]/, true);
IPS_ApplyChanges(31283 /[UE55C6700]/);
$samsungstatus = IPS_GetInstance(31283 /[UE55C6700]/);
if ($samsungstatus[‚InstanceStatus‘]>102){
echo „<FONT SIZE=’+3’ COLOR=red><br>FERNSEHER REAGIERT NICHT</FONT>“;
die();
}
}

CSCK_SetOpen(31283 /[UE55C6700]/, true);

$msg = chr(0x64).chr(0x00).chr(strlen(base64_encode($src))).chr(0x00).base64_encode($src).chr(strlen(base64_encode($mac))).chr(0x00).base64_encode($mac).chr(strlen(base64_encode($remote))).chr(0x00).base64_encode($remote);
$pkt = chr(0x00).chr(strlen($app)).chr(0x00).$app.chr(strlen($msg)).chr(0x00).$msg;
CSCK_SendText(31283 /[UE55C6700]/,$pkt);

$msg = chr(0x00).chr(0x00).chr(0x00).chr(strlen(base64_encode($key))).chr(0x00).base64_encode($key);
$pkt = chr(0x00).chr(strlen($tv)).chr(0x00).$tv.chr(strlen($msg)).chr(0x00).$msg;
CSCK_SendText(31283 /[UE55C6700]/,$pkt);

CSCK_SetOpen(31283 /[UE55C6700]/, false);

?>

Funtioniert!

Aber ich muss jedesmal bei den I/O Instanzen den Client Socket neu aktivieren.

Eigentlich macht es das Skript unten selbst! Es öffnet den ClientSocket, sendet die Daten und schliesst Ihn danach wieder.

Gruß,
Peter

Bei der reinen IP Kommunikatin mit Geräten kannst Du das auch über PHP direkt machen und brauchst keine Instanzen anzulegen.

Hat den Vorteil, dass Du, wenn die Device mal nicht da ist (z.B. weil Du im Urlaub Deine Geräte vom Netz nimmst) nicht dauernd Fehelremeldungen im Log bekommst.

Ich hab meinen Fehler gefunden: war nur ein Zahlendreher!
trotzdem danke für eure Hilfe!