Willkommen im Deutschen Shop

    Alarm Server Funktion

    Sie können die Funktion des Alarm Servers benutzen um eine HTTP Anfrage an einen Server zu senden. Der Server benötigt eine kompatible Software die den Befehl versteht und so eine weitere Aktion auslösen kann. Diese Funktion ist sehr verbreitet bei Haus Alarmanlagen und Hausautomationen. Sie können der HTTP Anfrage benutzerdefinierte Befehle mitschicken um so in der empfangenden Software ein spezielles Event auszulösen.


    Einen Alarm Server hinzufügen

    Öffnen Sie das Webinterface Ihrer (VGA!) Kamera und navigieren Sie zum Menüpunkt Alarm / Alarm Server. Tragen Sie die Adresse Ihres Alarmservers ein und aktivieren Sie die Funktion. Bitte verwenden Sie den HTTP Präfix wenn Sie eine IP Adresse eingeben - z.B. http://192.168.1.66.

    Alarmserver - Hinzufügen eines Alarm Servers
    Tragen Sie Ihre Serveradresse ein mit dem http:// Präfix.



    Software

    Die Alarmserver Funktion kann mit einem Alarmsystem oder einer Hausautomation wie z.B. dem Open Source Projekt FHEM genutzt werden. Da diese Hausautomationssysteme leider LEERZEICHEN in den URLs verwenden, kann es etwas komplizierter werden Ihre Kamera entsprechend einzustellen das diese mit der Software kommunizieren kann. Während wir diesen Artikel schreiben testen wir bereits eine neue Weboberfläche (WebUI) für Ihre VGA Kamera, die eine Lösung für das Kommunikationsproblem bietet. Die folgende Anleitung wird Ihnen aufzeigen wie Sie prüfen können ob die Kamera den Befehl richtig sendet damit Ihre Software den Befehl richtig versehen kann.


    Alarmserver - Home Automation
    Hausautomationssysteme wie FHEM benutzen LEERZEICHEN in den URLs welche als %20 encodiert werden müssen.


    Sie müssen ein sogenanntes URL encoding verwenden um LEERZEICHEN in Ihrer Webadresse richtig zu übergeben. Ein Beispiel dafür ist der "set alarm on" Befehl bei einem FHEM Hausautomationssystem um so einen Alarm auszulösen. Dieser wird encodiert in set%20alarm%20on für die Kamera. Der empfangende FHEM Server wird dann das LEERZEICHEN mit %20 decodieren. Wenn z.B. Ihr (FHEM) Alarmserver die lokale IP Adresse 192.168.1.66 besitzt, dann muss die Serveradresse die SIe in Ihrer Kamera eintragen wie folgt aussehen um so entsprechend ein Alarmevent auszulösen

    http://192.168.1.66/fhem?cmd=set%20alarm%20on

    (die maximale Länge der URL beträgt 128 Zeichen)

    Sie können prüfen ob der Befehl richtig in der Kamera abgespeichert wurde indem Sie die Konfiguration der Kamera auslesen mit dem Befehl http://192.168.1.230/get_params.cgi (wobei 192.168.1.230 ersetzt werden muss mit der IP Adresse Ihrer IP Kamera. Sie werden aufgefordert sich mit dem Administrator Benutzer Ihrer Kamera anzumelden, sofern Sie nicht bereits angemeldet sind. Gehen Sie ans Ende der Parameterliste und suchen Sie nach der Variablen alarm_http_url.

    Alarmserver - Hausautomation
    Sie können prüfen ob die Adresse des Alarm Servers sowie der FHEM Befehl richtig abgespeichert wurden indem Sie die Konfiguration der Kamera per CGI Befehl get_params.cgi auslesen.


    Alarmserver - Hausautomation
    Die Serveradresse muss mit %20 encodiert werden.


    Alarmserver - Hausautomation
    Jedesmal wenn innerhalb der Kamera ein Alarmevent ausgelöst wird, wird eine HTTP Anfrage an das Hausautomationssystem gesendet und die von Ihnen festgelegte Aktion ausgeführt.



    Fehlerbehebung

    Was ist zu tuen wenn Ihre Kamera den Befehl mit der %20 URL nicht encodiert?

    Wie bereits oben erwähnt, nutzen Sie ggbf. bereits eine Weboberfläche (WebUI) in der der Befehl richtig encodiert wird - in diesem Fall können Sie diesen Schritt überspringen. Wir zeigen Ihnen im folgenden einen kleinen Trick um das encoding richtig zu nutzen.

    Alarmserver - Hausautomation
    Was ist zu tuen wenn der CGI Befehl get_params.cgi in der Kamera mit LEERZEICHEN abgespeichert wird anstatt mit der %20 Encodierung?.


    Alarmserver - Hausautomation
    Ihre Kamera sendet jetzt jedesmal die HTTP Anfrage welche jedoch beim LEERZEICHEN abgeschnitten wird - was den Befehl somit nutzlos macht.


    Wir können diese Misslage beheben indem wir das automatische URL encoden die korrekte URL erzeugen lassen. Dies kann erfolgen indem wir das % Zeichen encodieren in %25. Die Serveradresse würde somit lauten:

    http://192.168.1.66/fhem?cmd=set%2520alarm%2520on


    Das automatische endcodieren wird somit die richtige Adresse erzeugen sobald Sie den Befehl absenden:

    http://192.168.1.66/fhem?cmd=set%20alarm%20on


    Alarmserver - Home Automation
    Um dies zu vermeiden, encodieren Sie das LEERZEICHEN mit %2520 anstatt %20.


    Stellen Sie sicher das Sie nicht versehentlich doppelt Bestätigen drücken - dies würde dazu führen das %20 verschwindet und wieder durch ein LEERZEICHEN ersetzt wird. Sie können die Einstellungen überprüfen indem Sie den CGI Befehl get_params.cgi ausführen im Webbrowser.



    Verwandte Themen