Hallo Community,
Ich hatte da am WE eine Idee:
Wie wäre es wenn man mit den billigen USB-Sticks die ich Unnötig zuhause rumliegen habe was nützliches macht
Ich bin ständig meine Schlüssel am suchen, und bekomme mir das nicht anerzogen, diesen an den selben Platz zu legen.
Da habe ich mir gedacht, wenn man sich mit nem USB-Stick doch am Hause anmelden könnte, würde ein USB-Stick am Schlüsselbund alle Probleme lösen.
Bischen probiert IPS liefert alles was man brauch.
Zur Vorbereitung muss man den USB einen Laufwerksbuchstaben (im beispiel Y: ) zuweisen
und eine Datei (ich habe ne TXT genommen) mit Irgendeinem Namen versehen.
dann über mein Schaltererstellprogramm einen Schalter erstellen (muss nur ausgeführt werden)
<?
$ScriptNAME = 'ausloeser';
$name = 'Schalter';
$Schalter = IPS_CreateVariable(0);
IPS_SetVariableCustomProfile($Schalter, "~Switch");
IPS_SetParent($Schalter, $IPS_SELF);
IPS_SetName($Schalter, "$name");
//****************************************************************************
$ScriptTEXT1 =
'<?
$schalter = ';
$ScriptTEXT2 =
'
;
$status = getValueBoolean ($schalter);
if ($status == True)
{
SetValueBoolean($schalter, false);
}
else
{
SetValueBoolean($schalter , true);
}
?>';
//****************************************************************************
$ScriptID = IPS_CreateScript(0);
IPS_SetName($ScriptID, $ScriptNAME);
IPS_SetParent($ScriptID, $Schalter);
IPS_SetInfo($ScriptID, "This script was created by: #$IPS_SELF#");
$fh = fopen(IPS_GetKernelDir()."scripts\\".$ScriptID.".ips.php", 'w') or die("can't open file");
fwrite($fh, $ScriptTEXT1);
fwrite($fh, $Schalter);
fwrite($fh, $ScriptTEXT2);
fclose($fh);
$ScriptPath = $ScriptID.".ips.php"; //Skriptdatei
IPS_SetScriptFile($ScriptID, $ScriptPath);
IPS_SetHidden($ScriptID, true);
IPS_SetVariableCustomAction($Schalter, $ScriptID);
?>
und das Skript, auslöser, hiermit füllen
<?
$schalter = 33740 /*[IPS-Neu\Anwesenheit\Name Anmeldung]*/;//Orginal aus auslöser beibehalten
$status = getValueBoolean ($schalter);
$filename = "Y:\Name.txt";//der dateiname auf dem USB so wie der feste Laufwerksbuchstabe
if (is_file($filename))
{
SetValueBoolean($schalter , true);
}
else
{
SetValueBoolean($schalter , False);
}
?>
Skript habe ich mit ereignis, alle 5 sec ausführen, vesehen
Jetzt kann man noch über TTS eine Sprachausgabe im seperatem Skript schreiben und diese via ereignis mit dem Schalter Verknüpfen.
Bei mir sieht das so aus:
Haustüre geht auf,
es wird Überprüft ob jemand zuhause ist, (anhand der Schalter)
keiner da,
also wird aufgefordert sich anzumelden!
USB an einen dafür vorgesehenen Port,
danke für die anmeldung!
USB stick wird abgezogen,
Aufwiedersehen Peter!
Haustüre geht auf,
geht zu,
alle Stromgeräte werden abgeschaltet. Alarm Scharf.
viel Spaß damit.
und vieleicht hat ja jemand noch ne Idee dieses zu erweitern
z.b. mit ner Playliste für persönliches Ambiente für Sauna und Bad
MFG
Peter W.