Ziel: Installation und Web-Einrichtung der Kamera. Anwendungsbeispiele mit Homematic.
Komponenten
Instar 9020 Aussen
(weiss/schwarz)
(weiss/schwarz)
Zentrale
Instar 8003 Innen
(weiss/schwarz)
(weiss/schwarz)
Einleitung
Nach meinem vorherigen Blogbeitrag über die Instar 9008 komm ich nun endlich zu der fahrbaren INSTAR 9020, dass Premium Modell was keine Wünsche offen lässt. Technisch unterscheidet sich die 9020 von der 9008 durch verschiedene Optimierungen wie z.B. ein 12mm Objektiv, einem Blickwinkel von 120° und 6 statt 5 Nachtsicht LED´s was eine Reichweite von bis zu 25m ermöglicht. Der größte Unterschied ist aber das die 9020 fahrbar ist. D.h. es kann durch die motorbetriebene PAN und TILT Steuerung ein Bereich von 355° horizontal und 90° vertikal überwacht werden. Der 4 fache optische Zoom rundet das Gesamtpaket ab. Die Verarbeitung der Kamera ist sehr gut. Es gibt sie wie üblich in schwarz oder weiss. Es stellt sich die Frage wozu braucht man eine fahrbare Kamera? Ich möchte hier am Ende noch auf mögliche Anwendungsbeispiele eingehen. Auch bietet INSTAR nun einen Alarmserver. Damit kann ich beim auslösen des PIR Bewegungsmelder eine Systemvariable in der Homematic CCU setzen. Wie man das macht habe ich ganz am Schluss beschrieben.
Unboxing
Netzwerkverbindung zur Kamera herstellen
Nachdem das Verbindungskabel durch die Halterung der Kamera geführt wurde kann man die Kamera mit Strom versorgen und via Netzwerkkabel mit dem Router verbinden. Das ist initial nötig um die Kamera ins eigene Netzwerk zu integrieren.
Um die Kamera WebUI aufzurufen bietet Instar das Camera Tool für Windows, Mac und Linux an. Dabei sucht das kleine Tool alle Instar Kameras im Netzwerk und zeigt diese an. Mit einem Doppelklick gelangt man dann auf die WebUI der Kamera.
Nach Ermittlung der IP Adresse kann diese im Browser eingegeben werden. Es erscheint der Instar Login Screen.
User: admin
Passwort: instar
User: admin
Passwort: instar
Nach der Einstellung der Sprache startet nun der Einrichtung Wizzard. Der Wizzard führt dann durch die wichtigsten Einstellungen der Kamera.
Portfreigabe in Fritzbox einrichten
Um auch von extern auf die Kamera zugreifen zu können bedarf es noch ein paar Einstellungen. Ein großer Vorteil von Instar ist der kostenlose DDNS Service. Bei vielen anderen Herstellern muss man sich selbst um diesen Service kümmern und muss ihn dann auch noch bezahlen. Der DDNS Service kümmert sich darum das die Kamera ausserhalb des eigenen Netzwerks aus dem Internet erreichbar ist. Weitere Infos hier. Desweiteren ist eine Portfreigabe nötig damit das alles auch funktioniert. Dazu öffnet man die WebUI der Fritzbox. Dazu kann man einfach im Browser fritz.box eingeben.
In der Fritzbox muss man dann unter "Internet -> Freigaben -> Gerät für Freigaben hinzufügen" die Kamera Port Weiterleitung einrichten.
Als erstes wählt man oben die Kamera aus. Dann muss der Button "Neue Freigabe" gedrückt werden. Ein neues Fenster öffnet sich und man kann dort "Portfreigabe" wählen mit der Anwendung HTTP und den gewünschten PORT. In meinem Beispiel PORT 93.
Über das Instar Camera Tool kann man dann den eben freigegebenen Port 93 auch in der Kamera einstellen. Das ist nötig damit die externe Verbindung auch funktioniert.
Die WebUI bietet sogar unter "Netzwerk -> Fernzugriff" einen Port Test an. Hier müssen alle Punkte grün sein, damit der externe Zugriff funktioniert.
Fazit
Was ich bei der 9008 als tolle Neuerung empfunden habe, nämlich das das Kabelbündel entfallen ist, ist bei der 9020 wieder aktuell. Alle Kabel aus der Kamera sollten aussen in einer Wasserfesten Box verstaut werden. Die Kamera kommt mit einer integrierten 16GB SD Karte und sofort einsatzbereit. Die passenden Apps gibts in den jeweiligen Stores. Der letzte und für mich spannendste Punkt ist die zur Verfügung gestellte API. Damit ist es möglich Befehle über Homematic via WebRequest an die Kamera zu senden. So sind der Fantasie keine Grenzen mehr gesetzt. Ein Anwendungsbeispiel habe ich unten in diesem Artikel beschrieben.
Anwendungsbeispiel mit Homematic
Eingangs geschrieben war die Frage: "Wozu eine fahrbare Kamera?" Die Frage lässt sich ganz einfach beantworten. In dem Moment, wo man gleich 2 oder mehr kritische Bereiche überwachen möchte die von einem zentralen Punkt ersichtlich sind kommt die 9020 zum Einsatz. Also bevor man 2 separate Kameras benötigt sollte über die 9020 nachgedacht werden. Ein Beispiel dazu.
Wenn ich bspw. 2 Seiten eines Hauses überwachen möchte, kann ich das mit der INSTAR 9020 und Homematic ganz einfach realisieren. Wie im o.g. Bild zu sehen habe ich einfach je Hausseite einen Homematic Bewegungsmelder verbaut. Dann habe ich mit der 9020 einfach 2 verschiedene Positionen angefahren und gespeichert. Da ich ja die 9020 via WebRequest steuern kann, kann ich nun beim auslösen des Bewegungsmelders 1 die Kamera nach links auf Position 1 fahren lassen und beim auslösen des Bewegungsmelders 2 nach rechts auf Position 2. Natürlich kann auch via Kommando gezoomt oder die Aufnahme gestartet werden. Ich bin begeistert von der Geschwindigkeit zwischen dem auslösen des Bewegungsmelders und der Reaktion der Kamera darauf. Natürlich kann ich das auch mit einer einfachen Routinenfahrt realisieren… aber ich will es intelligent ;-) Wie man die Webrequest Kommandos über den CuxD an die Kamera schickt habe ich hier schon mal beschrieben.
Wichtige Kommandos
Verschiedene Positionen anfahren
WriteLine("Fahre Position 1 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=0&-usr=XXX&-pwd=XXX'");
WriteLine("Fahre Position 2 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1&-usr=XXX&-pwd=XXX'");
WriteLine("Fahre Position 3 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=2&-usr=XXX&-pwd=XXX'");
WriteLine("Fahre Position 4 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=3&-usr=XXX&-pwd=XXX'");
usw…
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=0&-usr=XXX&-pwd=XXX'");
WriteLine("Fahre Position 2 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=1&-usr=XXX&-pwd=XXX'");
WriteLine("Fahre Position 3 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=2&-usr=XXX&-pwd=XXX'");
WriteLine("Fahre Position 4 an");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-number=3&-usr=XXX&-pwd=XXX'");
usw…
Nachtsicht aktivieren/deaktivieren
WriteLine("Nachtsicht aktiviert");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setinfrared&-infraredstat=open&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setinfrared&-infraredstat=open&-usr=XXX&-pwd=XXX'");
WriteLine("Nachtsicht deaktiviert");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setinfrared&-infraredstat=close&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setinfrared&-infraredstat=close&-usr=XXX&-pwd=XXX'");
PIR Sensor aktivieren/deaktivieren
WriteLine("PIR Sensor aktivieren");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setpirattr&-pir_enable=1&-name=1&-usr=XXX&-pwd=XXX'");
WriteLine("PIR Sensor deaktivieren");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setpirattr&-pir_enable=0&-name=1&-usr=XXX&-pwd=XXX'")
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setpirattr&-pir_enable=1&-name=1&-usr=XXX&-pwd=XXX'");
WriteLine("PIR Sensor deaktivieren");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setpirattr&-pir_enable=0&-name=1&-usr=XXX&-pwd=XXX'")
Alarmbereiche scharf schalten
WriteLine("Bewegungsbereich 1, 2, 3 und 4 scharf");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=1&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=2&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=3&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=4&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=1&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=2&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=3&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-name=4&-usr=XXX&-pwd=XXX'");
Alarmbereiche unscharf schalten
WriteLine("Bewegungsbereich 1, 2, 3 und 4 unscharf");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=1&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=2&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=3&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=4&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=1&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=2&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=3&-usr=XXX&-pwd=XXX'");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://XXX/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=0&-name=4&-usr=XXX&-pwd=XXX'");
Es ist möglich jedes Feature mit einem Kommando zu steuern. Eine komplette Übersicht aller Befehle findet man hier.
Logic
Wenn: Alarmanlage scharf
Und: Bewegungsmelder 1 eine Bewegung erkennt
Dann: (Script) fahre Instar 9020 auf Position 1
Sonst Wenn: Alarmanlage scharf
Und: Bewegungsmelder 2 eine Bewegung erkennt
Dann: (Script) fahre Instar 9020 auf Position 2
Und: Bewegungsmelder 1 eine Bewegung erkennt
Dann: (Script) fahre Instar 9020 auf Position 1
Sonst Wenn: Alarmanlage scharf
Und: Bewegungsmelder 2 eine Bewegung erkennt
Dann: (Script) fahre Instar 9020 auf Position 2
Alarmserver mit Instar und Homematic konfigurieren
Das einrichten des Alarmservers mit Instar geht unglaublich einfach.
Als erstes erstellt man eine neue Systemvariable in der WebUI der Homematic. In meinem Beispiel nehme ich einfach einen Alarm und nenne ihn "PIR" mit den Werten "ausgelöst" und "nicht ausgelöst"
Als erstes erstellt man eine neue Systemvariable in der WebUI der Homematic. In meinem Beispiel nehme ich einfach einen Alarm und nenne ihn "PIR" mit den Werten "ausgelöst" und "nicht ausgelöst"
Nachdem die Systemvariable erstellt wurde, wechselt man in die WebUI der INSTAR und findet die Konfiguration des Alarmservers unter Alarm und Alarmserver im Menü.
http://xxx.xxx.xxx.xx:8181/alarm1.exe?Antwort=dom.GetObject("PIR").State(1)
- Als erstes muss "Alarmserver kontaktieren?" eingeschaltet werden
- Die Alarmserveradresse ist die IP Adresse der Homematic CCU
- Der Serverport ist 8181 für die CCU
- Der Serverpfad enthält den Namen der zuvor in der CCU erstellten CCU und noch ein paar Parameter. Befehl kann kopiert werden
http://xxx.xxx.xxx.xx:8181/alarm1.exe?Antwort=dom.GetObject("PIR").State(1)
Die Kameramodelle 9008 und 9020 haben einen integrierten PIR Sensor. Dieser Bewegungsmelder könnte nun auch einen Homematic Bewegungsmelder ersetzen. Somit haben wir noch was gespart ;-)
Kommentare