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

Axis-Kameras per URL steuern

Axis-Kameras haben mit VAPIX 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 Axis erzeugen

Schnittstelle
VAPIX (HTTP-CGI und JSON-APIs)
Anmeldung
Digest, Basic
Standard
http://…:80
Funktionen
17 von 21
Stand
November 2026

Gut zu wissen

  • Authentifizierung: curl --anyauth -u {user}:{pass} (so in allen VAPIX-Beispielen); AXIS OS nutzt standardmäßig Digest.
  • Rechte: Snapshot/PTZ = Viewer, Licht/Sirene/Aufnahme = Operator, Privatzonen/Apps/Neustart = Administrator. Für die CCU ein eigenes Konto mit minimal nötigen Rechten anlegen.
  • JSON-APIs (lightcontrol, siren_and_light, firmwaremanagement) per POST mit Content-Type: application/json; unterstützte Versionen via method getSupportedVersions.
Alle Hinweise (7)
  • ptz.cgi antwortet bei Erfolg mit HTTP 204, bei Fehlern mit HTTP 200 und Text „Error: …“.
  • Parameterwerte mit Leerzeichen/Sonderzeichen URL-kodieren (Preset-Namen, options=streamprofile%3DName).
  • Push und E-Mail laufen über Ereignis-/Aktionsregeln – kein einfacher URL-Schalter belegt.
  • record.cgi/stop.cgi sind veraltet und entfallen mit AXIS OS 13.

Bewegungserkennung an

Im Generator öffnen

Alarmanlage scharf → Bewegungserkennung der Kamera einschalten

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/applications/control.cgi?action=start&package=VideoMotionDetection'

Startet die VMD-App (Beispiel der VMD-2.1-Doku mit GET; Application API zeigt POST). Paketname bei neueren VMD-Versionen per list.cgi prüfen. Admin-Rechte.

Erwartete Antwort: OK

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/applications/control.cgi?action=start&package=VideoMotionDetection'");

Quelle: developer.axis.com

Bewegungserkennung aus

Im Generator öffnen

Jemand ist zu Hause → Bewegungserkennung ausschalten, keine Fehlalarme

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' -X POST 'http://KAMERA-IP/axis-cgi/applications/control.cgi?action=stop&package=VideoMotionDetection'

Stoppt die App (action=stop laut Application API); Paketname per list.cgi prüfen. Admin-Rechte.

Erwartete Antwort: OK

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' -X POST 'http://KAMERA-IP/axis-cgi/applications/control.cgi?action=stop&package=VideoMotionDetection'");

Quelle: developer.axis.com

Alarm oder Abwesenheit → Aufnahme starten bzw. Aufnahmeplan aktivieren

Laut Herstellerdokualle Modelle· AXIS OS 5.40 bis 12 (veraltet, Entfall in AXIS OS 13)

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/record/record.cgi?diskid=SD_DISK'

Startet Edge-Aufnahme auf SD-Karte; recordingid aus der Antwort für Stopp merken. Optional options=streamprofile%3DName. Rechte: Operator/Admin.

Erwartete Antwort: <record recordingid="..." result="OK" />

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/record/record.cgi?diskid=SD_DISK'");

Quelle: developer.axis.com

Anwesend → Aufnahme stoppen bzw. Aufnahmeplan deaktivieren

Laut Herstellerdokualle Modelle· AXIS OS 5.40 bis 12 (veraltet, Entfall in AXIS OS 13)

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/record/stop.cgi?recordingid=WERT'

{wert} = recordingid aus record.cgi. Dauer-Aufnahmeprofil entfernen: record/continuous/removeconfiguration.cgi?profile=N.

Erwartete Antwort: <stop recordingid="..." result="OK" />

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/record/stop.cgi?recordingid=WERT'");

Quelle: developer.axis.com

Position anfahren

Im Generator öffnen

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

Laut HerstellerdokuPTZ-Kameras (Q60/Q62/Q61, P56, M50)

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?gotoserverpresetname=1&camera=1'

Preset per Name; per Nummer: gotoserverpresetno={preset}. Leerzeichen URL-kodieren (%20).

Erwartete Antwort: HTTP 204 No Content (Fehler: 200 mit „Error:“)

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?gotoserverpresetname=1&camera=1'");

Quelle: developer.axis.com

