PHP-Code:
<?
//Script Datum: 09.07.2015 Version 1.1
//Ersetze 44702 mit deiner AndroidReceive ID
$input = GetValueString(44702 /*[Scripte\Sprachsteuerung\AndroidReceive]*/ );
//Ersetze 40387 mit deiner AndroidSend ID
$outputid = 40387 /*[Scripte\Sprachsteuerung\AndroidSend]*/;
SetValueString($outputid, "Das PHP Script wurde nicht rechtzeitig fertig"); // Initialisiere Outputstring falls die Zeitdauer in der Android App nicht ausreicht!
$SkriptStart = microtime(true); //Setze Startzeitpunkt
//Ersetze hier das Array mit allen möglichen Variablen oder Geräteinstanzen etc... die Du hast
global $tg_info_devices;
$tg_info_devices = array(
"Büro1" => array("Typ" => "Licht", "Variable" => 54973, "Aussprache" => "Im Büro ist das Licht" ),
"Büro2" => array("Typ" => "Rollladen", "Variable" => 41402, "Aussprache" => "Im Büro ist der Rollladen" ),
"Büro3" => array("Typ" => "Computer", "Variable" => 29580, "Aussprache" => "Im Büro ist der Computer" ),
"Büro4" => array("Typ" => "Temperatur", "Variable" => 26262, "Aussprache" => "Im Büro beträgt die Temperatur" ),
"Büro5" => array("Typ" => "Solltemperatur", "Variable" => 20614, "Aussprache" => "Im Büro [wurde|beträgt] die Solltemperatur" ),
"Küche1" => array("Typ" => "Licht", "Variable" => 51429, "Art" => "Schrank", "Aussprache" => "In der Küche ist das Licht am Schrank" ),
"Küche2" => array("Typ" => "Licht", "Variable" => 55650, "Art" => "Decke", "Aussprache" => "In der Küche ist das Licht an der Decke" ),
"Küche3" => array("Typ" => "Rollladen", "Variable" => 49153, "Art" => "Fenster", "Richtung" => "Norden", "Aussprache" => "In der Küche ist der Rollladen des Fensters im Norden" ),
"Küche4" => array("Typ" => "Rollladen", "Variable" => 11830, "Art" => "Fenster", "Richtung" => "Westen", "Aussprache" => "In der Küche ist der Rollladen des Fensters im Westen" ),
"Küche5" => array("Typ" => "Rollladen", "Variable" => 49115, "Art" => "Tür", "Aussprache" => "In der Küche ist der Rollladen der Tür" ),
"Küche6" => array("Typ" => "Temperatur", "Variable" => 36304, "Aussprache" => "In der Küche beträgt die Temperatur" ),
"Küche7" => array("Typ" => "Luftfeuchtigkeit", "Variable" => 29164, "Aussprache" => "In der Küche beträgt die Luftfeuchtigkeit" ),
"Küche8" => array("Typ" => "Batterie", "Variable" => 17708, "Aussprache" => "In der Küche ist die Batterie des Sensors" ),
"Schlafzimmer1" => array("Typ" => "Licht", "Variable" => 42028, "Aussprache" => "Im Schlafzimmer ist das Licht" ),
"Schlafzimmer2" => array("Typ" => "Temperatur", "Variable" => 36426, "Aussprache" => "Im Schlafzimmer beträgt die Temperatur" ),
"Schlafzimmer3" => array("Typ" => "Luftfeuchtigkeit", "Variable" => 39357, "Aussprache" => "Im Schlafzimmer beträgt die Luftfeuchtigkeit" ),
"Schlafzimmer4" => array("Typ" => "Rollladen", "Variable" => 56308, "Aussprache" => "Im Schlafzimmer ist der Rollladen" ),
"Schlafzimmer5" => array("Typ" => "Solltemperatur", "Variable" => 28215, "Aussprache" => "Im Schlafzimmer [wurde|beträgt] die Solltemperatur" ),
"aussen1" => array("Typ" => "Windaktuell", "Variable" => 56046, "Aussprache" => "Draußen gibt es einen Wind von" ),
"aussen2" => array("Typ" => "Windböen", "Variable" => 40250, "Aussprache" => "Draußen existieren Windböen mit" ),
"aussen3" => array("Typ" => "Temperatur", "Variable" => 32134, "Aussprache" => "Draußen hat die Temperatur" ),
"aussen4" => array("Typ" => "Luftfeuchtigkeit", "Variable" => 40108, "Aussprache" => "Draußen hat es eine Luftfeuchtigkeit von" ),
"aussen5" => array("Typ" => "Regen", "Variable" => 59347, "Aussprache" => "Draußen regnet es" ),
"aussen6" => array("Typ" => "Helligkeit", "Variable" => 40288, "Aussprache" => "Draußen beträgt die Helligkeit" ),
"Wohnzimmer1" => array("Typ" => "Rollladen", "Variable" => 41403, "Art" => "Tür", "Aussprache" => "Im Wohnzimmer ist das Raffstore der Tür" ),
"Wohnzimmer2" => array("Typ" => "Rollladen", "Variable" => 41404, "Art" => "Fenster", "Aussprache" => "Im Wohnzimmer ist das Raffstore des Fensters" ),
"Wohnzimmer3" => array("Typ" => "Temperatur", "Variable" => 15013, "Aussprache" => "Im Wohnzimmer beträgt die Temperatur" ),
"Wohnzimmer4" => array("Typ" => "Luftfeuchtigkeit", "Variable" => 43371, "Aussprache" => "Im Wohnzimmer beträgt die Luftfeuchtigkeit" ),
"Wohnzimmer5" => array("Typ" => "Fernseher", "Variable" => 24532, "Aussprache" => "Im Wohnzimmer ist der Fernseher" ),
"Wohnzimmer6" => array("Typ" => "AVReceiver", "Variable" => 38396, "Aussprache" => "Im Wohnzimmer ist der AVReceiver" ),
"Wohnzimmer7" => array("Typ" => "Licht", "Variable" => 57627, "Art" => "Steh", "Aussprache" => "Im Wohnzimmer ist die Stehlampe" ),
"Wohnzimmer8" => array("Typ" => "Kino", "Variable" => 30063, "Aussprache" => "Im Wohnzimmer ist der Kinomodus" ),
"Vorzimmer1" => array("Typ" => "Licht", "Variable" => 42949, "Art" => "Wand", "Aussprache" => "Im Vorzimmer ist das Licht an der Wand" ),
"Vorzimmer2" => array("Typ" => "Licht", "Variable" => 56793, "Art" => "Decke", "Aussprache" => "Im Vorzimmer ist das Licht an der Decke" ),
"Vorzimmer3" => array("Typ" => "Temperatur", "Variable" => 30298, "Aussprache" => "Im Vorzimmer beträgt die Temperatur" ),
"Bad1" => array("Typ" => "Temperatur", "Variable" => 42086, "Aussprache" => "Im Bad beträgt die Temperatur" ),
"Bad2" => array("Typ" => "Solltemperatur", "Variable" => 48110, "Aussprache" => "Im Büro [wurde|beträgt] die Solltemperatur" ),
"Bad3" => array("Typ" => "Luftfeuchtigkeit", "Variable" => 10945, "Aussprache" => "Im Bad beträgt die Luftfeuchtigkeit" ),
"Keller1" => array("Typ" => "Temperatur", "Variable" => 42086, "Aussprache" => "Im Keller beträgt die Temperatur" ),
"Keller2" => array("Typ" => "Luftfeuchtigkeit", "Variable" => 10945, "Aussprache" => "Im Keller beträgt die Luftfeuchtigkeit" ),
"Wetter1" => array("Typ" => "Wetter", "Variable" => 55167, "Art" => "Heute", "Aussprache" => "" ),
"Wetter2" => array("Typ" => "Wetter", "Variable" => 31534, "Art" => "Morgen", "Aussprache" => "" ),
"Wetter3" => array("Typ" => "Wetter", "Variable" => 17550, "Art" => "Übermorgen", "Aussprache" => "" ),
"Wetter4" => array("Typ" => "Wetter", "Variable" => 58310, "Art" => "Trend", "Aussprache" => "" ),
"Uhrzeit" => array("Typ" => "Uhrzeit", "Variable" => 00000, "Aussprache" => "Die aktuelle Uhrzeit ist" ),
"Anwesenheit" => array("Typ" => "Anwesenheit", "Variable" => 42533, "Aussprache" => "Der Anwesenheitsstatus ist" ),
);
$zahl = 0;
$detail = "";
$raum = "";
$aktion = "";
$art = "";
$richtung = "";
$typ = "";
$tsay = "";
$techstatus = true;
//für mehrere Sprachbefehle über das UND einen Split machen von $input in Arrays und über das Array auswerten
$inputarray = explode( "und", $input, 9 );
foreach ($inputarray as $input)
{
print_r("--------------Input - Variable -----------\n");
print_r("$input\n");
print_r("------------------------------------------\n\n");
// a.) Suche nach Zahl, Aktion, Raum im Kommando (ansonsten wenn elementares fehlt aussteigen)
switch (true) {
// Suche nach erster Zahl im Kommando
case (preg_match("([1-9]+)", $input, $matches)) :
$zahl = $matches[0];
break;
}
switch (true) {
case (preg_match("/computer|pc/i", $input) ? true : false ) :
$typ = "Computer";
break;
case (preg_match("/fernseher/i", $input) ? true : false ) :
$typ = "Fernseher";
break;
case (preg_match("/av receiver/i", $input) ? true : false ) :
$typ = "AVReceiver";
break;
case (preg_match("/sat/i", $input) ? true : false ) :
$typ = "SATReceiver";
break;
case (preg_match("/kino/i", $input) ? true : false ) :
$typ = "Kino";
break;
case (preg_match("/rol|store/i", $input) ? true : false) :
$typ = "Rollladen";
break;
case (preg_match("/licht|beleuchtung|lampe|led/i", $input) ? true : false) :
$typ = "Licht";
break;
case (preg_match("/solltemperatur/i", $input) ? true : false ) :
$typ = "Solltemperatur";
break;
case (preg_match("/grad|temperatur/i", $input) ? true : false ) :
$typ = "Temperatur";
break;
case (preg_match("/luft|feucht/i", $input) ? true : false ) :
$typ = "Luftfeuchtigkeit";
break;
case (preg_match("/boeen|spitze|böen/i", $input) ? true : false ) :
$typ = "Windböen";
break;
case (preg_match("/kmh|wind|geschwindigkeit/i", $input) ? true : false ) :
$typ = "Windaktuell";
break;
case (preg_match("/regen|niederschlag/i", $input) ? true : false ) :
$typ = "Regen";
break;
case (preg_match("/helligkeit/i", $input) ? true : false ) :
$typ = "Helligkeit";
break;
case (preg_match("/wetter/i", $input) ? true : false ) :
$typ = "Wetter";
break;
case (preg_match("/batterie/i", $input) ? true : false ) :
$typ = "Batterie";
break;
case (preg_match("/spät|uhrzeit/i", $input) ? true : false ) :
$typ = "Uhrzeit";
break;
case (preg_match("/anwesen|abwesen/i", $input) ? true : false ) :
$typ = "Anwesenheit";
break;
}
switch (true) {
case (preg_match("/wer|wie|was|warum|weshalb|wann|welche|wieviel|sage|antworte|lese|ist/i", $input) ? true : false ) :
$aktion = "frage";
break;
case (preg_match("/schliesse|schließe|zu|runter|unten/i", $input) ? true : false) :
$aktion = "runter";
break;
case (preg_match("/oeffne|öffne|auf|hoch|oben/i", $input) ? true : false ) :
$aktion = "rauf";
break;
case (preg_match("/an|ein|on/i", $input) ? true : false ) :
$aktion = "ein";
break;
case (preg_match("/aus|off|ab/i", $input) ? true : false ) :
$aktion = "aus";
break;
case (preg_match("/schalte|schalke|setze|sätze|chapter|fette/i", $input) ? true : false ) :
$aktion = "schalte";
break;
default :
$aktion = "frage";
break;
}
switch (true) {
case (preg_match("/sek/i", $input) ? true : false ) :
$detail = "Sekunden";
break;
case (preg_match("/prozent/i", $input) ? true : false ) :
$detail = "Prozent";
break;
case (preg_match("/blau/i", $input) ? true : false ) :
$detail = "Blau";
break;
case (preg_match("/rot/i", $input) ? true : false ) :
$detail = "Rot";
break;
case (preg_match("/grün/i", $input) ? true : false ) :
$detail = "Grün";
break;
case (preg_match("/gelb/i", $input) ? true : false ) :
$detail = "Gelb";
break;
}
switch (true) {
case (preg_match("/tuer/i", $input) ? true : false ) :
$art = "Tür";
break;
case (preg_match("/fenster/i", $input) ? true : false ) :
$art = "Fenster";
break;
case (preg_match("/decke/i", $input) ? true : false ) :
$art = "Decke";
break;
case (preg_match("/wand/i", $input) ? true : false ) :
$art = "Wand";
break;
case (preg_match("/steh/i", $input) ? true : false );
$art = "Steh";
break;
case (preg_match("/tisch/i", $input) ? true : false );
$art = "Tisch";
break;
case (preg_match("/platte/i", $input) ? true : false );
$art = "Platte";
break;
case (preg_match("/heute/i", $input) ? true : false ) :
$art = "Heute";
break;
case (preg_match("/überübermorgen|langzeit|trend|forecast/i", $input) ? true : false ) :
$art = "Trend";
break;
case (preg_match("/übermorgen/i", $input) ? true : false ) :
$art = "Übermorgen";
break;
case (preg_match("/schrank/i", $input) ? true : false ) :
$art = "Schrank";
break;
case (preg_match("/morgen/i", $input) ? true : false ) :
$art = "Morgen";
break;
}
switch (true) {
case (preg_match("/nord/i", $input) ? true : false ) :
$richtung = "Norden";
break;
case (preg_match("/sued/i", $input) ? true : false ) :
$richtung = "Süden";
break;
case (preg_match("/west/i", $input) ? true : false ) :
$richtung = "Westen";
break;
case (preg_match("/ost/i", $input) ? true : false ) :
$richtung = "Osten";
break;
}
switch (true) {
case (preg_match("/buero|büro/i", $input) ? true : false ) :
$raum = "Büro";
break;
case (preg_match("/wohn/i", $input) ? true : false ) :
$raum = "Wohnzimmer";
break;
case (preg_match("/schlaf/i", $input)) :
$raum = "Schlafzimmer";
break;
case (preg_match("/kueche|küche/i", $input) ? true : false ) :
$raum = "Küche";
break;
case (preg_match("/bad/i", $input) ? true : false ) :
$raum = "Bad";
break;
case (preg_match("/ess/i", $input) ? true : false ) :
$raum = "Essplatz";
break;
case (preg_match("/klo|wc/i", $input) ? true : false ) :
$raum = "WC";
break;
case (preg_match("/gaeste|gäste/i", $input) ? true : false ) :
$raum = "Gästezimmer";
break;
case (preg_match("/kinder/i", $input) ? true : false ) :
$raum = "Kinderzimmer";
break;
case (preg_match("/party|feier/i", $input) ? true : false ) :
$raum = "Partyraum";
break;
case (preg_match("/garage/i", $input) ? true : false ) :
$raum = "Garage";
break;
case (preg_match("/keller/i", $input) ? true : false ) :
$raum = "Keller";
break;
case (preg_match("/alle/i", $input) ? true : false ) :
$raum = "alle";
break;
case (preg_match("/aussen|außen/i", $input) ? true : false ) :
$raum = "Aussen";
break;
case (preg_match("/vorzimmer|vorraum/i", $input) ? true : false ) :
$raum = "Vorzimmer";
break;
}
if (preg_match("/nix|nicht/i", $input) ? true : false ) {
SetValueString($outputid, "Ok viel Spass");
return true;
}
if ($zahl == 0) {
$zahl = 1 ;
}
// b.) Auswerten ob $aktion gesetzt
if ($aktion == "" ) {
$tsay = "Du hast vergessen eine Aktion mit zu geben!";
}
// c.) Auswerten ob $typ gesetzt
if ($typ == "") {
$tsay = "Du hast vergessen einen Typ mit zu geben!";
}
// d.) Auswerten ob $raum gesetzt
if ($raum == "") {
//wenn raum leer ist "alle" annehmen
$raum = "alle";
}
print_r("-----------Input - ausgewertet -----------\n");
print_r("Typ: $typ \n");
print_r("Aktion: $aktion \n");
print_r("Raum: $raum \n");
print_r("Detail: $detail \n");
print_r("Richtung: $richtung \n");
print_r("Art: $art \n");
print_r("Zahl: $zahl \n");
print_r("------------------------------------------\n");
// e.) Steuern der Aktionen
// lese zuerst alle Typen die übereinstimmen aus dem Array
if ($typ <> "" && $aktion <> "") {
foreach( $tg_info_devices as $rauma => $value ) {
foreach( $value as $wert => $inhalt ) {
if ($wert == "Typ" && preg_match("/$typ/i", $inhalt) == true ) {
//wir brauchen auch noch die anderen Werte
$leseweiter = TRUE;
}
if ($wert == "Typ" && preg_match("/$typ/i", $inhalt) == false) {
$leseweiter = FALSE;
}
if ($leseweiter == TRUE && $wert == "Variable" ) {
$variablea = $inhalt;
}
if ($leseweiter == TRUE && $wert == "Art" ) {
$arta = $inhalt;
}
if ($leseweiter == TRUE && $wert == "Richtung" ) {
$richtunga = $inhalt;
}
if ($leseweiter == TRUE && $wert == "Aussprache" ) {
$aussprache = $inhalt;
//hier jetzt die Aktion durchführen wenn auch Raum übereinstimmt!
$leseweiter = FALSE;
if ( preg_match("/$raum/i", $rauma) == true || $raum == "alle" ) {
//zuerst noch Art abfragen wenn man zB: 2 Fenster, Lichter etc. in einem Raum hat
//ob Match gegeben ist
print_r("Variable: $variablea \n");
$continue1 = 0;
if ($art <> "") {
if ($art == $arta) {
$continue1 = 1;
}
}
else {
$continue1 = 1;
}
//hier noch Richtung abfragen wenn man zB: Westen,Osten,Norden,Süden aussteuert
$continue2 = 0;
if ($richtung <> "") {
if ($richtung == $richtunga) {
$continue2 = 1;
}
}
else {
$continue2 = 1;
}
print_r("Continue1: $continue1 \n");
print_r("Continue2: $continue2 \n");
if ($continue1 == 1 && $continue2 == 1) {
//Ab hier jetzt die tatsächlichen Aktionen je Typ
switch ($typ) {
case "Rollladen" :
if ($aktion == "runter") {
if (preg_match("/Sekunden|Sek/i", $detail) == true) {
$zahlms = $zahl * 1000;
$tsay .= " $aussprache $zahl Sekunden nach unten bewegt worden!"; //hier vorher, mehr als 30sekunden zu Abbruch
$techstatus = SC_MoveDown($variablea,$zahlms);
} else {
$techstatus = SC_MoveDown($variablea,0);
$tsay .= " $aussprache jetzt unten";
}
}
if ($aktion == "rauf") {
if (preg_match("/Sekunden|Sek/i", $detail) == true) {
$zahlms = $zahl * 1000;
$tsay .= " $aussprache $zahl Sekunden nach oben bewegt worden!";
$techstatus = SC_MoveUp($variablea,$zahlms);
} else {
$techstatus = SC_MoveUp($variablea,0);
$tsay .= " $aussprache jetzt oben";
}
}
break;
case (preg_match("/Licht|Fernseher|Computer|AVReceiver|SATReceiver|Kino|Anwesenheit/i", $typ) ? true : false ) :
if ($aktion == "schalte") { //egal ob aus oder ein, einfach Befehl
if (GetValueBoolean($variablea) == false) {
$techstatus = SetValueUniversal($variablea,true);
$tsay .= " $aussprache jetzt an";
print_r("Schalter: schalte an");
} else {
$techstatus = SetValueUniversal($variablea,false);
$tsay .= " $aussprache jetzt aus";
print_r("Schalter: schalte aus");
}
}
if ($aktion == "ein") { //einschalten
if (GetValueBoolean($variablea) == false) {
$techstatus = SetValueUniversal($variablea,true);
$tsay .= " $aussprache jetzt an";
print_r("Schalter: schalte an");
} else {
$tsay .= " $aussprache bereits an";
print_r("Schalter: bereis an");
}
}
if ($aktion == "aus") { //ausschalten
if (GetValueBoolean($variablea) == false) {
$tsay .= " $aussprache bereits aus";
print_r("Schalter: bereits aus");
} else {
$techstatus = SetValueUniversal($variablea,false);
$tsay .= " $aussprache jetzt aus";
print_r("Schalter: schalte aus");
}
}
if ($aktion == "frage") { //Status ausgeben
if (GetValueBoolean($variablea) == false) {
$tsay .= " $aussprache aus";
print_r("Frage: aus");
} else {
$tsay .= " $aussprache an";
print_r("Frage: ein");
}
}
break;
case "Temperatur" :
$temperatur = GetValueFloat($variablea);
$aussprache = str_replace("[wurde|beträgt]","beträgt",$aussprache);
$tsay .= " $aussprache $temperatur Grad";
break;
case (preg_match("/Wind/i", $typ) ? true : false ) :
$wind = GetValueFloat($variablea);
$tsay .= " $aussprache $wind Kilometer pro Stunde";
break;
case "Luftfeuchtigkeit" :
$luftfeuchtigkeit = GetValueInteger($variablea);
$tsay .= " $aussprache $luftfeuchtigkeit Prozent";
break;
case "Helligkeit" :
$helligkeit = GetValueInteger($variablea);
$tsay .= " $aussprache $helligkeit Lux";
break;
case "Regen" :
$regen = GetValueFloat($variablea);
$tsay .= " $aussprache $regen Millimeter";
break;
case "Batterie" :
$batterie = GetValueFormatted($variablea);
$tsay .= " $aussprache $batterie ";
break;
case "Wetter" :
$wetter = GetValue($variablea);
$wetter = strip_tags($wetter);
$wetter = mb_convert_encoding($wetter, "ISO-8859-2", "UTF-8");
$tsay .= " $aussprache $wetter";
break;
case "Uhrzeit" :
$uhrzeit = date("H")." Uhr ".(int)date("i");
$tsay .= " $aussprache $uhrzeit";
break;
}
}
}
}
}
}
}
}
if ($tsay == "") {
$tsay = "Der Befehl konnte von mir nicht ausgewertet werden";
}
if ($techstatus == false) {
$tsay = "Wegen eines technischen Problems konnte der Befehl nicht ausgeführt werden";
}
//Setzen androidSend
SetValueString($outputid, "$tsay");
$SkriptLaufzeit = microtime(true) - $SkriptStart;
print_r("\n------------------Output------------------\n");
print_r("$tsay\n");
print_r("Script Laufzeit $SkriptLaufzeit Sekunden\n");
print_r("------------------------------------------\n");
//f.) Offene Themen
//f1.) Prozent Angaben für öffnen /schließen usw.. aus IPSShadowing Logik?
//f2.) Wie bekommt IPSShadowing den veränderten Status mit bei Rollladen schließen über Shutter Modul???
//f3.) Licht RGB und dimmen und über schalter wie implementieren in dieser Logik?
function SetValueUniversal($VariableID, $Value) {
// Prüfe ob Variable direkt beschreibbar ist (nicht ReadOnly)
if(IPS_GetObject($VariableID)['ObjectIsReadOnly'] === false) {
// Variable kann direkt gesetzt werden
// Den Typ 0=Boolean, 1=Integer, 2=Float, 3=String
return SetValue($VariableID, $Value);
} else {
// Variable ist eine Status Variable. Suche übergeordnete Instanz zum Beschreiben
$ParentID = IPS_GetObject($VariableID)['ParentID'];
// Den Namen des Ident der Variablen z.B. STATE
$ObjectIdent = IPS_GetObject($VariableID)['ObjectIdent'];
// Den Typ 0=Boolean, 1=Integer, 2=Float, 3=String
$VariableType = IPS_GetVariable($VariableID)['VariableValue']['ValueType'];
// Den Modul Type (siehe http://www.ip-symcon.de/service/dokumentation/befehlsreferenz/modulverwaltung/ips-getmoduleList/)
$ModuleType = GetModuleType($ParentID);
switch($ModuleType) {
case "HomeMatic Device":
if($VariableType == 0) return HM_WriteValueBoolean($ParentID, $ObjectIdent, $Value);
if($VariableType == 1) return HM_WriteValueInteger($ParentID, $ObjectIdent, $Value);
if($VariableType == 2) return HM_WriteValueFloat($ParentID, $ObjectIdent, $Value);
if($VariableType == 3) return HM_WriteValueString($ParentID, $ObjectIdent, $Value);
break;
case "FS20":
// ....
// ...
break;
case "xComfort Switch":
if($VariableType == 0) return MXC_SwitchMode($ParentID, $Value);
break;
case "LCN Unit":
if($VariableType == 0) return LCN_SwitchRelay($ParentID, $Value);
break;
case "Alle meine genutzten Hardwaretypen":
// ...
// ..
default:
// Modul nicht gefunden oder unterstüzt
return false;
}
}
}
function GetModuleType($ObjectID) {
foreach(IPS_GetModuleList() as $guid) {
$module = IPS_GetModule($guid)['ModuleName'];
if(in_array($ObjectID, IPS_GetInstanceListByModuleID($guid))) {
return $module;
}
}
return "";
}
?>
Der IP Symcon Fernzugriff muss aktiviert werden. Hilfreiche Anleitung: