Saltar al contenido principal

MQTT

Estos son los mensajes MQTT generados por SecureVu. El prefijo de tema predeterminado es securevu, pero puede cambiarse en el archivo de configuración.

Temas Generales de SecureVu

securevu/available

Diseñado para usarse como tema de disponibilidad con Home Assistant. Los posibles mensajes son: "online": publicado cuando SecureVu está en ejecución (al inicio) "offline": publicado después de que SecureVu se ha detenido

securevu/restart

Hace que SecureVu se cierre. Docker debe estar configurado para reiniciar automáticamente el contenedor al cerrarse.

securevu/events

Mensaje publicado para cada objeto rastreado que cambia. El primer mensaje se publica cuando el objeto rastreado ya no está marcado como false_positive. Cuando SecureVu encuentra una mejor instantánea del objeto rastreado o cuando ocurre un cambio de zona, publicará un mensaje con el mismo ID. Cuando el objeto rastreado finaliza, se publica un mensaje final con end_time establecido.

{
"type": "update", // new, update, end
"before": {
"id": "1607123955.475377-mxklsc",
"camera": "front_door",
"frame_time": 1607123961.837752,
"snapshot": {
"frame_time": 1607123965.975463,
"box": [415, 489, 528, 700],
"area": 12728,
"region": [260, 446, 660, 846],
"score": 0.77546,
"attributes": []
},
"label": "person",
"sub_label": null,
"top_score": 0.958984375,
"false_positive": false,
"start_time": 1607123955.475377,
"end_time": null,
"score": 0.7890625,
"box": [424, 500, 536, 712],
"area": 23744,
"ratio": 2.113207,
"region": [264, 450, 667, 853],
"current_zones": ["driveway"],
"entered_zones": ["yard", "driveway"],
"thumbnail": null,
"has_snapshot": false,
"has_clip": false,
"active": true, // convenience attribute, this is strictly opposite of "stationary"
"stationary": false, // whether or not the object is considered stationary
"motionless_count": 0, // number of frames the object has been motionless
"position_changes": 2, // number of times the object has moved from a stationary position
"attributes": {
"face": 0.64
}, // attributes with top score that have been identified on the object at any point
"current_attributes": [], // detailed data about the current attributes in this frame
"current_estimated_speed": 0.71, // current estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"average_estimated_speed": 14.3, // average estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"velocity_angle": 180, // direction of travel relative to the frame for objects moving through zones with speed estimation enabled
"recognized_license_plate": "ABC12345", // a recognized license plate for car objects
"recognized_license_plate_score": 0.933451
},
"after": {
"id": "1607123955.475377-mxklsc",
"camera": "front_door",
"frame_time": 1607123962.082975,
"snapshot": {
"frame_time": 1607123965.975463,
"box": [415, 489, 528, 700],
"area": 12728,
"region": [260, 446, 660, 846],
"score": 0.77546,
"attributes": []
},
"label": "person",
"sub_label": ["John Smith", 0.79],
"top_score": 0.958984375,
"false_positive": false,
"start_time": 1607123955.475377,
"end_time": null,
"score": 0.87890625,
"box": [432, 496, 544, 854],
"area": 40096,
"ratio": 1.251397,
"region": [218, 440, 693, 915],
"current_zones": ["yard", "driveway"],
"entered_zones": ["yard", "driveway"],
"thumbnail": null,
"has_snapshot": false,
"has_clip": false,
"active": true, // convenience attribute, this is strictly opposite of "stationary"
"stationary": false, // whether or not the object is considered stationary
"motionless_count": 0, // number of frames the object has been motionless
"position_changes": 2, // number of times the object has changed position
"attributes": {
"face": 0.86
}, // attributes with top score that have been identified on the object at any point
"current_attributes": [
// detailed data about the current attributes in this frame
{
"label": "face",
"box": [442, 506, 534, 524],
"score": 0.86
}
],
"current_estimated_speed": 0.77, // current estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"average_estimated_speed": 14.31, // average estimated speed (mph or kph) for objects moving through zones with speed estimation enabled
"velocity_angle": 180, // direction of travel relative to the frame for objects moving through zones with speed estimation enabled
"recognized_license_plate": "ABC12345", // a recognized license plate for car objects
"recognized_license_plate_score": 0.933451
}
}

