Ergänzung für IPCAM Wiki-Eintrag - Instar HD Kamera 8015

Begonnen von Lippie, 12 Mai 2019, 16:27:38

Vorheriges Thema - Nächstes Thema

Lippie

Hallo Zusammen,

nach einem kurzen Ausflug zur Surveillance Station (Belastet meinen NAS zu sehr) bin ich zum IPCAM - Modul gekommen.
Funktioniert hat es bereits eine ganze Weile, leider erst jetzt mit einer korrekten Parametrierung.
Dazu habe ich das Modul minimal anpassen müssen (ich benötige mehr als 15 CMDs):


define INSTAR_8015 IPCAM <CAM-IP>
attr INSTAR_8015 AlarmAreaDescription CAM Balkon,CAM Flur,CAM Kueche,CAM Wohnzimmer
attr INSTAR_8015 userattr cmd16 cmd17 cmd18 cmd19 cmd20 cmd21 cmd22 cmd23 cmd24
attr INSTAR_8015 basicauth {USERNAME}:{PASSWORD}
attr INSTAR_8015 cmd01 cmd=setinfrared&-infraredstat=auto
attr INSTAR_8015 cmd02 cmd=setinfrared&-infraredstat=close
attr INSTAR_8015 cmd03 cmd=setinfrared&-infraredstat=open
attr INSTAR_8015 cmd04 cmd=setmdalarm&-aname=ftprec&-switch=on
attr INSTAR_8015 cmd05 cmd=setmdalarm&-aname=ftprec&-switch=off
attr INSTAR_8015 cmd06 cmd=setplanrecattr&-planrec_enable=0
attr INSTAR_8015 cmd07 cmd=setplanrecattr&-planrec_enable=1
attr INSTAR_8015 cmd08 cmd=setplanrecattr&-planrec_chn=11
attr INSTAR_8015 cmd09 cmd=setplanrecattr&-planrec_chn=12
attr INSTAR_8015 cmd10 cmd=manualrec&-act=on
attr INSTAR_8015 cmd11 cmd=manualrec&-act=off
attr INSTAR_8015 cmd12 cmd=set_instar_admin&-index=44&-value=60
attr INSTAR_8015 cmd13 cmd=set_instar_admin&-index=44&-value=3600
attr INSTAR_8015 cmd14 cmd=setioattr&-io_enable=0&-io_flag=0
attr INSTAR_8015 cmd15 cmd=setioattr&-io_enable=1&-io_flag=0
attr INSTAR_8015 cmd16 cmd=sdfrmt
attr INSTAR_8015 cmd17 cmd=set_instar_admin&-index=44&-value=0
attr INSTAR_8015 cmd18 cmd=preset&-act=goto&-number=0
attr INSTAR_8015 cmd19 cmd=preset&-act=goto&-number=1
attr INSTAR_8015 cmd20 cmd=preset&-act=goto&-number=2
attr INSTAR_8015 cmd21 cmd=preset&-act=goto&-number=3
attr INSTAR_8015 cmd22 cmd=preset&-act=goto&-number=4
attr INSTAR_8015 cmd23 cmd=ptzctrl&-step=0&-act=hscan
attr INSTAR_8015 cmd24 cmd=ptzctrl&-step=0&-act=vscan
attr INSTAR_8015 cmdPanLeft -act=left
attr INSTAR_8015 cmdPanRight -act=right
attr INSTAR_8015 cmdPos15 -act=stop
attr INSTAR_8015 cmdTiltDown -act=down
attr INSTAR_8015 cmdTiltUp -act=up
attr INSTAR_8015 credentials /volume1/FHEM/CAM/ipcam.conf
attr INSTAR_8015 eventMap /pos 15:MOVE-STOP/pan left:MOVE-LEFT/pan right:MOVE-RIGHT/tilt up:MOVE-UP/tilt down:MOVE-DOWN/cmd 1:IR-LED-auto/cmd 2:IR-LED-off/cmd 3:IR-LED-on/cmd 4:FTP-rec-on/cmd 5:FTP-rec-off/cmd 6:REC-SD-DISABLE/cmd 7:REC-SD-ENABLE/cmd 8:REC-SD-QUAL-HIGH/cmd 9:REC-SD-QUAL-MID/cmd 10:MAN-REC-Start/cmd 11:MAN-REC-Stop/cmd 12:MAN-REC-SplitTime-1min/cmd 13:MAN-REC-SplitTime-1hour/cmd 14:ALARM-IO-DISABLE/cmd 15:ALARM-IO-ENABLE/cmd 16:FORMAT-SD-CARD/cmd 17:MAN-REC-Split-off/cmd 18:POS-WZ/cmd 19:POS-Balkon/cmd 20:POS-Flur/cmd 21:POS-Park/cmd 22:POS-Kueche/cmd 23:SCAN-H/cmd 24:SCAN-V/
attr INSTAR_8015 pathCmd param.cgi
attr INSTAR_8015 pathPanTilt ptzctrl.cgi?-step=
attr INSTAR_8015 scheme https
attr INSTAR_8015 stateFormat LastLogEntry
attr INSTAR_8015 storage /volume1/FHEM/CAM/snapshots
attr INSTAR_8015 webCmd POS-WZ:POS-Flur:POS-Kueche:POS-Balkon:POS-Park


