So meine Alarmanlage ist fertig, nur ein paar Feinheiten noch ausbügeln
Hoffe es noch jemand da der mir helfen kann und danke an alle die mir am Anfang geholfen haben
Mein System funktioniert so :
- script wird gestartet wenn Tür oder Fenster Kontakt auf „true“ (also auf) schaltet.
Fenster löst sofort Alarm aus , Tür mit 20sec verzögerung (wieder eigenes script)siehe unten script 2.
<?
$melderEssZ = getvalue (43584 /*[Homematic Instanzen\Melder EssZimmer Fenster\Status]*/);
$melderschlafZ = getvalue (49025 /*[Homematic Instanzen\Melder Schlafzimmer Fenster\Status]*/);
$schiebetuer = getvalue (59327 /*[Homematic Instanzen\Melder SchiebeTür\Satus]*/);
$haustuer = getvalue (53731 /*[Homematic Instanzen\Melder Haustür\Status]*/);
$Badsensor = getvalue(36286 /*[Homematic Instanzen\Melder Bad Fenster\Status]*/);
$WCsensor = getvalue(31150 /*[Homematic Instanzen\Melder WC Fenster\Status]*/);
$garage = getvalue (59301 /*[Homematic Instanzen\Melder Garage\Garage]*/);
$alarmbed = getvalueinteger (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
$turtechnik = getvalue (11880 /*[Homematic Instanzen\Melder Garage/Technik\Status]*/);
$datum = date ("D - d.M.Y");
$zeit = date ("H:i");
$subject = "Alarmanlage am $datum um $zeit";
$textbad = "Badfenster geöffnet";
$textwc = "Wc Fensfer geöffnet";
$textga = "Garage Geöffnet";
$texttur = "Tür Technickraum/Garage geöffnet";
$textschiebtur = "SchiebeTür Terrasse geöffnet";
$textesszim = "Esszimmer Fenster geöffnet";
$texthaustuer = "HausTür geöffnet";
$textschlafZ = "Schlafzimmer Fenster geöffnet";
$imfile = "C:\IP-Symcon\media\FTP-Cam\cam.jpg";
$code = getvaluestring (28658 /*[Sicherheit\Keypad\Code]*/);
$codeeingabefeld = getvaluestring (55717 /*[Sicherheit\Keypad\Alarmanlage Code]*/);
//echo "$subject";
// Alarm scharf + jeweiliger sensor
if ($alarmbed == 0 and $Badsensor ) // 0 = alarmanlage scharf
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textbad,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textbad,$imfile);
}
if ($alarmbed == 0 and $WCsensor )
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textwc,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textwc,$imfile);
}
if ($alarmbed == 0 and $garage )
{
IPS_RunScript(21030 /*[Sicherheit\Alarmanlage\Garagentorscript]*/);
}
if ($alarmbed == 0 and $turtechnik )
{
IPS_RunScript(27945 /*[Sicherheit\Alarmanlage\Alarm Auslösen bei Türen]*/);
}
if ($alarmbed == 0 and $melderEssZ ) // 0 = alarmanlage scharf
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textesszim,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textesszim,$imfile);
}
if ($alarmbed == 0 and $melderschlafZ ) // 0 = alarmanlage scharf
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textschlafZ,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textschlafZ,$imfile);
}
if ($alarmbed == 0 and $schiebetuer ) // 0 = alarmanlage scharf
{
IPS_RunScript(27945 /*[Sicherheit\Alarmanlage\Alarm Auslösen bei Türen]*/);
}
if ($alarmbed == 0 and $haustuer ) // 0 = alarmanlage scharf
{
IPS_RunScript(27945 /*[Sicherheit\Alarmanlage\Alarm Auslösen bei Türen]*/);
}
// Alarm EIN + jeweiliger sensor OHNE Garage
if ($alarmbed == 1 and $Badsensor ) // 1 = alarmanlage Ein
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textbad,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textbad,$imfile);
}
if ($alarmbed == 1 and $WCsensor )
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textwc,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textwc,$imfile);
}
if ($alarmbed == 1 and $turtechnik )
{
IPS_RunScript(27945 /*[Sicherheit\Alarmanlage\Alarm Auslösen bei Türen]*/);
}
if ($alarmbed == 1 and $melderEssZ ) // 1 = alarmanlage Ein
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textesszim,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textesszim,$imfile);
}
if ($alarmbed == 1 and $melderschlafZ ) // 1 = alarmanlage Ein
{setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$textschlafZ,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$textschlafZ,$imfile);
}
if ($alarmbed == 1 and $schiebetuer ) // 1 = alarmanlage Ein
{
IPS_RunScript(27945 /*[Sicherheit\Alarmanlage\Alarm Auslösen bei Türen]*/);
}
if ($alarmbed == 1 and $haustuer ) // 1 = alarmanlage Ein
{
IPS_RunScript(27945 /*[Sicherheit\Alarmanlage\Alarm Auslösen bei Türen]*/);
}
if ($alarmbed == 2) // 2=alarmanlage Aus
{echo "Alarmanlage AUS";}
?>
Ich schätze mal es ist sehr Umständlich aber es funktioniert
- Beim Öffnen einer Tür startet dieses durch IPS_RunScript
<?
$zurgarage = "C:\IP-Symcon\media\WAV Dateien\zürgarageoffen.wav";
$Biep1xa = "C:\IP-Symcon\media\WAV Dateien\alarm04.wav";
$Biep1x = "C:\IP-Symcon\media\WAV Dateien\alarm02.wav";
$hausverlassen = "C:\IP-Symcon\media\WAV Dateien\hausverlassen.wav";
$klingel = "C:\IP-Symcon\media\WAV Dateien\doorbell2.wav";
$tuergeoffnet = "C:\IP-Symcon\media\WAV Dateien\Reiner Tür geöffnet.wav";
$alarmstartet = "C:\IP-Symcon\media\WAV Dateien\Reiner Alarm startet.wav";
$STruf = "C:\IP-Symcon\media\WAV Dateien\alarm15.wav";
$sirene = "C:\IP-Symcon\media\WAV Dateien\sirens_x.wav";
$nachtOK = "C:\IP-Symcon\media\WAV Dateien\NachtOK.wav";
$AlarmAUS = "C:\IP-Symcon\media\WAV Dateien\alarmAus.wav";
$AL20secscharf = "C:\IP-Symcon\media\WAV Dateien\Alarm20sec.wav";
$AL10secscharf = "C:\IP-Symcon\media\WAV Dateien\alarm10sec.wav";
$Kirchenglocke = "C:\IP-Symcon\media\WAV Dateien\alarm10.wav";
$garageoffen = "C:\IP-Symcon\media\WAV Dateien\garageoffen.wav";
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
$blinkenEin = getvalue (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/);
set_time_limit ( 0 ); // keine zeitbeschränkung
// 1. Ton
if ($alarmbed == 2)
{echo "Alarm AUS
";}
else
{ Sys_GetURLContent("http://10.0.0.51:81/decoder_control.cgi?command=31&user=admin&pwd=w4sd3b2!"); //kammera richtung eingsang drehen
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
//WFC_SwitchPage(55209 /*[Hauptwebfront]*/, "al0100"); // Code Tastatur anzeigen
//Licht Küche Ein
HM_WriteValueFloat (44591 /*[Homematic Instanzen\Küchenschalter 2]*/ , "ON_TIME", 0.3);
HM_WriteValueBoolean (44591 /*[Homematic Instanzen\Küchenschalter 2]*/, "STATE", true);
sleep (1);
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$AL20secscharf);
sleep (5);
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$imfile = "C:\IP-Symcon\media\FTP-Cam\cam.jpg"; //neues bild holen
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$AL10secscharf);
sleep (5);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmbed == 2 )
{0;}
else
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,$Biep1x);
sleep (1);
}
}
$alarmbed = getvalue (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
//$texttur = "Tür geöffnet";
$datum = date ("D - d.M.Y");
$zeit = date ("H:i");
$subject = "Alarmanlage am $datum um $zeit";
$schiebetuer = getvalue (59327 /*[Homematic Instanzen\Melder SchiebeTür\Satus]*/);
$haustuer = getvalue (53731 /*[Homematic Instanzen\Melder Haustür\Status]*/);
$turtechnik = getvalue (11880 /*[Homematic Instanzen\Melder Garage/Technik\Status]*/);
if ($schiebetuer)
{$texttur = "Schiebetür geöffnet";}
if ($haustuer)
{$texttur = "Haustür geöffnet";}
if ($turtechnik)
{$texttur = "Tür Technikraum/Garage geöffnet";}
if ($alarmbed == 2)
{echo "Alarm AUS";}
else
{
setvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/, true);
//SMTP_SendMailAttachment (25946 /*[Sicherheit\Alarmanlage\Alarm E-Mail senden an Elke]*/,$subject,$texttur,$imfile);
SMTP_SendMailAttachment (48825 /*[Sicherheit\Alarmanlage\E-Mail Alarm senden Andi]*/,$subject,$texttur,$imfile);
}
?>
3.Der Alarm wird eingeschaltet durch die Variable Alarmblinken (Boolean), bei schalten auf „Ein“ startet dieses:
<?
$alarmblinkschalter = getvalueboolean (47540 /*[Sicherheit\Alarmanlage\Alarmblinken Ein/Aus]*/);
$alarmanlage = GetValueInteger (55262 /*[Sicherheit\Alarmanlage\Alarmanlage]*/);
if ($alarmblinkschalter)
{
WAC_PlayFile (46687 /*[Sicherheit\Anwesenheitsschalter\Alarm Player]*/,"C:\IP-Symcon\media\WAV Dateien\sirens_x.wav");
HM_WriteValueFloat (22872 /*[Homematic Instanzen\Alarmsirene Außen]*/, "ON_TIME", 2);
HM_WriteValueBoolean (22872 /*[Homematic Instanzen\Alarmsirene Außen]*/, "STATE", true);
HM_WriteValueFloat (47250 /*[Homematic Instanzen\Klingel oben]*/, "ON_TIME", 2);
HM_WriteValueBoolean (47250 /*[Homematic Instanzen\Klingel oben]*/, "STATE", true);
//HM_WriteValueFloat (44591 /*[Homematic Instanzen\Küchenschalter 2]*/ , "ON_TIME", 0.3);
//HM_WriteValueBoolean (44591 /*[Homematic Instanzen\Küchenschalter 2]*/, "STATE", true);
IPS_SetScriptTimer($_IPS['SELF'], 3); // Startet das Script nach x Sekunden neu
}
?>
Alarm wird angehalten durch codeeingabe = schaltet „Alarmbliken“ auf Aus
Also meine Fragen:
Kennt sich grundsätzlich wer aus (wenn man sich so lange damit beschäftigt vergisst man die logik)
bei scipt 2 (Auslösen bei Tür öffnen) hab ich ein problem, ich mach die Tür auf - Alarm geht los - geistesblitz - ich sollte die Alarmanlage ausmache - Tür fällt zu - und springt durch Dichtung wieder auf = Alarm startet zum 2. mal und die Töne überlagert sich
bei script 3 (Alarmblinken) sollte nach 2 oder 3 min von allein still sein (Gesetzliche Vorschrift für Alarmanlagen)
Wie mach ich das, hab überhaupt keine Plan.
Wäre nett wenn mir jemand helfen könnte, für verbesserungsvorschläge bin ich natürlich auch dankbar
Andi