securevu/tracked_object_update

Mensaje publicado para actualizaciones de metadatos de objetos rastreados. Todos los mensajes incluyen un campo id que es el ID de evento del objeto rastreado, y puede usarse para buscar el evento a través de la API o relacionarlo con elementos en la interfaz de usuario.

Actualización de Descripción por IA Generativa

{
"type": "description",
"id": "1607123955.475377-mxklsc",
"description": "The car is a red sedan moving away from the camera."
}

Actualización de Reconocimiento Facial

Publicado después de cada intento de reconocimiento, independientemente de si la puntuación cumple con el recognition_threshold. Consulta la documentación de Reconocimiento Facial para detalles sobre cómo funciona la puntuación.

{
"type": "face",
"id": "1607123955.475377-mxklsc",
"name": "John", // best matching person, or null if no match
"score": 0.95, // running weighted average across all recognition attempts
"camera": "front_door_cam",
"timestamp": 1607123958.748393
}

Actualización de Reconocimiento de Placas Vehiculares

Publicado cuando se reconoce una placa vehicular en un objeto de tipo automóvil. Consulta la documentación de Reconocimiento de Placas Vehiculares para detalles.

{
"type": "lpr",
"id": "1607123955.475377-mxklsc",
"name": "John's Car", // known name for the plate, or null
"plate": "123ABC",
"score": 0.95,
"camera": "driveway_cam",
"timestamp": 1607123958.748393
}

Actualización de Clasificación de Objetos

Mensaje publicado cuando la clasificación de objetos llega a un consenso sobre un resultado de clasificación.

Tipo de sub etiqueta:

{
"type": "classification",
"id": "1607123955.475377-mxklsc",
"camera": "front_door_cam",
"timestamp": 1607123958.748393,
"model": "person_classifier",
"sub_label": "delivery_person",
"score": 0.87
}

Tipo de atributo:

{
"type": "classification",
"id": "1607123955.475377-mxklsc",
"camera": "front_door_cam",
"timestamp": 1607123958.748393,
"model": "helmet_detector",
"attribute": "yes",
"score": 0.92
}

securevu/reviews

Mensaje publicado para cada elemento de revisión que cambia. El primer mensaje se publica cuando se inicia la detección o alerta.

Se publicará una actualización con el mismo ID cuando:

  • La severidad cambia de detección a alerta
  • Se detectan objetos adicionales
  • Un objeto es reconocido vía facial, lpr, etc.

Cuando la actividad de revisión ha finalizado, se publica un mensaje final de fin.

{
"type": "update", // new, update, end
"before": {
"id": "1718987129.308396-fqk5ka", // review_id
"camera": "front_cam",
"start_time": 1718987129.308396,
"end_time": null,
"severity": "detection",
"thumb_path": "/media/securevu/clips/review/thumb-front_cam-1718987129.308396-fqk5ka.webp",
"data": {
"detections": [
// list of event IDs
"1718987128.947436-g92ztx",
"1718987148.879516-d7oq7r",
"1718987126.934663-q5ywpt"
],
"objects": ["person", "car"],
"sub_labels": [],
"zones": [],
"audio": []
}
},
"after": {
"id": "1718987129.308396-fqk5ka",
"camera": "front_cam",
"start_time": 1718987129.308396,
"end_time": null,
"severity": "alert",
"thumb_path": "/media/securevu/clips/review/thumb-front_cam-1718987129.308396-fqk5ka.webp",
"data": {
"detections": [
"1718987128.947436-g92ztx",
"1718987148.879516-d7oq7r",
"1718987126.934663-q5ywpt"
],
"objects": ["person", "car"],
"sub_labels": ["Bob"],
"zones": ["front_yard"],
"audio": []
}
}
}

securevu/triggers

Mensaje publicado cuando se activa un disparador definido en la configuración semantic_search de una cámara.

{
"name": "car_trigger",
"camera": "driveway",
"event_id": "1751565549.853251-b69j73",
"type": "thumbnail",
"score": 0.85
}

securevu/stats

Los mismos datos disponibles en /api/stats publicados a un intervalo configurable.

securevu/camera_activity

