Stimmt, hast wie immer recht, ist TCP ;). Ich meinte nur eher das es eben kein Telnet per se ist, auch wenn Port 23 benutzt wird. Der Port sagt ja noch nichts über die genaue Kommunikation aus.
Öhm… Fonzo… Lies mal den Wiki-Eintrag von „Telnet“ Und dann mach meinetwegen ein OT-Thread dazu auf
Und was soll mich das dann schlauer machen ;)? Der Oppo IP Control Server ist kein herkömmlicher Telnet Server also kannst Du auch nicht einen normalen Telnet Client nutzten um die Daten zu verschicken.
Steht doch auch so in der Doku:
Das hat aber ja wenig mit IP-Symcon zu tun, da werden die Daten einfach über den Clientsocket geschickt.
@Fonzo: Ich lass mich mal nicht auf weitere Diskussionen ein…keine Zeit Werde lieber das Update vom BatterieMonitor vor dem Release noch bissi testen
@Stefan71: Ich hab ein Modul geschrieben, mit dem ich den Oppo steuere - allerdings ist das nicht in einem Zustand zur Veröffentlichung :-/ Aber die Steuerung per Skript im IPS is echt easy und alles gut dokumentiert im WWW.
MfG,
Chris
@Fonzo
Komme nicht klar. Habe mir jetzt den Client Socket angelegt und dann kann ich ja über „Befehl testen“ den gewünschten Befehl senden oder?
Ich würde einfach ein Skript nehmen um das auszuprobieren. Testen kannst Du das aber nur selber, Du besitzt ja das Gerät.
Die Befehle sind komplett von Oppo dokumentiert.
Ich würde das mal so probieren
$command = 'PON'; // Power On
$payload = '#'.$command.'\r';
CSCK_SendText(12345, $payload); // 12345 Objekt ID Client Socket
Die von dir angegebene Skript funktioniert nicht, der Oppo rührt sich nicht.
@Fonzo Mit den einfachen Anführungszeichen wird das wohl nix
$command = 'PON'; // Power On
$payload = '#'.$command."\r";
CSCK_SendText(12345, $payload); // 12345 Objekt ID Client Socket
Michael
Habe das Problem das der Socket sich die ganze Zeit verabschiedet.
Das heißt was genau? Wann wird die Verbindung denn getrennt, wenn Du was geschickt hast oder sofort wenn der Socket aktiv ist?
Was steht denn im Debug Fenster wenn Du etwas schickst? Ohne irgendwelche näheren Infos ist das alles Glaskugel raten.
Der verabschiedet sich wahllos, wenn ich was sende oder wenn ich auch nichts sende.
Debug:
TXT: 22.11.2019, 17:12:40 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:12:40 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:12:40 | RECEIVED | @OK OFF<CR>
HEX: 22.11.2019, 17:12:40 | RECEIVED | 40 4F 4B 20 4F 46 46 0D
TXT: 22.11.2019, 17:13:00 | TRANSMIT | #PON<CR>
HEX: 22.11.2019, 17:13:00 | TRANSMIT | 23 50 4F 4E 0D
TXT: 22.11.2019, 17:13:00 | RECEIVED | @OK ON<CR>
HEX: 22.11.2019, 17:13:00 | RECEIVED | 40 4F 4B 20 4F 4E 0D
TXT: 22.11.2019, 17:13:30 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:13:30 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:13:30 | RECEIVED | @OK ON<CR>
HEX: 22.11.2019, 17:13:30 | RECEIVED | 40 4F 4B 20 4F 4E 0D
TXT: 22.11.2019, 17:14:03 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:14:03 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:14:03 | RECEIVED | @OK ON<CR>
HEX: 22.11.2019, 17:14:03 | RECEIVED | 40 4F 4B 20 4F 4E 0D
TXT: 22.11.2019, 17:14:45 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:14:45 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:16:32 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:16:32 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:16:32 | RECEIVED | @OK OFF<CR>
HEX: 22.11.2019, 17:16:32 | RECEIVED | 40 4F 4B 20 4F 46 46 0D
TXT: 22.11.2019, 17:16:59 | TRANSMIT | #PON<CR>
HEX: 22.11.2019, 17:16:59 | TRANSMIT | 23 50 4F 4E 0D
TXT: 22.11.2019, 17:16:59 | RECEIVED | @OK ON<CR>
HEX: 22.11.2019, 17:16:59 | RECEIVED | 40 4F 4B 20 4F 4E 0D
TXT: 22.11.2019, 17:17:26 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:17:26 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:17:26 | RECEIVED | @OK ON<CR>
HEX: 22.11.2019, 17:17:26 | RECEIVED | 40 4F 4B 20 4F 4E 0D
TXT: 22.11.2019, 17:17:57 | TRANSMIT | #POW<CR>
HEX: 22.11.2019, 17:17:57 | TRANSMIT | 23 50 4F 57 0D
TXT: 22.11.2019, 17:17:57 | RECEIVED | @OK ON<CR>
HEX: 22.11.2019, 17:17:57 | RECEIVED | 40 4F 4B 20 4F 4E 0D
TXT: 22.11.2019, 17:18:34 | TRANSMIT | #EJT<CR>
HEX: 22.11.2019, 17:18:34 | TRANSMIT | 23 45 4A 54 0D
TXT: 22.11.2019, 17:18:35 | RECEIVED | @ER OVERTIME<CR>
HEX: 22.11.2019, 17:18:35 | RECEIVED | 40 45 52 20 4F 56 45 52 54 49 4D 45 0D
TXT: 22.11.2019, 17:18:57 | TRANSMIT | #POF<CR>
HEX: 22.11.2019, 17:18:57 | TRANSMIT | 23 50 4F 46 0D
TXT: 22.11.2019, 17:18:57 | RECEIVED | @OK OFF<CR>
HEX: 22.11.2019, 17:18:57 | RECEIVED | 40 4F 4B 20 4F 46 46 0D
TXT: 22.11.2019, 17:19:30 | TRANSMIT | #EJT<CR>
HEX: 22.11.2019, 17:19:30 | TRANSMIT | 23 45 4A 54 0D
TXT: 22.11.2019, 17:19:32 | RECEIVED | @ER OVERTIME<CR>
HEX: 22.11.2019, 17:19:32 | RECEIVED | 40 45 52 20 4F 56 45 52 54 49 4D 45 0D
Keine Ahnung an was das liegen könnte, aber er scheint ja zu quittieren, also ein und ausschalten funktioniert?
Ein und Ausschalten lässt er sich. An geht er aber mit dem Befehl ‚EJT‘ für Eject, anstatt mit ‚PON‘.
Tja, musst Du wohl mal alle Befehle in der Dokumentation durchprobieren was geht und was nicht, warum der Socket getrennt wird kann man schlecht beantworten, wenn man das Gerät selber nicht besitzt. Du kannst ja mal schauen ob Du da irgendeine Regelmäßigkeit findest bzw. vielleicht weis ja jemand was die Ursache sein könnte, der so ein Gerät besitzt.
Werde mal die Befehle durch probieren und erstmal Danke für deine Hilfe.
Das ist aber sicherlich nicht der richtige Weg. Denn im Response steht ER(ror).
Wenn ich den Power On Befehl nutze geht er nicht an. Geht also nur über den Power Toggle oder Eject Befehl.
Edit: In dem Steuerungsprotokoll sind ja auch Befehle für Abfragen vorhanden, wie kann ich die einbinden? Werden die genauso gehandhabt wie die Remote Befehle?
Gerade hat sich der Socket wieder ohne Grund verabschiedet und das ist die Meldung:
23.11.2019, 10:12:19 | Event Control | Wiederverbinden [Oppo (192.168.178.75)] fehlgeschlagen = Waiting for connect timed out
und hier hat er sich wieder verbunden von selbst:
23.11.2019, 10:28:19 | Event Control | Wiederverbinden [Oppo (192.168.178.75)] erfolgreich
@Fonzo
du hattest ja geschrieben mit den Status Abfragen muss man eine RegisterVariable nehmen. Komme damit nicht klar. Hättest du ein Beispiel wie ich da vorgehen muss?
Was hast Du denn bisher probiert? Ein grobes Beispiel findest Du in der Register Variable Dokumentation.
Was Du also Response bekommst, steht wiederum in der Dokumention von Oppo.
Ist also mühsame Kleinarbeit jeweils in einem Skript auf den gesendeten Befehl im Response zu prüfen und dann das in eine passende Variable abzulegen. Wie die Queries lauten, findest Du ebenfalls in der Oppo Dokumentation beschrieben.
Ich habe mir eine Register Variable angelegt. Des Weiteren habe ich mir dann eine Boolean Variable angelegt um den Power Status anzuzeigen bzw. die zu befüllen. An dem passenden Skript scheitere ich. Der command für den Power Status ist ja QPW und als Reponse wird mir On oder Off angezeigt. Das ist soweit alles klar.
Ich muss dann also für jede Abfrage ein Skript erstellen.