> ## Índice de la documentación
> Consulta el índice completo de la documentación en: https://developer.rhombus.com/llms.txt
> Úsalo para descubrir todas las páginas disponibles antes de seguir explorando.

# Rhombus CLI

> Gestiona cámaras, puertas, alertas y sensores de Rhombus desde la línea de comandos: une video, monitorea alertas y conversa con herramientas de IA.

> **Note**: Esta página se tradujo automáticamente. Si encuentras errores o tienes sugerencias, [escríbenos](mailto:support@rhombus.com).

El Rhombus CLI te brinda acceso directo desde la terminal a toda tu plataforma de seguridad Rhombus: más de 60 categorías de recursos de API, además de comandos de alto nivel para unir video, análisis de fotogramas, monitoreo de alertas en tiempo real y chat con IA.

- **[¿Quiere saber más sobre el Rhombus CLI?](mailto:support@rhombus.com?subject=Rhombus%20CLI%20inquiry)**: Contáctenos para ayuda con la incorporación, demos o recursos adicionales de aprendizaje.

## Instalar

**Homebrew (macOS/Linux)**

```bash
brew install RhombusSystems/tap/rhombus
```

**Script de shell (macOS/Linux)**

```bash
curl -fsSL https://raw.githubusercontent.com/RhombusSystems/rhombus-cli/main/install.sh | sh
```

En Linux, esto utiliza automáticamente paquetes `.deb` o `.rpm` cuando se detecta un gestor de paquetes compatible.

**PowerShell (Windows)**

```powershell
irm https://raw.githubusercontent.com/RhombusSystems/rhombus-cli/main/install.ps1 | iex
```

**Desde el código fuente**

Requiere Go 1.26+:

```bash
git clone https://github.com/RhombusSystems/rhombus-cli.git
cd rhombus-cli
make install
```

## Autenticar

**Inicio de sesión por navegador (recomendado)**

```bash
rhombus login
```