Die Integration eines Streames/Snapshots geht mittels weblink:

Stream:
iframe http://<CAM-IP>/mjpegstream.cgi?-chn=11&-usr=<User>&-pwd=<Passwort>

Snapshot:
htmlCode <p><img width="640" height="360" src="http://<CAM-IP>/tmpfs/snap.jpg?user=<User>&pwd=<Passwort>"></p>

Die aktuellen Parameter der CAM rufe ich regelmäßig per at-Modul ab.

Den Alarmserver der CAM kann man ebenfalls nutzen (Ich habe hierfür in FHEM eine Web-Konfig mit festem fwcsrf-code parametriert):








Alarmserveradresse:FHEM-IP
Serverport: FHEM-Port
Serverpfad: /fhem
Parameter1: fwcsrffwcsrf-code
Parameter2: cmdset INSTAR_8015 AlarmServer alarm
Alarmauslöser anhängen: aktivieren

Hierfür habe ich ein notify angelegt:

INSTAR_8015:AlarmServer.* {

my $ExtAlarmArea = ReadingsVal("INSTAR_8015","Ext_Alarm_Area","none");
my $AlarmArea    = ReadingsVal("INSTAR_8015","AlarmArea","none");

   if($AlarmArea eq "5"){
      fhem("setreading INSTAR_8015 AlarmAreaBez Bewegungsmelder $ExtAlarmArea");
   }
   if($EVTPART1 eq "alarm"){
      fhem("sleep 15;
            setreading INSTAR_8015 AlarmServer none;
            setreading INSTAR_8015 AlarmAreaBez none;
            setreading INSTAR_8015 AlarmArea 0");

   }   
}


evtl. hilft es ja noch jemanden, der sich eine INSTAR zulegt und nicht alles neu erfinden will.

Viele Grüße
Lippie

Lippie

#1
Hallo Zusammen,

ich war wieder aktiv und habe das IPCAM-Modul umgestellt auf nonblocking.
neben den Commands "cmdxy", können auch Gets "getxy" angelegt werden, die entweder einzeln oder mittels "set IPCAM getstatus" aufgerufen werden können.
Der Befehl "getstatus" wird, wenn gewollt, mit einem internen Timer, der mit disable=1 deaktiviert werden kann, regelmäßig aufgrufen.
Die Antwort der IP-Cam wird dann entweder in den Readings "getxy", entsprechend dem angelegten get-Befehl, abgelegt oder in einzelne Readings aufgelöst.
Das Auflösen der einzelnen Readings erlaubt aktuell eine Antwort wie:
var parameter1="value1";var parameter2="value2";parameter3="value3";parameter4="value4";
Bsp. für das Anlegen von get-Befehlen analog zu den cmd-Befehlen:
attr IPCAM get01 cmd=getinfrared&cmd=getplanrecattr&cmd=getnetattr
attr IPCAM pathCmd param.cgi

führt zum Aufruf von z.B.: https://user:pw@ip/param.cgi?cmd=getinfrared&cmd=getplanrecattr&cmd=getnetattr

Erarbeitet habe ich die Änderungen an meine INSTAR-HD-Cam.
Falls Interesse besteht, meine Version im Anhang. Evtl. besteht ja die Möglichkeit den Vorschlag zu übernehmen  ;D

Update: Verarbeitung eines set-Befehls, ausgelöst von der IPCAM an FHEM set <IPCAM> AlarmServer alarm&active=<AlarmAuslöser> und setzen von entsprechenden Readings inkl. neuem Attribut AlarmAreaDescription, in dem durch Komma separiert eine Zuordnung zu AlarmAuslöser-Nummern hinterlegt werden kann.

Gruß
Sebastian

willib

Bitte informiere auch den Entwickler des Moduls über deine Anpassungen. Vermutlich liest der hier nicht mit.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Lippie

Zitat von: willib am 06 Dezember 2019, 14:43:53
Bitte informiere auch den Entwickler des Moduls über deine Anpassungen. Vermutlich liest der hier nicht mit.
Danke, hab ich gemacht.

MartinD

Hallo Lippie,
Danke für das Modul!
Ich habe es heute getestet - es hat bei mir auch gut funktioniert.
Allerdings konnte ich den internen timer nur mit :

get <meine_cam> stop_update_timer

anhalten.  Die Option

set <meine_cam> getstatus disable=1

hat bei mir nicht funktioniert.

Wie kann ich  im fhem den Auslösenden Bereich abfangen?
Geht das nur über syslog der Kamera?

Gruß
Martin

ph1959de

Bitte hier nur Änderungen an der Wiki-Seite zu dem Modul diskutieren.

Technische Fragen zum Modul und seinen Funktionen bitte in den entsprechenden Forenthreads (siehe Links).
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"