Maginon IPC-100AC IP Kamera - aktivieren mit HTML Codes

Begonnen von ArduPino, 06 Dezember 2016, 16:42:47

Vorheriges Thema - Nächstes Thema

ArduPino

Hallo !

Ich habe mir vor einiger Zeit eine Maginon IPC-100AC Kamera gekauft (Aldi).
Die Kamera kann über ein Webinterface und eine App für Android Geräte konfiguriert werden und hat, unter anderem, eine Bewegungserkennung (ok, nicht besonders zuverlässig).
Hierzu lässt sich entweder eine durchgehende Überwachung einschalten, oder es kann ein Zeitplan angelegt werden.
In Verbindung mit FHEM beides eher schlecht.
Arbeitet man mit einem Tablet und einem einfachen "scharfschalten" Button, wäre es sehr umständlich, auch noch in die App zu gehen und in der Kamera die Alarmfunktion zu aktivieren.

http://<ip>:<port>/set_alarm.cgi?motion_armed=1&user=<user>&pwd=<pass>

Lässt man FHEM diesen HTML Code senden, wird die Alarmfunktion eingeschaltet (motion_armed=1).
Und eben mit "0" wieder ausschalten. So lässt sich die Kamera gut fern steuern !

Hier noch einige andere Codes, die ich gefunden habe :

Bild anzeigen lassen, Stream nicht getestet, was <ts> ist, weiß ich nicht
http://<ip>:<port>/snapshot.cgi?user=<user>&pwd=<pass>&<ts>
http://<ip>:<port>/videostream.cgi?user=<user>&pwd=<pass>
http://<ip>:<port>/snapshot.cgi?user=<user>&pwd=<pass>

Bewegungs-Alarm aus/an
http://<ip>:<port>/set_alarm.cgi?motion_armed=0&user=<user>&pwd=<pass>
http://<ip>:<port>/set_alarm.cgi?motion_armed=1&user=<user>&pwd=<pass>

Neu starten
http://<ip>:<port>/reboot.cgi?user=<user>&pwd=<pass>


Die ganzen Einstellungen kann man auch abrufen:
http://[IP der Kamera]/get_params.cgi


Um den HTML Code aus FHEM zu senden, habe ich den Befehl GetHttpFile verwendet:

define html_aufruf notify CAM_schalter:on {GetHttpFile("192.168.xxx.xxx:xxx", "/set_alarm.cgi?motion_armed=1&user=xxxx&pwd=xxxx")}

Wird "CAM_schalter" auf "ON" gesetzt, wird der HTML Code an die Kamera gesendet. Das ganze dann noch einmal in veränderter Form für "OFF" anlegen.

Auch die Bewegung kann wohl per HTML gesteuert werden. Da ich das aber nicht brauche, habe ich das nicht notiert.
Dafür kann dann aber auch die App oder eine direkte Verbindung zur Kamera verwendet werden.

Jetzt gerade beim schreiben kommt mir schon die nächste Idee:
Die IR LED´s anschalten, wenn es dunkel wird !

Gruß

ArduPino

Auch nach längerer suche habe ich leider im Internet keine Infos zu den Infrarot LED´s gefunden.
Die zuvor genannten Werte funktionieren leider mit dieser Cam nicht (habe ich entfernt)

Durch die get_params.cgi war das aber kein Problem (im nachhinein)


http://192.168.xxx.xxx:xxxx/set_head.cgi?led=1&user=xxxx&pwd=xxxx


Mit led=1 oder led=0 können nun die IR LED´s an oder ausgeschaltet werden. Über ein DOIF das mit dem Lichtwert von twilight arbeitet dann auch automatisch !

FhemPiUser