Devuelve datos sobre cada cámara, sus características actuales y si está detectando movimiento, objetos, etc. Puede activarse publicando en securevu/onConnect

securevu/notifications/set

Tema para activar y desactivar las notificaciones. Los valores esperados son ON y OFF.

securevu/notifications/state

Tema con el estado actual de las notificaciones. Los valores publicados son ON y OFF.

Temas de Cámara de SecureVu

securevu/<camera_name>/status/<role>

Publica el estado de salud actual de cada rol habilitado (audio, detect, record). Los valores posibles son:

  • online: La transmisión está en ejecución y siendo procesada
  • offline: La transmisión está fuera de línea y siendo reiniciada
  • disabled: La cámara está actualmente deshabilitada

securevu/<camera_name>/<object_name>

Publica el conteo de objetos para la cámara para su uso como sensor en Home Assistant. all puede usarse como object_name para el conteo de todos los objetos de la cámara.

securevu/<camera_name>/<object_name>/active

Publica el conteo de objetos activos para la cámara para su uso como sensor en Home Assistant. all puede usarse como object_name para el conteo de todos los objetos activos de la cámara.

securevu/<zone_name>/<object_name>

Publica el conteo de objetos para la zona para su uso como sensor en Home Assistant. all puede usarse como object_name para el conteo de todos los objetos de la zona.

securevu/<zone_name>/<object_name>/active

Publica el conteo de objetos activos para la zona para su uso como sensor en Home Assistant. all puede usarse como object_name para el conteo de todos los objetos de la zona.

securevu/<camera_name>/<object_name>/snapshot

Publica un fotograma codificado en jpeg del tipo de objeto detectado. Cuando el objeto ya no se detecta, se publica la imagen de mayor confianza o se vuelve a publicar la imagen original.

La altura y el recorte de las instantáneas pueden configurarse en la configuración.

securevu/<camera_name>/audio/<audio_type>

Publica "ON" cuando se detecta un tipo de audio y "OFF" cuando no lo está para la cámara, para su uso como sensor en Home Assistant.

all puede usarse como audio_type para el estado de todos los tipos de audio.

securevu/<camera_name>/audio/dBFS

Publica el valor dBFS para el audio detectado en esta cámara.

NOTA: Requiere que la detección de audio esté habilitada

securevu/<camera_name>/audio/rms

Publica el valor rms para el audio detectado en esta cámara.

NOTA: Requiere que la detección de audio esté habilitada

securevu/<camera_name>/audio/transcription

Publica texto transcrito para el audio detectado en esta cámara.

NOTA: Requiere que la detección de audio y la transcripción estén habilitadas

securevu/<camera_name>/classification/<model_name>

Publica el estado actual detectado por un modelo de clasificación de estados para la cámara. El nombre del tema incluye el nombre del modelo tal como está configurado en los ajustes de clasificación. El valor publicado es el nombre de la clase de estado detectada (p. ej., open, closed, on, off). El estado solo se publica cuando cambia, lo que ayuda a reducir el tráfico MQTT innecesario.

securevu/<camera_name>/enabled/set

Tema para activar y desactivar el procesamiento de SecureVu para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/enabled/state

Tema con el estado actual del procesamiento para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/detect/set

Tema para activar y desactivar la detección de objetos para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/detect/state

Tema con el estado actual de la detección de objetos para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/audio/set

Tema para activar y desactivar la detección de audio para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/audio/state

Tema con el estado actual de la detección de audio para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/recordings/set

Tema para activar y desactivar las grabaciones para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/recordings/state

Tema con el estado actual de las grabaciones para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/snapshots/set

Tema para activar y desactivar las instantáneas para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/snapshots/state

Tema con el estado actual de las instantáneas para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/motion/set

Tema para activar y desactivar la detección de movimiento para una cámara. Los valores esperados son ON y OFF. NOTA: Desactivar la detección de movimiento fallará si la detección no está deshabilitada.

securevu/<camera_name>/motion

Indica si camera_name está detectando movimiento actualmente. Los valores esperados son ON y OFF. NOTA: Después de que se detecta movimiento inicialmente, ON se mantendrá hasta que no se haya detectado movimiento durante mqtt_off_delay segundos (30 por defecto).

securevu/<camera_name>/motion/state

