Wir verwirklichen Ihre Ideen!Raum Heilbronn · info@appproject.de
AppProjectApp-Entwicklung · Smart Home · 3D-Druck
CGI

Foscam-Kameras per URL steuern

Foscam-Kameras haben mit CGI eine lokale Schnittstelle. Du steuerst sie direkt im Heimnetz per HTTP-Befehl – aus dem Browser, per curl oder aus einem Programm deiner Homematic-Zentrale. Hier findest du alle Befehle, die wir belegen konnten, sortiert nach Funktion.

Befehl für meine Foscam erzeugen

Schnittstelle
CGI (CGIProxy.fcgi), Antwort als XML
Anmeldung
Zugangsdaten in der URL
Standard
http://…:88
Funktionen
14 von 21
Stand
November 2026

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 öffnen

Alarmanlage scharf → Bewegungserkennung der Kamera einschalten

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)· CGI User Guide (ManualsLib, Rev. bis 2016-11)

curl
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)
HM-Skript
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 öffnen

Jemand ist zu Hause → Bewegungserkennung ausschalten, keine Fehlalarme

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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

Alarm oder Abwesenheit → Aufnahme starten bzw. Aufnahmeplan aktivieren

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)· CGI User Guide (ManualsLib, Rev. bis 2016-11)

curl
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)
HM-Skript
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

Anwesend → Aufnahme stoppen bzw. Aufnahmeplan deaktivieren

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Bewegungsmelder an der Einfahrt löst aus → Kamera schwenkt auf die gespeicherte Position

Laut HerstellerdokuHD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Kamera per Taster oder Programm schrittweise bewegen

Laut HerstellerdokuHD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Klingel gedrückt → aktuelles Bild abrufen und per Push oder Telegram verschicken

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)· CGI User Guide ab 1.0.2

curl
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)
HM-Skript
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

CommunityÄltere MJPEG-Kameras (FI89xx, IPCAM CGI SDK 2.1)

curl
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)
HM-Skript
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 öffnen

Nachtsicht dauerhaft einschalten

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

IR aus, z. B. hinter einer Scheibe, um Spiegelungen zu vermeiden

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Nachtsicht wieder der Kamera überlassen

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Jemand ist zu Hause → Kamera schaut weg bzw. Bild wird abgedeckt

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Alle sind weg → Kamera wieder scharf

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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

Kamera hängt → per Programm neu starten

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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 öffnen

Live-Bild in Dashboard, NAS oder Tablet einbinden

Laut HerstellerdokuHD-Kameras mit CGIProxy (FI98xx/FI99xx, C-, R-, G-Serie u. a.), HD-Schwenk-/Neigekameras (PTZ)

curl
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)
HM-Skript
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

Etwas funktioniert bei dir anders? Gib uns Bescheid – wir prüfen jede Meldung.