In den Einstellungen im Screen "Einstellungen Server" kann man das Android Gerät als SocketServer aktivieren, sodass man es von außerhalb entsprechend fernsteuern kann.
<?
//Script Datum: 25.11.2016 Version 1.5
/* Den Port vom Android Device. Default 2001. Kann in der App Haussteuerung verändert werden! */
$service_port = 2001;
/* Die IP-Adresse des Zielrechners ermitteln. */
//$address = gethostbyname('android-6f94f5f5290b2696.home');
//oder so fix setzen bei Static IP
$address = '10.0.0.49';
//Befehle für Android Gerät (je nach Bedarf Zeilen deaktivieren/verändern)
// $in = ""; als erste Zeile immer stehen lassen
//
// WICHTIG: Wenn PasswortProtection in der App Haussteuerung aktiviert wurde, dann ist bei jedem Kommando ein "PW passwort" voranzustellen
// WICHTIG: Beispiel sieht dann so aus:
// WICHTIG: $in .= "PW AndieserStellekommtdeinPasswort Sage Das ist ein Test\r\n";
// DeaktiviereStandby Schaltet das Display ein, ein Lcokscreen/PIN/etc... wird aber nicht übergangen!!!
// SagenachStandby XXX wird nur ausgefüht wenn das Android Gerät im Standby Modus war und der Bildschirm aktiviert wurde
// SageohneStandby XXX wird nur ausgefüht wenn das Android Gerät nicht im Standby Modus ist, also der Bildschirm schon sichtbar ist
// Sage XXX einfach nach Sage einen Text konfigurieren der dann immer ausgegeben wird am Android Gerät im Hintergrund; Egoal ob Display im Standbymodus ist oder nicht!
// Sage1 XXX wie oberhalb aber mit geringer Lautstärke
// Sage2 XXX bis Sage4 XXX wie oberhalb aber mit höherer Lauftstärke bis beinahe maximaler Laufstärke
// Sage5 XXX wie oberhalb aber mit maximaler Lautstärke
// Warte NNNN Millisekunden 1000 Millisekunden = 1 Sekunde (Während Wartezeit wird ein transparenter Screen angezeigt wenn das Device an ist!)
// StarteApp XXX (App Name immer in Kleinbuchstaben, vorhergehendes Warte hat hier keine Auswirkung!!!)
// StarteAppnachStandby (App Name wird nur gestartet wenn das Android Gerät im Standby Modus war und der Bildschirm aktiviert wurde
// Spracheingabe Startet die Sprachsteuerung der App am Android Gerät im Hintergrund aber ohne Auslesen der Rückantwort von IP-Symcon
// SpracheingabeUndAntwort Startet die Sprachsteuerung der App am Android Gerät im Hintergrund inkl. Auslesen und Vorlesen der Rückantwort von IP-Symcon
// ÖffneUrl xxx Öffnet eine URL am Android Gerät
// Tasker xxx Startet den Tasker Task mit dem Namen xxx (WICHTIG: In Tasker unter Einstellungen -> Versch. -> Externen Zugriff erlauben einstellen!)
// Vibriere NNNN Millisekunden lässt das Android Gerät für NNNNN Millisekunden vibrieren (1000 Millisekunden = 1 Sekunde)
// Herunterfahren (benötigt ein Android Gerät mit root Rechten und der App Zugriff auf Superuser Rechte (rooted device))
// Restart (benötigt ein Android Gerät mit root Rechten und der App Zugriff auf Superuser Rechte (rooted device))
// StarteWebcam Starte eingebaute WebCam der App Haussteuerung (funktioniert nur wenn das explizit in der App unter Einstellungen WebCam erlaubt wird)
// StoppeWebcam Stoppe eingebaute WebCam der App Haussteuerung (funktioniert nur wenn das explizit in der App unter Einstellungen WebCam erlaubt wird)
// WICHTIG immer mit \r\n abschließen und $in mit .= erweitern!!!
$in = ""; //nicht löschen!!!
//$in .= "PW q3R$z6R DeaktiviereStandby\r\n"; //Beispiel um mit Passwort zu arbeiten
$in .= "DeaktiviereStandby\r\n";
$in .= "Warte 500\r\n";
//$in .= "SagenachStandby Das ist ein Test\r\n";
//$in .= "SageohneStandby Auch das ist ein Test\r\n";
//$in .= "Sage Das licht ist draußen an wollen sie es ausschalten\r\n";
$in .= "Sage1 Das ist ein Test ganz leise\r\n";
//$in .= "Sage4 Das ist ein Test ziemlich laut\r\n";
//$in .= "Sage Das ist wieder normale Lautstärke\r\n";
//$in .= "Spracheingabe\r\n";
//$in .= "SpracheingabeUndAntwort\r\n";
$in .= "ÖffneUrl http://www.google.at\r\n";
//$in .= "ÖffneUrl skype:thiemo99999?call&video?true\r\n";
$in .= "Tasker Testthiemo\r\n";
//$in .= "Sage Ich starte jetzt die App haussteuerung\r\n";
//$in .= "StarteApp haussteuerung\r\n";
//$in .= "Herunterfahren\r\n";
//$in .= "Restart\r\n";
//$in .= "Sage Ich starte jetzt IP-Symcon\r\n";
//$in .= "StarteAppnachStandby ip-symcon\r\n";
//$in .= "Vibriere 3000\r\n";
//$in .= "PW q3R$z6R StarteWebcam\r\n"; //Beispiel um mit Passwort zu arbeiten
//$in .= "StoppeWebcam\r\n";
//ab hier jetzt nichts mehr verändern!!!
$in .= "\r\n";
$version = IPS_GetKernelVersion();
if ($version < "4.00") {
$in = mb_convert_encoding($in, "UTF-8");
}
error_reporting(E_ALL);
echo "<h2>TCP/IP-Verbindung</h2>\n";
/* Einen TCP/IP-Socket erzeugen. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket == false) {
echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
exit;
} else {
echo "OK.\n";
}
echo "Versuche, zu '$address' auf Port '$service_port' zu verbinden ...";
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 3, 'usec' => 0));
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 3, 'usec' => 0));
$result = socket_connect($socket, $address, $service_port);
if ($result == false) {
echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
} else {
echo "OK.\n";
}
$out = '';
echo "HTTP request senden ...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Serverantwort lesen:\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}
echo "\nSocket schließen ...";
socket_close($socket);
echo "OK.\n\n";
?>

<?
//Script Datum: 25.11.2016 Version 1.5
/* Den Port vom Android Device. Default 2001. Kann in der App Haussteuerung verändert werden! */
$service_port = 2001;
/* Die IP-Adresse des Zielrechners ermitteln. */
//$address = gethostbyname('android-6f94f5f5290b2696.home');
//oder so fix setzen bei Static IP
$address = '10.0.0.49';
//Befehle für Android Gerät (je nach Bedarf Zeilen deaktivieren/verändern)
// $in = ""; als erste Zeile immer stehen lassen
//
// WICHTIG: Wenn PasswortProtection in der App Haussteuerung aktiviert wurde, dann ist bei jedem Kommando ein "PW passwort" voranzustellen
// WICHTIG: Beispiel sieht dann so aus:
// WICHTIG: $in .= "PW AndieserStellekommtdeinPasswort Sage Das ist ein Test\r\n";
// DeaktiviereStandby Schaltet das Display ein, ein Lcokscreen/PIN/etc... wird aber nicht übergangen!!!
// SagenachStandby XXX wird nur ausgefüht wenn das Android Gerät im Standby Modus war und der Bildschirm aktiviert wurde
// SageohneStandby XXX wird nur ausgefüht wenn das Android Gerät nicht im Standby Modus ist, also der Bildschirm schon sichtbar ist
// Sage XXX einfach nach Sage einen Text konfigurieren der dann immer ausgegeben wird am Android Gerät im Hintergrund; Egoal ob Display im Standbymodus ist oder nicht!
// Sage1 XXX wie oberhalb aber mit geringer Lautstärke
// Sage2 XXX bis Sage4 XXX wie oberhalb aber mit höherer Lauftstärke bis beinahe maximaler Laufstärke
// Sage5 XXX wie oberhalb aber mit maximaler Lautstärke
// Warte NNNN Millisekunden 1000 Millisekunden = 1 Sekunde (Während Wartezeit wird ein transparenter Screen angezeigt wenn das Device an ist!)
// StarteApp XXX (App Name immer in Kleinbuchstaben, vorhergehendes Warte hat hier keine Auswirkung!!!)
// StarteAppnachStandby (App Name wird nur gestartet wenn das Android Gerät im Standby Modus war und der Bildschirm aktiviert wurde
// Spracheingabe Startet die Sprachsteuerung der App am Android Gerät im Hintergrund aber ohne Auslesen der Rückantwort von IP-Symcon
// SpracheingabeUndAntwort Startet die Sprachsteuerung der App am Android Gerät im Hintergrund inkl. Auslesen und Vorlesen der Rückantwort von IP-Symcon
// ÖffneUrl xxx Öffnet eine URL am Android Gerät
// Tasker xxx Startet den Tasker Task mit dem Namen xxx (WICHTIG: In Tasker unter Einstellungen -> Versch. -> Externen Zugriff erlauben einstellen!)
// Vibriere NNNN Millisekunden lässt das Android Gerät für NNNNN Millisekunden vibrieren (1000 Millisekunden = 1 Sekunde)
// Herunterfahren (benötigt ein Android Gerät mit root Rechten und der App Zugriff auf Superuser Rechte (rooted device))
// Restart (benötigt ein Android Gerät mit root Rechten und der App Zugriff auf Superuser Rechte (rooted device))
// StarteWebcam Starte eingebaute WebCam der App Haussteuerung (funktioniert nur wenn das explizit in der App unter Einstellungen WebCam erlaubt wird)
// StoppeWebcam Stoppe eingebaute WebCam der App Haussteuerung (funktioniert nur wenn das explizit in der App unter Einstellungen WebCam erlaubt wird)
// WICHTIG immer mit \r\n abschließen und $in mit .= erweitern!!!
$in = ""; //nicht löschen!!!
//$in .= "PW q3R$z6R DeaktiviereStandby\r\n"; //Beispiel um mit Passwort zu arbeiten
$in .= "DeaktiviereStandby\r\n";
$in .= "Warte 500\r\n";
//$in .= "SagenachStandby Das ist ein Test\r\n";
//$in .= "SageohneStandby Auch das ist ein Test\r\n";
//$in .= "Sage Das licht ist draußen an wollen sie es ausschalten\r\n";
$in .= "Sage1 Das ist ein Test ganz leise\r\n";
//$in .= "Sage4 Das ist ein Test ziemlich laut\r\n";
//$in .= "Sage Das ist wieder normale Lautstärke\r\n";
//$in .= "Spracheingabe\r\n";
//$in .= "SpracheingabeUndAntwort\r\n";
$in .= "ÖffneUrl http://www.google.at\r\n";
//$in .= "ÖffneUrl skype:thiemo99999?call&video?true\r\n";
$in .= "Tasker Testthiemo\r\n";
//$in .= "Sage Ich starte jetzt die App haussteuerung\r\n";
//$in .= "StarteApp haussteuerung\r\n";
//$in .= "Herunterfahren\r\n";
//$in .= "Restart\r\n";
//$in .= "Sage Ich starte jetzt IP-Symcon\r\n";
//$in .= "StarteAppnachStandby ip-symcon\r\n";
//$in .= "Vibriere 3000\r\n";
//$in .= "PW q3R$z6R StarteWebcam\r\n"; //Beispiel um mit Passwort zu arbeiten
//$in .= "StoppeWebcam\r\n";
//ab hier jetzt nichts mehr verändern!!!
$in .= "\r\n";
$version = IPS_GetKernelVersion();
if ($version < "4.00") {
$in = mb_convert_encoding($in, "UTF-8");
}
error_reporting(E_ALL);
echo "<h2>TCP/IP-Verbindung</h2>\n";
/* Einen TCP/IP-Socket erzeugen. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket == false) {
echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
exit;
} else {
echo "OK.\n";
}
echo "Versuche, zu '$address' auf Port '$service_port' zu verbinden ...";
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 3, 'usec' => 0));
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 3, 'usec' => 0));
$result = socket_connect($socket, $address, $service_port);
if ($result == false) {
echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
} else {
echo "OK.\n";
}
$out = '';
echo "HTTP request senden ...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Serverantwort lesen:\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}
echo "\nSocket schließen ...";
socket_close($socket);
echo "OK.\n\n";
?>