Tema con el estado actual de la detección de movimiento para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/improve_contrast/set

Tema para activar y desactivar improve_contrast para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/improve_contrast/state

Tema con el estado actual de improve_contrast para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/motion_threshold/set

Tema para ajustar el umbral de movimiento para una cámara. El valor esperado es un entero.

securevu/<camera_name>/motion_threshold/state

Tema con el umbral de movimiento actual para una cámara. El valor publicado es un entero.

securevu/<camera_name>/motion_contour_area/set

Tema para ajustar el área de contorno de movimiento para una cámara. El valor esperado es un entero.

securevu/<camera_name>/motion_contour_area/state

Tema con el área de contorno de movimiento actual para una cámara. El valor publicado es un entero.

securevu/<camera_name>/review_status

Tema con el estado de actividad actual de la cámara. Los valores posibles son NONE, DETECTION o ALERT.

securevu/<camera_name>/ptz

Tema para enviar comandos PTZ a la cámara.

ComandoDescripción
preset_<preset_name>envía comando para moverse a la posición predefinida con nombre <preset_name>
MOVE_<dir>envía comando para moverse continuamente en <dir>, los valores posibles son [UP, DOWN, LEFT, RIGHT]
ZOOM_<dir>envía comando para hacer zoom continuo <dir>, los valores posibles son [IN, OUT]
STOPenvía comando para detener el movimiento

securevu/<camera_name>/ptz_autotracker/set

Tema para activar y desactivar el rastreador automático PTZ para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/ptz_autotracker/state

Tema con el estado actual del rastreador automático PTZ para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/ptz_autotracker/active

Tema para determinar si el rastreador automático PTZ está rastreando activamente un objeto. Los valores publicados son ON y OFF.

securevu/<camera_name>/review_alerts/set

Tema para activar o desactivar las alertas de revisión para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/review_alerts/state

Tema con el estado actual de las alertas de revisión para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/review_detections/set

Tema para activar o desactivar las detecciones de revisión para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/review_detections/state

Tema con el estado actual de las detecciones de revisión para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/object_descriptions/set

Tema para activar o desactivar las descripciones de objetos por IA generativa para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/object_descriptions/state

Tema con el estado actual de las descripciones de objetos por IA generativa para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/review_descriptions/set

Tema para activar o desactivar las descripciones de revisión por IA generativa para una cámara. Los valores esperados son ON y OFF.

securevu/<camera_name>/review_descriptions/state

Tema con el estado actual de las descripciones de revisión por IA generativa para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/birdseye/set

Tema para activar y desactivar Birdseye para una cámara. Los valores esperados son ON y OFF. El modo Birdseye debe estar habilitado en la configuración.

securevu/<camera_name>/birdseye/state

Tema con el estado actual de Birdseye para una cámara. Los valores publicados son ON y OFF.

securevu/<camera_name>/birdseye_mode/set

Tema para establecer el modo Birdseye para una cámara. Birdseye ofrece diferentes modos para personalizar bajo qué circunstancias se muestra la cámara.

Nota: Cambiar el valor de CONTINUOUS -> MOTION | OBJECTS puede tardar hasta 30 segundos para que la cámara sea eliminada de la vista.

ComandoDescripción
CONTINUOUSSiempre incluida
MOTIONMostrar cuando se detecta movimiento en los últimos 30 segundos
OBJECTSMostrar si hay un objeto activo rastreado en los últimos 30 segundos

securevu/<camera_name>/birdseye_mode/state

Tema con el estado actual del modo Birdseye para una cámara. Los valores publicados son CONTINUOUS, MOTION, OBJECTS.

securevu/<camera_name>/notifications/set

Tema para activar y desactivar las notificaciones. Los valores esperados son ON y OFF.

securevu/<camera_name>/notifications/state

Tema con el estado actual de las notificaciones. Los valores publicados son ON y OFF.

securevu/<camera_name>/notifications/suspend

Tema para suspender las notificaciones durante un determinado número de minutos. El valor esperado es un entero.

securevu/<camera_name>/notifications/suspended

Tema con la marca de tiempo hasta la cual están suspendidas las notificaciones. El valor publicado es una marca de tiempo UNIX, o 0 si las notificaciones no están suspendidas.