#2
es sollte alle cgi commands der foscam gehen (siehe http://www.foscam.es/descarga/ipcam_cgi_sdk.pdf), zumindest ist das bei meiner ipd hd 25 von aldi so...

meine integeation in fhem beinhaltet:
- httpmod zum ereignisgesteuerten konfigurieren der kamera (z.b. alarm an/aus)
- ipcam um bilder aus fhem aufzunehmen
- dummy um bewegung in fhem zu registrieren (über http melden funktion der kamera wird dummy gesetzt)

ArduPino

Alle gehen davon nicht.
set_misc.cgi gibt es z.B. gar nicht.

Was ich noch eingebaut habe:
    Pos01 = /decoder_control.cgi?command=31&user=xxx&pwd=xxx
    Pos02 = /decoder_control.cgi?command=33&user=xxx&pwd=xxx
    Pos03 = /decoder_control.cgi?command=35&user=xxx&pwd=xxx
    Pos04 = /decoder_control.cgi?command=37&user=xxx&pwd=xxx


Ich lasse so feste Positionen anfahren. Das ist recht praktisch.

Alarm per HTTP push von der Kamera an FHEM hatte bei einem kurzen Test nicht funktioniert.
Da ich das aber nicht unbedingt brauche, habe ich es dabei belassen. Ich glaube ich hatte aber nur einen Tippfehler im FHEM device.
Im Tablet UI lasse ich mir noch alle 30 Sekunden das aktuelle Bild anzeigen, das aber nur, weil ich die Kamera beim deaktivieren des Alarms in eine andere Ecke schwenken lasse (falls die gehackt wird, sieht derjenige erst mal nur die Decke und müsste sie dann bewegen  ;D  Aktiviere ich die Alarmanlage, bewegt sich die Kamera z.B. auf Position 1 das erkenne ich dann auf dem Tablet und weiß das alles Ok ist.

Da ich zuerst nicht wusste, wonach ich suchen soll, hat das alles recht lange gedauert, bis ich was vernünftiges gefunden hatte...das war der Grund für diesen Beitrag.
Eine Anfrage bei Supra Elektronik brachte nicht wirklich viel, hier habe ich lediglich einen Aufruf mit "videostream.cgi" erhalten.
Eigentlich auch nicht das was ich wollte, ich wollte ja den Alarm ein oder aus schalten.
Trotzdem muss ich aber sagen, das die sich echt mühe mit Updates machen (auch wenn sie einige besser ausgelassen hätten).
Es wurden schon viele Dinge eingebaut und verbessert.

ArduPino

Zitat von: FhemPiUser am 10 Dezember 2016, 12:36:23

- dummy um bewegung in fhem zu registrieren (über http melden funktion der kamera wird dummy gesetzt)

Ich habe das mit
http://192.xxx.xxx.xx:8083/fhem?cmd=set%20du_Alarm_CAM%20on
versucht.
Die Kamera gibt das aber so nicht weiter. Kopiere ich die Adresse und füge sie in den Firefox ein, wird "du_Alarm_CAM" auf "on" gesetzt. Also funktioniert der Aufruf.
Eine Idee woran das liegen könnte ?

ArduPino

Habe nun gemerkt, das FHEM ja eine User Anmeldung haben will.
Leider funktioniert der HTTP Push von der Kamera nicht.

http://username:passwort@192.xxx.xxx.xxx:8083/fhem?cmd=set%20du_Alarm_CAM%20on

Habe hier irgend wo gelesen, das man %20 nicht braucht, man könne auch direkt mit Leerzeichen arbeiten, aber auch das geht nicht.
http://username:passwort@192.xxx.xxx.xxx:8083/fhem?cmd=set du_Alarm_CAM on

Rufe ich das so im Firefox auf, geht beides.
Blödes Ding !

FhemPiUser

du kannst unter global in deinem fhemweb device ein attr "allowfrom" setzen, um bestimmte ip adressen ohne auth freizuschalten...

ArduPino

#7
Zitat von: FhemPiUser am 18 Dezember 2016, 20:59:21
du kannst unter global in deinem fhemweb device ein attr "allowfrom" setzen, um bestimmte ip adressen ohne auth freizuschalten...

Wie müssen diese denn eingegeben werden ?
Ich habe mit Komma getrennt mehrere IP´s eingegeben, dann mit Semikolon, geht aber nicht.
Nur die Kamera eintragen reicht nicht (habe ich natürlich direkt am Anfang gemacht), so habe ich mich gerade ausgesperrt, konnte das aber über FTP und das editieren der fhem.cfg wieder rückgängig machen.

EDIT:
Gerade gefunden, ein | zum trennen verwenden ! Ob es dann mit der Kamera funktioniert, teste ich morgen...*gähn*

ArduPino

#8
Habe nun alles mögliche versucht.
Im FHEMWEB "WEB" habe ich nun 4 Adressen eingegeben.
Seltsamerweise muss ich am PC aber trotzdem einen Login durchführen.
Soll dieses "allowfrom" nicht genau das abschalten ?

Zum testen habe ich mal im "WEB" verbose =5 eingestellt.
Man sieht im Log das von der Adresse der Kamera was ankommt, aber es passiert noch immer nichts, egal ob in der Adresse die Logindaten eingetragen sind oder nicht, egal ob mit Leerzeichen oder %20.

Connection accepted from WEB_192.168.xxx.xxx_xx17

Die Links funktionieren wie gesagt von meinem PC (solange ich eingelogt bin ).
Einen Neustart von FHEM und dem Raspberry Pi3 habe ich schon gemacht.

Eine Idee was ich hier falsch mache ?

EDIT:
Habe nun das Passwort aus dem "WEBtablet" entfernt und mache das nun darüber.
Da ich für diesen Port keine Portweiterleitung eingerichtet habe, sollte das ja kein Problem sein.
Ein Test mit der Kamera hat direkt funktioniert.

FhemPiUser

#9
sorry, meine anleitung war nicht ganz eindeutig: du musst eine eigene fhemweb instanz (mit eigenem port) ohne auth einrichten und für diese die gewünschten ip adressen mit allowfrom freischalten.

ArduPino

Ach so  ;)
Na gut, das habe ich ja jetzt, sozusagen.
Aber: Die Kamera ist so was von schlecht in der Bewegungserkennung.
Hatte heute den ganzen Tag Fehlalarm, nur weil es draußen mal heller und dunkler wurde.
Empfindlichkeit hatte ich auf 5 glaube ich. Zum Glück hatte ich nur melden an FTP, und Push an die App angeschaltet.
Hab mir heute einen 5€ Bewegungsmelder bei Amaz... bestellt. Der soll auch in FHEM funktionieren.
Die Kamera lasse ich dann nur Bilder auf einen USB Stick senden, der an der FritzBox hängt und Push an die App ... mal sehen.

heikoh81

Zitat von: ArduPino am 08 Dezember 2016, 22:57:05

Durch die get_params.cgi war das aber kein Problem (im nachhinein)


http://192.168.xxx.xxx:xxxx/set_head.cgi?led=1&user=xxxx&pwd=xxxx


Mit led=1 oder led=0 können nun die IR LED´s an oder ausgeschaltet werden. Über ein DOIF das mit dem Lichtwert von twilight arbeitet dann auch automatisch !

Danke schön! Das habe ich gerade auch benötigt.
Ich habe (beim Gießen in der Dämmerung) festgestellt, dass die Kamera die LEDs ständig hörbar ein- und ausschaltet, alle 2 Sekunden.
Das geht bestimmt 10-15 Minuten so, bis es dunkler ist.
100000 Schaltzyklen des eingebauten Relais könnten da schnell erreicht sein.
Gut, läuft jetzt schon seit 3 oder 4 Jahren so und das Relais funktioniert immer noch...

So kann ich jetzt mit FHEM die LEDs einfach viel später einschalten, und vor allem erst dann, wenn meine sonstige Außenbeleuchtung bereits aus ist.

Viele Grüße,
Heiko