Schwenken / Neigen

Im Generator öffnen

Kamera per Taster oder Programm schrittweise bewegen

Laut HerstellerdokuPTZ-Kameras (Q60/Q62/Q61, P56, M50)

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?move=WERT&camera=1'

{wert}: up, down, left, right, upleft, upright, downleft, downright, home, stop. Alternativ continuouspantiltmove=pan,tilt (-100..100, 0,0 = Stopp).

Erwartete Antwort: HTTP 204 No Content

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?move=WERT&camera=1'");

Quelle: developer.axis.com

Schnappschuss (Bild-URL)

Im Generator öffnen

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

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/jpg/image.cgi?resolution=1920x1080&camera=1'

Zulässige Auflösungen siehe Properties.Image.Resolution; camera Standard 1 (bei Mehrkanalgeräten auch quad).

Erwartete Antwort: JPEG-Bild

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/jpg/image.cgi?resolution=1920x1080&camera=1'");

Quelle: developer.axis.com

Nachtsicht (IR) an

Im Generator öffnen

Nachtsicht dauerhaft einschalten

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?ircutfilter=off&camera=1'

IR-Sperrfilter aus = Nachtmodus. Laut Doku produkt-/firmwareabhängig.

Erwartete Antwort: HTTP 204 No Content

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?ircutfilter=off&camera=1'");

Quelle: developer.axis.com

Nachtsicht (IR) aus

Im Generator öffnen

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

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?ircutfilter=on&camera=1'

IR-Sperrfilter an = Tagmodus. Produktabhängig.

Erwartete Antwort: HTTP 204 No Content

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?ircutfilter=on&camera=1'");

Quelle: developer.axis.com

Nachtsicht (IR) automatisch

Im Generator öffnen

Nachtsicht wieder der Kamera überlassen

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?ircutfilter=auto&camera=1'

Automatische Tag/Nacht-Umschaltung. Produktabhängig.

Erwartete Antwort: HTTP 204 No Content

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/com/ptz.cgi?ircutfilter=auto&camera=1'");

Quelle: developer.axis.com

Privatsphäre-Modus an

Im Generator öffnen

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

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/privacymask.cgi?action=enable_all'

Aktiviert alle Privatzonen (Admin); nur wenn Properties.PrivacyMask.MainSwitch=yes. Einzelne Maske über param.cgi (Image.I0.Overlay.MaskWindows.M0.Enabled).

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/privacymask.cgi?action=enable_all'");

Quelle: developer.axis.com

Privatsphäre-Modus aus

Im Generator öffnen

Alle sind weg → Kamera wieder scharf

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/privacymask.cgi?action=disable_all'

Deaktiviert alle Privatzonen (Admin); nur wenn Properties.PrivacyMask.MainSwitch=yes.

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-cgi/privacymask.cgi?action=disable_all'");

Quelle: developer.axis.com

Licht / Spotlight an

Im Generator öffnen

Bewegungsmelder im Garten → Spotlight der Kamera einschalten

Laut HerstellerdokuFeste Kameras mit IR/Weißlicht (-L/-LE/-DLE), Sirenen-/Lichtgeräte (D4100) und Geräte mit Siren-and-light-API· AXIS OS 7.40+

curl
curl -s --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary '{"apiVersion":"1.0","context":"ccu","method":"activateLight","params":{"lightID":"led0"}}' 'http://KAMERA-IP/axis-cgi/lightcontrol.cgi'

Schaltet IR- bzw. Weißlicht-LED (lightID per getLightInformation ermitteln). Deaktiviertes Licht vorher mit enableLight freigeben. Rechte: Operator/Admin.

Erwartete Antwort: "data": {}

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '{\042apiVersion\042:\0421.0\042,\042context\042:\042ccu\042,\042method\042:\042activateLight\042,\042params\042:{\042lightID\042:\042led0\042}}' | curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary @- 'http://KAMERA-IP/axis-cgi/lightcontrol.cgi'");

Quelle: developer.axis.com

Licht / Spotlight aus

Im Generator öffnen

Spotlight nach einigen Minuten wieder ausschalten

Laut HerstellerdokuFeste Kameras mit IR/Weißlicht (-L/-LE/-DLE), Sirenen-/Lichtgeräte (D4100) und Geräte mit Siren-and-light-API· AXIS OS 7.40+

