Gut zu wissen
- Anmeldung nur über URL-Parameter usr= und pwd= (HD-Modelle); nur GET (POST nur importConfig/fwUpgrade). Antworten als XML, <result>0</result> = Erfolg, -2 = Benutzer/Passwort falsch, -3 = Zugriff verweigert.
- Sonderzeichen im Passwort URL-kodieren (laut Doku bleiben nur A–Z, a–z, 0–9, + @ * / unkodiert).
- Rechtestufen: visitor (lesen, Snapshot), operator (PTZ, Presets), admin (Einstellungen, IR, Maske, Neustart).
Alle Hinweise (5)
- set…Config-Befehle überschreiben die komplette Konfiguration: vorher passenden get…Config-Befehl ausführen und alle Werte übernehmen.
- Sirene und Spotlight (neuere Modelle) sind im CGI User Guide nicht enthalten; keine belegten Befehle gefunden.
Bewegungserkennung an
Im Generator öffnenAlarmanlage scharf → Bewegungserkennung der Kamera einschalten
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&linkage=WERT&snapInterval=2&sensitivity=1&triggerInterval=5&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&area0=1023&area1=1023&area2=1023&area3=1023&area4=1023&area5=1023&area6=1023&area7=1023&area8=1023&area9=1023&usr=BENUTZER&pwd=PASSWORT'Admin-Recht. Vorher getMotionDetectConfig auslesen und alle Werte (linkage/schedule/area) übernehmen, nur isEnable ändern – Beispielwerte überschreiben sonst Zeitplan/Zonen. isMovAlarmEnable/isPirAlarmEnable erst in neueren Fassungen; amba-Plattform: setMotionDetectConfig1.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=1&linkage=WERT&snapInterval=2&sensitivity=1&triggerInterval=5&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&area0=1023&area1=1023&area2=1023&area3=1023&area4=1023&area5=1023&area6=1023&area7=1023&area8=1023&area9=1023&usr=BENUTZER&pwd=PASSWORT'");Quelle: manualslib.com
Bewegungserkennung aus
Im Generator öffnenJemand ist zu Hause → Bewegungserkennung ausschalten, keine Fehlalarme
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&linkage=WERT&snapInterval=2&sensitivity=1&triggerInterval=5&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&area0=1023&area1=1023&area2=1023&area3=1023&area4=1023&area5=1023&area6=1023&area7=1023&area8=1023&area9=1023&usr=BENUTZER&pwd=PASSWORT'Wie bewegung_an, nur isEnable=0; übrige Werte aus getMotionDetectConfig übernehmen.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setMotionDetectConfig&isEnable=0&linkage=WERT&snapInterval=2&sensitivity=1&triggerInterval=5&isMovAlarmEnable=1&isPirAlarmEnable=1&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&area0=1023&area1=1023&area2=1023&area3=1023&area4=1023&area5=1023&area6=1023&area7=1023&area8=1023&area9=1023&usr=BENUTZER&pwd=PASSWORT'");Quelle: manualslib.com
Aufnahme an
Im Generator öffnenAlarm oder Abwesenheit → Aufnahme starten bzw. Aufnahmeplan aktivieren
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setScheduleRecordConfig&isEnable=1&recordLevel=0&spaceFullMode=0&isEnableAudio=0&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&usr=BENUTZER&pwd=PASSWORT'Zeitplanaufnahme auf SD; scheduleN vorher mit getScheduleRecordConfig auslesen und übernehmen (je Bit eine halbe Stunde). In der älteren Jeedom-Fassung nicht enthalten.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setScheduleRecordConfig&isEnable=1&recordLevel=0&spaceFullMode=0&isEnableAudio=0&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&usr=BENUTZER&pwd=PASSWORT'");Quelle: manualslib.com
Aufnahme aus
Im Generator öffnenAnwesend → Aufnahme stoppen bzw. Aufnahmeplan deaktivieren
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setScheduleRecordConfig&isEnable=0&recordLevel=0&spaceFullMode=0&isEnableAudio=0&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&usr=BENUTZER&pwd=PASSWORT'Wie aufnahme_an mit isEnable=0; Alarmaufnahme steuert linkage Bit3 in setMotionDetectConfig.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setScheduleRecordConfig&isEnable=0&recordLevel=0&spaceFullMode=0&isEnableAudio=0&schedule0=1023&schedule1=1023&schedule2=1023&schedule3=1023&schedule4=1023&schedule5=1023&schedule6=1023&usr=BENUTZER&pwd=PASSWORT'");Quelle: manualslib.com
Position anfahren
Im Generator öffnenBewegungsmelder an der Einfahrt löst aus → Kamera schwenkt auf die gespeicherte Position
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=1&usr=BENUTZER&pwd=PASSWORT'{preset} ist der Name des Presets (nicht die Nummer); Operator-Recht.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=1&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Schwenken / Neigen
Im Generator öffnenKamera per Taster oder Programm schrittweise bewegen
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=ptzMoveUp&usr=BENUTZER&pwd=PASSWORT'Weitere: ptzMoveDown, ptzMoveLeft, ptzMoveRight, ptzMoveTopLeft, ptzMoveBottomRight usw.; Bewegung läuft bis cmd=ptzStopRun. Operator-Recht.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=ptzMoveUp&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Schnappschuss (Bild-URL)
Im Generator öffnenKlingel gedrückt → aktuelles Bild abrufen und per Push oder Telegram verschicken
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=BENUTZER&pwd=PASSWORT'Liefert das JPEG direkt; snapPicture (ohne 2) liefert nur HTML mit Bildlink. Recht: visitor.
Erwartete Antwort: JPEG-Bilddaten
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
curl -s 'http://KAMERA-IP:88/snapshot.cgi?user=BENUTZER&pwd=PASSWORT'Alte MJPEG-Modelle; laut SDK auch HTTP-Basic möglich. SDK ohne Foscam-Kennzeichnung, Fremdhost.
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/snapshot.cgi?user=BENUTZER&pwd=PASSWORT'");Quelle: cdn.hackaday.io
Nachtsicht (IR) an
Im Generator öffnenNachtsicht dauerhaft einschalten
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=openInfraLed&usr=BENUTZER&pwd=PASSWORT'Admin-Recht. Erzwingt IR-LED an; im Automatikmodus ggf. wirkungslos – vorher setInfraLedConfig&mode=1 (manuell), am Gerät prüfen.
Erwartete Antwort: ctrlResult 0
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=openInfraLed&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Nachtsicht (IR) aus
Im Generator öffnenIR aus, z. B. hinter einer Scheibe, um Spiegelungen zu vermeiden
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=closeInfraLed&usr=BENUTZER&pwd=PASSWORT'Admin-Recht. Wie ir_an: ggf. zuerst manuellen Modus setzen (mode=1).
Erwartete Antwort: ctrlResult 0
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=closeInfraLed&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Nachtsicht (IR) automatisch
Im Generator öffnenNachtsicht wieder der Kamera überlassen
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setInfraLedConfig&mode=0&usr=BENUTZER&pwd=PASSWORT'mode=0 Automatik, mode=1 manuell; Admin-Recht.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setInfraLedConfig&mode=0&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Privatsphäre-Modus an
Im Generator öffnenJemand ist zu Hause → Kamera schaut weg bzw. Bild wird abgedeckt
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setOSDMask&isEnableOSDMask=1&usr=BENUTZER&pwd=PASSWORT'Admin-Recht. Doku nennt es „OSD mask“ (Bereiche über setOsdMaskArea); entspricht der Privatzone – am Gerät prüfen. Ab Guide 1.0.5.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setOSDMask&isEnableOSDMask=1&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Privatsphäre-Modus aus
Im Generator öffnenAlle sind weg → Kamera wieder scharf
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setOSDMask&isEnableOSDMask=0&usr=BENUTZER&pwd=PASSWORT'Schaltet die Maskierung ab; Admin-Recht.
Erwartete Antwort: <result>0</result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=setOSDMask&isEnableOSDMask=0&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Neustart
Im Generator öffnenKamera hängt → per Programm neu starten
curl -s 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=rebootSystem&usr=BENUTZER&pwd=PASSWORT'Admin-Recht nötig.
Erwartete Antwort: <CGI_Result><result>0</result></CGI_Result>
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/cgi-bin/CGIProxy.fcgi?cmd=rebootSystem&usr=BENUTZER&pwd=PASSWORT'");Quelle: community.jeedom.com
Videostream (RTSP)
Im Generator öffnenLive-Bild in Dashboard, NAS oder Tablet einbinden
curl -s 'http://KAMERA-IP:88/videoMain'rtsp://{user}:{pass}@{ip}:{port}/videoMain (Substream /videoSub, nur Ton /audio). RTSP-Port meist = HTTP-Port 88; Port 554 bei C1, C1 V3, C1 Lite, C1 Lite V3, FI9800P, FI9800P V3, FI9803P V2/V4, FI9816P, FI9816P V3, FI9821EP V2, FI9821P V3, FI9826P V3, FI9831P V3, FI9851P V3, FI9853EP V2.
Als Homematic-Skript (CCU3/OpenCCU)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://KAMERA-IP:88/videoMain'");Quelle: foscam.com
Modellreihen
- HD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.)FI98, FI99, C1, C2, R2, R4, G4
- HD-Schwenk-/Neigekameras (PTZ)FI9821, FI9826, FI9828, R2, R4
- Ältere MJPEG-Kameras (FI89xx, IPCAM CGI SDK 2.1)FI89, FI8
Häufige Fragen
Wie melde ich mich bei Foscam-Befehlen an?
Foscam nutzt Zugangsdaten in der URL. Im Generator wird die passende Anmeldung automatisch in den curl- und CCU-Befehl eingebaut.
Funktionieren die Befehle mit jedem Foscam-Modell?
Nicht immer. Je Befehl steht dabei, für welche Modellreihe und Firmware er dokumentiert ist. Im Zweifel den Befehl einmal im Browser oder per curl testen und die Antwort der Kamera prüfen.
Quellen
- Foscam IPCamera CGI User Guide (Kopie, Jeedom, ältere Fassung)
- Foscam CGI User Manual (ManualsLib, Rev. bis 2016-11)
- Foscam FAQ: RTSP-Stream
- IPCAM CGI SDK 2.1 (ältere MJPEG-Modelle, Fremdhost)
Etwas funktioniert bei dir anders? Gib uns Bescheid – wir prüfen jede Meldung.