Integración de reCamera Pro y Home Assistant: alerta de foto activada por sonido

Introducción
Este wiki explica cómo integrar reCamera Pro con Home Assistant (HA) para enviar automáticamente un mensaje personalizado y una instantánea actual de la cámara al panel de Home Assistant cuando se detecta un sonido específico. Usando el protocolo MQTT para la comunicación bidireccional, cuando reCamera Pro detecta un sonido especificado (por ejemplo, "help") con un nivel de confianza que supera un umbral, envía automáticamente un mensaje de alerta y una imagen en vivo a HA.

Preparación de hardware
- Un host que ejecute Home Assistant (admite despliegue con Docker, HA OS o venv)
- Un dispositivo reCamera Pro
| reCamera Pro |
|---|
![]() |
Instalación del complemento de reCamera en HA
Añadiremos un complemento de reCamera a Home Assistant para mostrar mensajes e imágenes de reCamera Pro en HA. Hay dos métodos de instalación disponibles: script de instalación automática (recomendado) e instalación manual.
Método 1: script de instalación automática (recomendado)
Descarga el script install.py, ejecútalo e introduce el directorio de configuración de HA para completar automáticamente toda la instalación.
# Download install.py (includes all files, no additional downloads needed)
python3 install.py
# Or specify the configuration directory directly (non-interactive)
python3 install.py /home/zsz/HA/config
El script hará automáticamente lo siguiente:
- Copiar el código de la integración a
custom_components/recamera_chat/ - Copiar los archivos de frontend a
www/recamera_chat/ - Añadir las configuraciones de
recamera_chatypanel_customaconfiguration.yaml(realiza automáticamente una copia de seguridad del original) - Verificar que todos los archivos estén en su lugar
El script es compatible con Linux / Windows / macOS y funciona con todos los métodos de despliegue, incluidos Docker, HA OS y venv.
Después de la instalación, salta a Paso 4: Reiniciar Home Assistant.
Método 2: instalación manual
Paso 1: descargar el paquete de despliegue
Descarga el paquete de despliegue recamera_chat.zip y extráelo. La estructura del directorio extraído es la siguiente:
recamera_chat/
└── custom_components/
└── recamera_chat/
└── __init__.py
└── const.py
└── manifest.json
└── services.yaml
└── www/
└── recamera_chat/
└── panel.js
└── panel.html
└── configuration_snippet.yaml
Paso 2: copiar archivos al directorio de configuración de HA
Copia las carpetas custom_components y www al directorio de configuración de Home Assistant.
La ubicación del directorio de configuración de HA depende de tu método de instalación:
- HA OS: accesible mediante Samba o SSH en
/config - Docker: el directorio de configuración montado (por ejemplo,
/home/zsz/HA/config) - venv: tu directorio de instalación de HA
www/ y custom_components/ son directorios hermanos y ambos deben colocarse directamente en el directorio raíz de configuración. No pongas www/ dentro de custom_components/, de lo contrario la barra lateral no se mostrará.
Ejemplo de despliegue con Docker:
# Assuming the HA configuration directory is /home/zsz/HA/config
cd /home/zsz/HA/config
# Copy the integration files
cp -r recamera_chat/custom_components/recamera_chat custom_components/
# Copy the frontend files
cp -r recamera_chat/www/recamera_chat www/
La estructura del directorio después de copiar:
/config/
└── custom_components/
└── recamera_chat/
└── __init__.py
└── const.py
└── manifest.json
└── services.yaml
└── www/
└── recamera_chat/
└── panel.js
└── panel.html
└── images/ # Images are automatically saved here
└── configuration.yaml
Paso 3: editar configuration.yaml
Añade la siguiente configuración al archivo configuration.yaml de HA:
# ===== reCamera Chat (MQTT Bidirectional Chat) =====
recamera_chat:
broker: 127.0.0.1 # MQTT broker address (127.0.0.1 if HA and broker are on the same host)
port: 1883 # MQTT broker port
# username: youruser # Uncomment and fill in if authentication is required
# password: yourpass
topic_in: recamera/chat/to_ha # reCamera publishes to this topic -> HA receives
topic_out: recamera/chat/to_camera # HA panel sends -> reCamera subscribes to this topic
message_field: "" # Leave empty = auto-extract message/text/payload/msg/content
max_history: 200 # Maximum number of message history entries
panel_custom:
- name: recamera-chat
sidebar_title: reCamera
sidebar_icon: mdi:camera
url_path: recamera-chat
module_url: /local/recamera_chat/panel.js?v=13
require_admin: false
El número de versión en module_url (por ejemplo, ?v=13) debe coincidir con el número de versión en el archivo panel.js. Si los números de versión no coinciden, el navegador puede cargar una caché antigua, lo que hará que el panel no se muestre.
Paso 4: reiniciar Home Assistant
Reinicia HA para aplicar la configuración:
- Interfaz web: Settings -> System -> icono de encendido (arriba a la derecha) -> Restart
- Línea de comandos (Docker):
docker restart homeassistant
Paso 5: verificar el despliegue
- Una vez completado el reinicio, la pestaña reCamera (con un icono de cámara) debería aparecer en la barra lateral de HA.
- Haz clic en ella para ver la interfaz de chat, con un estado Connected en la esquina superior derecha.
- Escribe texto en el cuadro de entrada y pulsa Enter o haz clic en el botón Send.
- El lado de reCamera que se suscribe a
recamera/chat/to_cameradebería recibir el mensaje.
Si la pestaña de reCamera no aparece en la barra lateral después de reiniciar, soluciona el problema en el siguiente orden:
- Comprueba si
www/recamera_chat/panel.jsse encuentra bajo el directoriowww/en la raíz de configuración (no bajocustom_components/www/) - Comprueba si
configuration.yamlcontiene el bloque de configuraciónpanel_custom - Comprueba si el número de versión
?v=13enpanel.jscoincide con el número de versión enmodule_urlenconfiguration.yaml - Pulsa Ctrl+F5 para forzar la actualización del navegador y limpiar la caché
Configuración de reCamera Pro
Dado que este ejemplo requiere que la cámara tome fotos, primero debes detener el proceso principal de reCamera Pro para liberar los recursos de la cámara. Ejecuta el siguiente comando:
pkill -x rkipc
Después de detener el proceso principal, descarga el programa en Python: Programa de reCamera
Modificar los parámetros de configuración del programa
Después de descargar el programa, debes modificar los siguientes parámetros para que se ejecute correctamente:
# ===================== MQTT Configuration =====================
MQTT_HOST = "192.168.6.215" # MQTT Broker Address
MQTT_PORT = 1883 # MQTT Broker Port
TARGET_SOUND = "help" # Name of the sound to detect
CONFIDENCE_THRESHOLD = 94.0 # Trigger threshold, unit: percentage
MQTT_MESSAGE = "Someone is calling for help!!" # Message to send when triggered
- MQTT_HOST: dirección del broker MQTT, introduce la dirección IP de tu host de HA
- MQTT_PORT: puerto del broker MQTT, introduce 1883
- TARGET_SOUND: nombre del sonido a detectar, introduce
"help" - CONFIDENCE_THRESHOLD: umbral de activación, unidad: porcentaje, introduce
94.0. Solo se enviarán mensajes e imágenes si la confianza supera este valor. - MQTT_MESSAGE: mensaje que se enviará cuando se active, puedes introducir el contenido que quieras mostrar en el panel de HA.
Subir el código a reCamera Pro y ejecutarlo
- Sube el código modificado a reCamera Pro usando el siguiente comando:
scp voice_capture.py root@<device_IP>:/userdata
- Ejecuta el siguiente comando para correr el código:
python3 ./voice_capture.py
Resultados esperados
- Después de iniciar el programa de detección de sonido, reCamera Pro supervisa continuamente los sonidos ambientales.
- Cuando se detecta el sonido especificado (por ejemplo, "help") con un nivel de confianza que supera el umbral, captura automáticamente la escena actual.
- Envía un mensaje de alerta personalizado y una imagen a Home Assistant a través de MQTT.
- El panel de reCamera en la barra lateral de HA muestra el mensaje y la imagen recibidos.
Solución de problemas
| Problema | Posible causa | Solución |
|---|---|---|
| No hay pestaña de reCamera en la barra lateral de HA | Ruta de archivo incorrecta o configuración no aplicada | Comprueba la ruta de www/recamera_chat/panel.js y la configuración de configuration.yaml |
| El panel muestra "Disconnected" | Falló la conexión MQTT | Comprueba si la dirección y el puerto del broker MQTT son correctos |
| La detección de sonido no responde | Micrófono no conectado o permisos insuficientes | Confirma que el micrófono USB está conectado, comprueba el dispositivo de audio en reCamera Pro |
| La imagen no se muestra | Recurso de la cámara ocupado | Confirma que se ha ejecutado pkill -x rkipc para liberar la cámara |
Recursos
- Página de producto de reCamera Pro
- Documentación oficial de Home Assistant
- Paquete de despliegue de reCamera Chat
- Programa de detección de sonido de reCamera
- Script de instalación automática
Soporte técnico y debate sobre el producto
Gracias por elegir nuestros productos. Estamos aquí para ofrecerte distintos niveles de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos múltiples canales de comunicación para adaptarnos a diferentes preferencias y necesidades.