curl
curl -s --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary '{"apiVersion":"1.0","context":"ccu","method":"deactivateLight","params":{"lightID":"led0"}}' 'http://KAMERA-IP/axis-cgi/lightcontrol.cgi'

Schaltet die LED ab. Rechte: Operator/Admin.

Erwartete Antwort: "data": {}

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '{\042apiVersion\042:\0421.0\042,\042context\042:\042ccu\042,\042method\042:\042deactivateLight\042,\042params\042:{\042lightID\042:\042led0\042}}' | curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary @- 'http://KAMERA-IP/axis-cgi/lightcontrol.cgi'");

Quelle: developer.axis.com

Sirene / Alarmton auslösen

Im Generator öffnen

Einbruchalarm der Homematic-Alarmanlage → Sirene der Kamera auslösen

Laut HerstellerdokuSirenen-/Lichtgeräte (D4100) und Geräte mit Siren-and-light-API

curl
curl -s --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary '{"apiVersion":"1.0","context":"ccu","method":"start","params":{"profile":"WERT"}}' 'http://KAMERA-IP/axis-cgi/siren_and_light.cgi'

Startet ein im Gerät angelegtes Profil (Name URL-/JSON-genau). Stopp: method stop mit params {"profile":"{wert}"} oder {"all":["siren","light"]}. Rechte: Operator/Admin.

Erwartete Antwort: "data"

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '{\042apiVersion\042:\0421.0\042,\042context\042:\042ccu\042,\042method\042:\042start\042,\042params\042:{\042profile\042:\042WERT\042}}' | curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary @- 'http://KAMERA-IP/axis-cgi/siren_and_light.cgi'");

Quelle: developer.axis.com

Kamera hängt → per Programm neu starten

Laut Herstellerdokualle Modelle· AXIS OS 7.40+

curl
curl -s --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary '{"apiVersion":"1.0","context":"ccu","method":"reboot"}' 'http://KAMERA-IP/axis-cgi/firmwaremanagement.cgi'

Admin-Rechte. Für ältere Firmware gibt es restart.cgi (hier nicht geprüft).

Erwartete Antwort: "method": "reboot", "data": {}

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '{\042apiVersion\042:\0421.0\042,\042context\042:\042ccu\042,\042method\042:\042reboot\042}' | curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' -X POST -H 'Content-Type: application/json' --data-binary @- 'http://KAMERA-IP/axis-cgi/firmwaremanagement.cgi'");

Quelle: developer.axis.com

Videostream (RTSP)

Im Generator öffnen

Live-Bild in Dashboard, NAS oder Tablet einbinden

Laut Herstellerdokualle Modelle

curl
curl -s --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-media/media.amp?videocodec=h264&resolution=1920x1080'

Schema rtsp://{user}:{pass}@{ip}:554/axis-media/media.amp... (RTSP-Port Standard 554); alternativ streamprofile=NAME.

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl -s -m 10 --digest -u 'BENUTZER:PASSWORT' 'http://KAMERA-IP/axis-media/media.amp?videocodec=h264&resolution=1920x1080'");

Quelle: developer.axis.com

Was per URL nicht geht

Push-Benachrichtigung an, Push-Benachrichtigung aus, E-Mail-Alarm an, E-Mail-Alarm aus – laut Dokumentation gibt es dafür keinen URL-Befehl.

Modellreihen

  • Feste Kameras (M-, P-, Q-Serie Box/Dome/Bullet)M10, M30, M20, P13, P14, P32, P33, P37, Q16, Q35, Q17
  • Feste Kameras mit IR/Weißlicht (-L/-LE/-DLE)-LE, -LV, -PLE, -DLE, P1455-LE, M2036-LE
  • PTZ-Kameras (Q60/Q62/Q61, P56, M50)Q60, Q61, Q62, Q63, P56, M50, Q86
  • Sirenen-/Lichtgeräte (D4100) und Geräte mit Siren-and-light-APID4100, D4200

Häufige Fragen

Wie melde ich mich bei Axis-Befehlen an?

Axis nutzt Digest oder Basic. Im Generator wird die passende Anmeldung automatisch in den curl- und CCU-Befehl eingebaut.

Funktionieren die Befehle mit jedem Axis-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.