Abre tu navegador para [iniciar sesión con Rhombus](https://developer.rhombus.com/es/oauth-authentication) (OAuth) y guarda un access token y un refresh token en el perfil. La CLI refresca el access token por sí misma y no se crea ninguna clave de API. Si el inicio de sesión expira o se revoca, vuelve a ejecutar `rhombus login`.

Las organizaciones de la UE añaden `--region eu` (`--region us|eu`); la región se guarda en el perfil. Las cuentas partner se detectan al iniciar sesión; `rhombus login --partner` omite esa comprobación.

Los perfiles configurados con una clave de API o un certificado siguen funcionando.

**Configuración manual**

```bash
rhombus configure
```

Solicita una clave de API, formato de salida, región (`us`/`eu`) y URL del endpoint. Úsalo cuando ya tienes una clave de API de la [Consola de Rhombus](https://console.rhombussystems.com/settings/integrations/api-tokens/).

**Variable de entorno**

```bash
export RHOMBUS_API_KEY=YOUR_API_KEY
```

Sobrescribe las credenciales almacenadas. Útil para pipelines de CI/CD y scripts.

### Perfiles

Gestiona múltiples organizaciones o regiones con perfiles nombrados:

```bash
rhombus login --profile eu-org
rhombus camera get-minimal-camera-state-list --profile eu-org
```

Las credenciales se almacenan en `~/.rhombus/credentials`, al que la CLI le asigna permisos de archivo 600. La configuración va en `~/.rhombus/config`, que no contiene claves y conserva los permisos de archivo predeterminados.

### Región de la UE

Si tu organización está en la [región de la UE](https://developer.rhombus.com/es/api-regions), ejecuta `rhombus login --region eu`, o ejecuta `rhombus configure` y responde `eu` en el prompt `Region (us/eu)`. La CLI deriva el endpoint de la UE (`https://api2.eu.rhombussystems.com`) automáticamente y usa los hosts de inicio de sesión, de tokens y de WebSocket correspondientes de la UE. Para anulaciones puntuales, usa el flag `--endpoint-url` o la variable de entorno `RHOMBUS_ENDPOINT_URL`.

## Comandos de API

62 comandos de recursos se generan automáticamente desde la especificación OpenAPI de Rhombus, cubriendo toda la superficie de la API. El patrón general es:

```bash
rhombus <resource> <operation> [flags]
```

### Ejemplos comunes

```bash Cameras
# List all cameras
rhombus camera get-minimal-camera-state-list

# Get detailed camera state
rhombus camera get-full-camera-state --camera-uuid YOUR_CAMERA_UUID
```

```bash Access Control
# List all doors
rhombus door-controller get-doors-for-org

# Grant access to a door
rhombus door-controller grant-access --door-uuid YOUR_DOOR_UUID
```

```bash Alerts & Events
# List recent policy alerts
rhombus event get-policy-alerts-v2

# Get alert details with bounding boxes
rhombus event get-policy-alert-details --alert-uuid YOUR_ALERT_UUID
```

```bash Locations & Users
# List locations
rhombus location get-locations

# List users in your org
rhombus user get-users-in-org
```

### Entrada JSON para solicitudes complejas

Para endpoints con cuerpos de solicitud complejos, usa `--cli-input-json`:

```bash
# Generate a parameter template
rhombus camera get-full-camera-state --generate-cli-skeleton

# Pass parameters as inline JSON
rhombus event get-policy-alerts-v2 --cli-input-json '{"maxResults": 10}'

# Pass parameters from a file
rhombus event get-policy-alerts-v2 --cli-input-json file://params.json
```

> **Tip**: Usa `--generate-cli-skeleton` en cualquier comando para ver todos los parámetros aceptados como una plantilla JSON.

### Recursos disponibles

El CLI cubre más de 60 categorías de recursos, incluyendo: access-control, alert-monitoring, audio-gateway, camera, climate, door-controller, doorbell-camera, elevator, event, event-search, export, face-recognition-person, integrations, location, lockdown-plan, occupancy, org, partner, permission, policy, report, rules, scene-query, schedule, search, sensor, user, vehicle, video, webhook-integrations, y más.

## Comandos de alto nivel

Más allá del acceso directo a la API, el CLI tiene varios comandos compuestos.

### Gestión de alertas

```bash
# Recent alerts (filter by camera name)
rhombus alert recent --camera "Front Lobby" --max 10

# Download alert thumbnail
rhombus alert thumb ALERT_UUID --output thumb.jpg

# Download alert video clip
rhombus alert download ALERT_UUID --output clip.mp4

# Open alert clip in browser
rhombus alert play ALERT_UUID
```

### Grabación en vivo

```bash
# Open live view for a camera (by name)
rhombus footage "Front Lobby"

# Jump to a specific time
rhombus footage "Front Lobby" --start "5m ago"
rhombus footage "Front Lobby" --start 1711900800000
```

Inicia un servidor HTTP local con un reproductor autenticado y abre tu navegador.

### Monitoreo de alertas en tiempo real

```bash
# Stream policy alerts as they fire
rhombus monitor

# Include all event types (not just policy alerts)
rhombus monitor --all-events

# JSON output for piping to other tools
rhombus monitor --json
```

Conecta vía WebSocket (protocolo STOMP) con reconexión automática, al host WebSocket de la UE en los perfiles de la UE. Con `--partner-org`, envía la organización cliente en el encabezado `x-auth-org`. Canaliza la salida `--json` a `jq` para filtrar:

```bash
rhombus monitor --json | jq 'select(.deviceName == "Lobby Camera")'
```

### Unión de video

Combina grabaciones de varias cámaras en un único video con disposición en cuadrícula. Requiere `ffmpeg`.

```bash
# Stitch events across cameras at a location
rhombus stitch --location "HQ" --start "2h ago" --end "1h ago"

# Specific cameras with buffer time
rhombus stitch --camera "Entrance" --camera "Lobby" --start "30m ago" --buffer 5
```

Crea un MP4 con superposiciones de marca de tiempo a partir de eventos en las cámaras seleccionadas.

### Análisis de fotogramas

Extrae fotogramas muestreados inteligentemente con metadatos de detección de actividad: útil para pipelines de ML.

```bash
# Analyze frames from an alert
rhombus analyze alert ALERT_UUID

# Analyze footage across cameras at a location
rhombus analyze footage --location "HQ" --start "1h ago" --end "30m ago"

# Include motion metadata, output raw frames
rhombus analyze footage "Lobby Cam" --start "2h ago" --include-motion --raw
```

### Contexto de implementación

Genera una instantánea estructurada de toda tu implementación: ubicaciones, cámaras, información de hardware, coordenadas e imágenes actuales.

```bash
# Full deployment snapshot
rhombus context generate

# Specific location or camera
rhombus context location "HQ"
rhombus context camera "Front Lobby"
```

### Chat con IA (Rhombus MIND)

Interfaz de lenguaje natural para tu implementación de Rhombus. El agente de chat puede ejecutar comandos del CLI en tu nombre.

```bash
# Interactive chat
rhombus chat

# Voice-powered chat (requires sox and whisper-cpp)
rhombus voice --model base
```

> **Note**: El modo de voz requiere [sox](https://sox.sourceforge.net/) para la captura de audio y [whisper-cpp](https://github.com/ggerganov/whisper.cpp) para conversión de voz a texto.

## Banderas globales

| Bandera          | Descripción                                                                                               |
| ---------------- | --------------------------------------------------------------------------------------------------------- |
| `--profile`      | Perfil de configuración (predeterminado: `"default"`)                                                     |
| `--output`       | Formato de salida: `json`, `table`, `text` (predeterminado: `json`)                                       |
| `--api-key`      | Sobrescribe la clave de API para este comando                                                             |
| `--endpoint-url` | Sobrescribe la URL del endpoint de la API (organizaciones de la UE: `https://api2.eu.rhombussystems.com`) |
| `--partner-org`  | Nombre o UUID de la organización del cliente (para cuentas partner)                                       |

## Cuentas partner

Para organizaciones partner/multitenant, usa `--partner-org` para operar sobre las organizaciones de clientes:

```bash
rhombus camera get-minimal-camera-state-list --partner-org "Acme Corp"
rhombus camera get-minimal-camera-state-list --partner-org ORG_UUID
```

La coincidencia de nombre no distingue mayúsculas y minúsculas y se basa en subcadenas. Si coinciden varias organizaciones, se te pedirá que selecciones una.

## Variables de entorno

| Variable               | Descripción                                                                                          |
| ---------------------- | ---------------------------------------------------------------------------------------------------- |
| `RHOMBUS_API_KEY`      | Clave de API (sobrescribe el archivo de credenciales)                                                |
| `RHOMBUS_PROFILE`      | Nombre del perfil (predeterminado: `default`)                                                        |
| `RHOMBUS_OUTPUT`       | Formato de salida: `json`, `table`, `text`                                                           |
| `RHOMBUS_ENDPOINT_URL` | Sobrescritura del endpoint de la API (organizaciones de la UE: `https://api2.eu.rhombussystems.com`) |

## Archivos de configuración

| Ruta                          | Propósito                                                                          |
| ----------------------------- | ---------------------------------------------------------------------------------- |
| `~/.rhombus/config`           | Formato de salida predeterminado, URL del endpoint (formato INI)                   |
| `~/.rhombus/credentials`      | Tokens OAuth, claves de API y rutas de certificados por perfil (INI, permisos 600) |
| `~/.rhombus/certs/<profile>/` | Certificados de cliente y claves privadas (perfiles de certificado)                |

Precedencia de configuración: banderas del CLI > variables de entorno > configuración del perfil > valores predeterminados.

## Soporte de plataformas

| SO      | Arquitecturas |
| ------- | ------------- |
| macOS   | amd64, arm64  |
| Linux   | amd64, arm64  |
| Windows | amd64, arm64  |

## Recursos

- **[Repositorio de GitHub](https://github.com/RhombusSystems/rhombus-cli)**: Código fuente, lanzamientos y rastreador de incidencias
- **[Referencia de la API](https://developer.rhombus.com/api-reference/overview)**: Documentación completa de endpoints para las más de 1000 operaciones de la API
- **[Monitoreo por WebSocket](https://developer.rhombus.com/es/websocket/overview)**: Detalles del protocolo de streaming de eventos en tiempo real
- **[Límites de tasa](https://developer.rhombus.com/es/rate-limits)**: Limitación de tasa de la API y guía de reintentos
