Drucken
Kategorie: Android App Haussteuerung
Zugriffe: 1068
Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

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.

Hier eine Beschreibung der einzelnen Einstellungsmöglichkeiten:

Folgende Hinweise noch:

Hier ein Beispiel php Script:

 <?
 
//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&amp;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";
 
?> 
Source code