Antworten von Telnet Anfragen

Hallo,

ich bin mir eigentlich 100% sicher, es gab diese Frage gefühlte 1000x, doch leider finde ich es im Forum nicht. Daher wäre ich für einem kleinen Wink mit dem Zaunpfahl dankbar:

Ich habe einen Client_Socket zum Gerät erstellt -> funktioniert.
ich führe folgendes Skript aus:

CSCK_SetOpen(12345,true);
if ( CSCK_SendText(12345,"Befehl_zum_Senden") == true) {
	echo "OK";
   }
   else {
	echo "Fehler";}
CSCK_SetOpen(12345,false);

funktioniert, zumindest bekomme ich „OK“ ausgegeben.
Nun gibt mir das Gerät in der Telnetkonsole eine schöne Textantwort, die ich in IPS auch gerne weiter verarbeiten möchte.

Wie komme ich an diese Antwort heran???

Grüße

Eric

Ich denke, der Weg führt über eine Register Variable - die natürlich mit deinen Client Socket verbunden ist :slight_smile:

LG Tom

Du bestätigst meine Befürchtungen. Gibt es dazu nicht irgendwo ein kleines nettes „How To Do …“ for Dummies???

Nicht direkt. Aber es gibt viele Threads in denen es immer wieder ein wenig erklärt wird und einige Skript-Beispiele dazu…

Zum Beispiel hier:
Steuerung Sauna RS485

-Chris-

oder auch HIER

Insgesamt ist es einfacher als es aussieht - es ist halt NUR eine Verständnisfrage - also nicht allzu kompliziert denken :wink:

LG Tom

Und du kannst sogar über RegVar_SendText deinen Befehl versenden. Ist dann auch etwas verständlicher vom Datenfluss.
Alles an die RegVar senden und alles von ihr empfangen. Anstatt halbe/halbe :wink:
Michael

OK, besten Dank. Funktioniert, auch wenn es, wenn man es zuvor noch nicht gemacht hatte, eigenartig anmutet:

  1. Client_Socket zum Gerät anlegen
  2. Empfangskript erstellen, in etwa:
$buf = RegVar_GetBuffer(98765 /* Register_Variable */);
$buf .= $_IPS['VALUE']; //konkatenieren
SetValue(11111 /* Var, zur Ausgabe des Ergebnisses */,$buf);

  1. Register_Variable (98765) erstellen und mit dem Empfangskript konnektieren
  2. auslösenden Befehl wie:
RegVar_SendText(98765 /* Register_Variable */,"Telnet-Befehl, der eine Rückgabe auslöst");

Grüße

Eric