API Référence
50+ commandes unifiées — MQTT, HTTP, Android Intents.
Enregistrement & Détection
8 commandes
Démarre l'enregistrement sur la caméra spécifiée.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra (0–3). Défaut : 0. |
| mode | string | non | "continuous" ou "motion". Défaut : "continuous". |
{"action": "start_recording", "camera": 0, "mode": "continuous"}Arrête l'enregistrement en cours sur la caméra spécifiée.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "stop_recording", "camera": 0}Capture une image JPEG instantanée depuis la caméra.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra. Défaut : 0. |
| quality | int | non | Qualité JPEG (0–100). Défaut : 90. |
{"action": "capture_image", "camera": 0, "quality": 90}Règle la sensibilité de détection de mouvement.
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Sensibilité de 1 (faible) à 10 (élevée). |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_motion_sensitivity", "camera": 0, "value": 5}Définit les zones d'intérêt (ROI) pour la détection de mouvement.
| Param | Type | Requis | Description |
|---|---|---|---|
| zones | array | oui | Liste de zones [{x, y, width, height}] en % de l'image. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_roi", "camera": 0, "zones": [{"x": 10, "y": 20, "width": 50, "height": 60}]}Retourne l'état actuel de la détection de mouvement.
{"action": "get_motion_state", "camera": 0}Durée d'enregistrement après la fin du mouvement détecté.
| Param | Type | Requis | Description |
|---|---|---|---|
| seconds | int | oui | Durée en secondes (0–300). |
{"action": "set_post_record_duration", "seconds": 30}Active ou désactive le mode enregistrement sur détection de mouvement.
| Param | Type | Requis | Description |
|---|---|---|---|
| enabled | boolean | oui | true pour activer, false pour désactiver. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "enable_motion_recording", "enabled": true, "camera": 0}Réseau / Stream
6 commandes
Démarre le flux RTSP via MediaMTX.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra. Défaut : 0. |
| path | string | non | Chemin RTSP. Défaut : "cam0". |
{"action": "start_rtsp_streaming", "camera": 0, "path": "cam0"}Arrête le flux RTSP.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "stop_rtsp_streaming", "camera": 0}Démarre le serveur HTTP MJPEG local.
| Param | Type | Requis | Description |
|---|---|---|---|
| port | int | non | Port HTTP. Défaut : 8080. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "start_http_streaming", "camera": 0, "port": 8080}Arrête le serveur HTTP MJPEG.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "stop_http_streaming", "camera": 0}Retourne l'état de tous les flux actifs.
{"action": "get_stream_status"}Configure la qualité du flux de prévisualisation (séparé de l'enregistrement).
| Param | Type | Requis | Description |
|---|---|---|---|
| width | int | oui | Largeur du flux en pixels. |
| height | int | oui | Hauteur du flux en pixels. |
| fps | int | non | Images par seconde. Défaut : 15. |
{"action": "set_stream_quality", "width": 640, "height": 480, "fps": 15}Encodage
7 commandes
Définit la résolution d'enregistrement.
| Param | Type | Requis | Description |
|---|---|---|---|
| width | int | oui | Largeur en pixels. |
| height | int | oui | Hauteur en pixels. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_resolution", "camera": 0, "width": 1920, "height": 1080}Définit le nombre d'images par seconde.
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | FPS : 1, 5, 10, 15, 24, 25, 30, 60. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_fps", "camera": 0, "value": 30}Définit le débit binaire d'encodage en bits/s.
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Débit en bits/s. Ex: 5000000 = 5 Mbps. |
| mode | string | non | "cbr" (constant) ou "vbr" (variable). Défaut : "cbr". |
{"action": "set_bitrate", "value": 5000000, "mode": "cbr"}Sélectionne le codec vidéo d'enregistrement.
| Param | Type | Requis | Description |
|---|---|---|---|
| codec | string | oui | "h264", "h265" ou "av1". |
{"action": "set_video_codec", "codec": "h265"}Définit le profil H.264 (seulement si codec = h264).
| Param | Type | Requis | Description |
|---|---|---|---|
| profile | string | oui | "baseline", "main" ou "high". |
{"action": "set_h264_profile", "profile": "high"}Définit la durée de segmentation automatique des fichiers vidéo.
| Param | Type | Requis | Description |
|---|---|---|---|
| minutes | int | oui | Durée en minutes par segment (0 = pas de segmentation). |
{"action": "set_segment_duration", "minutes": 30}Retourne la configuration d'encodage actuelle.
{"action": "get_encoding_status"}Capteur UVC
8 commandes
Ajuste la luminosité de la caméra UVC.
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Valeur de -64 à +64. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_brightness", "camera": 0, "value": 10}Ajuste le contraste de la caméra UVC.
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Valeur de 0 à 100. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_contrast", "camera": 0, "value": 50}Ajuste la saturation des couleurs.
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Valeur de 0 à 100. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_saturation", "camera": 0, "value": 60}Règle le gain du capteur (amplification signal).
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Valeur de 0 à 100. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_gain", "camera": 0, "value": 20}Règle le niveau de zoom optique (si supporté par la caméra).
| Param | Type | Requis | Description |
|---|---|---|---|
| value | int | oui | Valeur de 1 (min) à max supporté. |
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "set_zoom", "camera": 0, "value": 1}Définit la balance des blancs (température Kelvin).
| Param | Type | Requis | Description |
|---|---|---|---|
| kelvin | int | non | Température en Kelvin (2800–6500). Omis = auto. |
| auto | boolean | non | true pour activer l'auto white balance. |
{"action": "set_white_balance", "kelvin": 4000}Lit la valeur du capteur de luminosité ambiante (Lux).
{"action": "get_lux_value"}Retourne les contrôles UVC supportés par la caméra connectée.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | non | Index de la caméra. Défaut : 0. |
{"action": "get_uvc_capabilities", "camera": 0}Système
7 commandes
Réveille l'écran et maintient l'appareil actif.
{"action": "wake_device"}Retourne l'état complet du système : caméras, enregistrement, stockage, réseau.
{"action": "get_status"}Force la détection et reconnexion des caméras USB/UVC.
{"action": "refresh_cameras"}Déconnecte proprement une caméra par son index.
| Param | Type | Requis | Description |
|---|---|---|---|
| camera | int | oui | Index de la caméra à déconnecter. |
{"action": "disconnect_camera", "camera": 1}Retourne les informations des espaces de stockage disponibles.
{"action": "get_storage_info"}Définit l'ordre de priorité des stockages (fallback automatique).
| Param | Type | Requis | Description |
|---|---|---|---|
| order | array | oui | Ordre : ["usb", "sd", "internal"]. |
{"action": "set_storage_priority", "order": ["usb", "sd", "internal"]}Redémarre l'application Kass Recorder.
{"action": "restart_app"}MQTT
6 commandes
Configure l'adresse du broker MQTT.
| Param | Type | Requis | Description |
|---|---|---|---|
| host | string | oui | Adresse IP ou hostname du broker. |
| port | int | non | Port MQTT. Défaut : 1883. |
| username | string | non | Nom d'utilisateur MQTT. |
| password | string | non | Mot de passe MQTT. |
{"action": "set_mqtt_broker", "host": "192.168.1.10", "port": 1883}Retourne l'état de la connexion MQTT.
{"action": "get_mqtt_status"}Configure le préfixe des topics MQTT.
| Param | Type | Requis | Description |
|---|---|---|---|
| prefix | string | oui | Préfixe topic. Défaut : "kass/recorder". |
{"action": "set_mqtt_topic", "prefix": "home/surveillance"}Publie un message personnalisé sur un topic MQTT.
| Param | Type | Requis | Description |
|---|---|---|---|
| topic | string | oui | Topic MQTT complet. |
| payload | string | oui | Contenu du message. |
| retain | boolean | non | Retain le message. Défaut : false. |
{"action": "publish_mqtt", "topic": "home/cam1/status", "payload": "ok"}Déconnecte proprement le client MQTT.
{"action": "disconnect_mqtt"}Force la reconnexion au broker MQTT.
{"action": "reconnect_mqtt"}Automatisation / Warden
8 commandes
Crée une règle d'automatisation dans le Warden Engine.
| Param | Type | Requis | Description |
|---|---|---|---|
| trigger | string | oui | "schedule", "motion", "network", "battery", "timer". |
| action | string | oui | Action à exécuter (ex: "start_recording"). |
| condition | object | non | Conditions optionnelles (ex: {"battery_above": 20}). |
{"action": "create_warden_rule", "trigger": "motion", "rule_action": "start_recording", "condition": {"camera": 0}}Liste toutes les règles d'automatisation actives.
{"action": "list_warden_rules"}Supprime une règle d'automatisation par son identifiant.
| Param | Type | Requis | Description |
|---|---|---|---|
| rule_id | string | oui | Identifiant de la règle à supprimer. |
{"action": "delete_warden_rule", "rule_id": "rule_abc123"}Active ou désactive une règle Warden sans la supprimer.
| Param | Type | Requis | Description |
|---|---|---|---|
| rule_id | string | oui | Identifiant de la règle. |
| enabled | boolean | oui | true pour activer, false pour désactiver. |
{"action": "enable_warden_rule", "rule_id": "rule_abc123", "enabled": false}Envoie un Android Intent pour déclencher une action (Tasker / MacroDroid).
| Param | Type | Requis | Description |
|---|---|---|---|
| action | string | oui | Action Intent. Ex: "com.kass.recorder.START". |
| extras | object | non | Extras de l'Intent (key-value pairs). |
{"action": "send_intent", "intent_action": "com.kass.recorder.START", "extras": {"camera": "0"}}Déclenche l'export des enregistrements vers S3 / MinIO.
| Param | Type | Requis | Description |
|---|---|---|---|
| wifi_only | boolean | non | Limiter l'upload au Wi-Fi. Défaut : true. |
| path | string | non | Chemin spécifique à uploader (omis = tout). |
{"action": "trigger_cloud_upload", "wifi_only": true}Retourne l'état de la file d'upload S3 / MinIO.
{"action": "get_upload_status"}Configure les paramètres d'export S3 / MinIO.
| Param | Type | Requis | Description |
|---|---|---|---|
| endpoint | string | oui | URL du bucket S3 ou instance MinIO. |
| bucket | string | oui | Nom du bucket. |
| access_key | string | oui | Clé d'accès S3. |
| secret_key | string | oui | Clé secrète S3. |
| region | string | non | Région AWS. Défaut : "us-east-1". |
{"action": "configure_s3", "endpoint": "https://minio.local:9000", "bucket": "surveillance"}