Alarmtriggerung durch W&T WebIO

Hallo,

Ich möchte, wenn jemand an meiner Haustür klingelt, eine Foto durch meine WebCam schießen und speichern.
Bislang registriere ich das Betätigen der Türklingel über mein WebIO. In IPS frage ich sekündlich den INPUT des WebIO ab und trigger im positiven Fall eine Script, dass den Rest erledigt. Funktioniert auch soweit so gut. Das ganz hat aber zwei Probleme: Zum einen muß ich den WebIO rel. engmaschig aktiv abfragen… Größeres Problem ist aber, das zwischen dem Klingel und dem Speichern des Fotos eine z.T. unerwünscht lange Latenz ist.

Meine Frage: Das WebIO hat eine Alarmfunktion: Es kann bei entsprechendem Ereigniss via Mail,Syslog, SNMP, TCP, UDP, o.a. einen Alarm absetzen. Damit kenne ich mich bislang leider nicht aus. Kann ich das irgendwie nutzen, um schneller ein Script in IPS zu triggern (via Register Var o.ä. ?).

Gruß
hardlog

Noch mal nachgehakt, da ich es nicht zu laufen bekommen:

hat bislang keiner von euch Erfahrung mit der Alarmtriggerfunktion des WebIO?

hardlog

Doch, das funktioniert bei mir sehr gut. Ich habe z.B. folgendes gemacht.

Im Web-IO z.B. unter Config >> Device >> Alarm >> Alarm 1 >> TCP folgendes eingetragen:

Server-IP: z.B. 192.168.0.77 (IP-Symcon IP)
Port: 8000 (frei gewählt)
TCP Text : {Tor ist auf}
Alarm Clear Text : {Tor ist auf clear}

unter Config >> Device >> Alarm >> Alarm 1 eintragen
Input Trigger: Input0
Enable : TCP Client enable

In IP-Symcon unter I/O-Instanzen einen Serversocket mit dem Port 8000 angelegen. Ggf. muss du den Port in der Firewall noch freischalten. Dann noch unter Splitter-Instanzen eine Cutter-Instanz angelegen mit dem Serversocket als übergeordnete Instanz. Nun noch als linkes Trennzeichen „{“ und als rechtes Trennzeichen „}“ eintragen. Anschließend noch eine Register Varable anlegen mit dem Cutter als übergeordnete Einheit und deinem Auswertescript als Target. Dort wertest du dann die Texte aus.

<?

// Auswertescript für W&T Web-IO

$COM_String = $IPS_VALUE; //Übernahme des Datenstrings aus dem Registermodul!
switch ($COM_String) 
       {
    case "Tor ist auf":
        SetValueInteger(39699 /*[Fenster\Garagentor\Torzustand]*/ ,true);  // Wert zuweisen
        SetValueBoolean(48518 /*[Fenster\Garagentor\Tor]*/ ,false);  // Wert zuweisen
        break;
    case "Tor ist auf clear":
        break;
    }
?>

Ich hoffe diese kompakte Form reicht dir.

Gruß

Stefan

Tausend Dank!!

Es geht!!! Lag natürlich an der Firewall die ich vergessen hab!!

Gruß
hardlog

Gern geschehen

Es sind oft die Kleinigkeiten die einen zum verzweifeln bringen.

Gruß

Stefan