> For the complete documentation index, see [llms.txt](https://portal-integracao.intelbras.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/cameras-e-gravadores/analise-inteligente-de-movimento.md).

# Análise Inteligente de Movimento

Integração SMD (Smart Motion Detect): get/set SmartMotionDetect (sensibilidade/regiões/objetos) e busca histórica startFind/doFind/stopFind com token.

## Dicas & Boas Práticas <a href="#dicas-and-boas-praticas" id="dicas-and-boas-praticas"></a>

* Sempre verifique se o dispositivo suporta **Smart Motion Detect (SMD)** antes de configurar ou consumir os endpoints.
* Ajuste a **sensibilidade** conforme o ambiente: níveis altos aumentam detecção, mas podem gerar falsos alarmes.
* Utilize regiões de detecção apenas onde há interesse, reduzindo carga de CPU.
* Sempre encerre buscas ativas com `stopFind` após concluir a coleta dos dados.
* Evite períodos muito longos em uma única pesquisa; prefira janelas menores e paginadas.
* Monitore o uso de tokens ativos para evitar consumo excessivo de recursos do dispositivo.

***

## Tabela de Parâmetros

<table><thead><tr><th>Name</th><th>Type</th><th width="72.4444580078125">R/O</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>SmdInfo</strong></td><td>object[]</td><td>R</td><td>Array de dados históricos de eventos de Smart Motion Detect. Cada elemento representa um registro em um intervalo de tempo específico.</td><td>—</td></tr><tr><td>SmdInfo.Channel</td><td>int32</td><td>O</td><td>Número do canal (inicia em 0).</td><td>1</td></tr><tr><td>SmdInfo.StartTime</td><td>char[32]</td><td>O</td><td>Horário inicial do evento.</td><td><code>"2017-08-01 00:00:00"</code></td></tr><tr><td>SmdInfo.EndTime</td><td>char[32]</td><td>O</td><td>Horário final do evento.</td><td><code>"2017-08-02 00:00:00"</code></td></tr><tr><td>SmdInfo.Type</td><td>char[32]</td><td>O</td><td>Tipo de detecção SMD. Valores possíveis: <code>smdTypeHuman</code>, <code>smdTypeVehicle</code>, <code>smdTypeHumanAndVehicle</code>.</td><td><code>"smdTypeHuman"</code></td></tr><tr><td><strong>Condition</strong></td><td>object</td><td>R</td><td>Condições de pesquisa para eventos SMD.</td><td>—</td></tr><tr><td>Condition.Channel</td><td>int32</td><td>O</td><td>Número do canal. <code>-1</code> indica todos os canais.</td><td>0</td></tr><tr><td>Condition.Channels</td><td>int[]</td><td>O</td><td>Lista de canais. Se <code>Channel</code> e <code>Channels</code> existirem, <code>Channels</code> prevalece.</td><td><code>[0,1,2,5]</code></td></tr><tr><td>Condition.SmdType</td><td>char[8][32]</td><td>O</td><td>Tipos de detecção SMD a serem pesquisados.</td><td><code>["smdTypeHuman","smdTypeVehicle"]</code></td></tr><tr><td>Condition.StartTime</td><td>char[32]</td><td>O</td><td>Horário inicial da pesquisa.</td><td><code>"2017-08-01 00:00:00"</code></td></tr><tr><td>Condition.EndTime</td><td>char[32]</td><td>O</td><td>Horário final da pesquisa.</td><td><code>"2017-08-02 00:00:00"</code></td></tr><tr><td>Condition.Order</td><td>char[16]</td><td>O</td><td>Ordem dos resultados. <code>ascOrder</code> (padrão) ou <code>descOrder</code>.</td><td><code>"ascOrder"</code></td></tr><tr><td><strong>SmartMotionDetect</strong></td><td>object[]</td><td>O</td><td>Configuração de Detecção de Movimento Inteligente por canal.</td><td>—</td></tr><tr><td>SmartMotionDetect.Enable</td><td>bool</td><td>O</td><td>Habilita ou desabilita o SMD.</td><td><code>true</code></td></tr><tr><td>SmartMotionDetect.Sensitivity</td><td>char[16]</td><td>O</td><td>Sensibilidade da detecção: <code>Low</code>, <code>Middle</code>, <code>High</code>.</td><td><code>"Middle"</code></td></tr><tr><td>SmartMotionDetect.SmartTrack</td><td>bool</td><td>O</td><td>Habilita rastreamento inteligente.</td><td><code>false</code></td></tr><tr><td>SmartMotionDetect.ObjectTypes</td><td>object</td><td>O</td><td>Tipos de objetos suportados para detecção.</td><td>—</td></tr><tr><td>SmartMotionDetect.ObjectTypes.Human</td><td>bool</td><td>O</td><td>Detecta movimento de pessoas.</td><td><code>true</code></td></tr><tr><td>SmartMotionDetect.ObjectTypes.Vehicle</td><td>bool</td><td>O</td><td>Detecta movimento de veículos.</td><td><code>true</code></td></tr><tr><td>SmartMotionDetect.ObjectTypes.Animal</td><td>bool</td><td>O</td><td>Detecta movimento de animais.</td><td><code>true</code></td></tr><tr><td>SmartMotionDetect.Mode</td><td>char[16]</td><td>O</td><td>Modo de detecção: <code>General</code> ou <code>Agile</code>.</td><td><code>"General"</code></td></tr><tr><td>SmartMotionDetect.DetectRegions</td><td>object[8]</td><td>O</td><td>Áreas de detecção configuradas (poligonais).</td><td>—</td></tr><tr><td>DetectRegions.Name</td><td>char[128]</td><td>O</td><td>Nome da região de detecção.</td><td><code>"region1"</code></td></tr><tr><td>DetectRegions.Region</td><td>uint16[20][2]</td><td>O</td><td>Coordenadas do polígono normalizadas entre <code>0–8191</code>.</td><td><code>[[0,0],[0,8191],[8191,8191],[8191,0]]</code></td></tr><tr><td>DetectRegions.ObjectType</td><td>ObjectTypeInfo</td><td>O</td><td>Tipo de objeto válido para a região. Se o tipo estiver desabilitado em <code>ObjectTypes</code>, a região se torna inválida.</td><td><code>Human</code></td></tr></tbody></table>

***

### Diferença entre Movimento Comum e Inteligente

| Tipo                  | Característica               | Limitação                     |
| --------------------- | ---------------------------- | ----------------------------- |
| Movimento Tradicional | Detecta alteração de pixels  | Alto índice de falso positivo |
| Movimento Inteligente | Detecta e classifica objetos | Exige maior processamento     |

***

### Obter Configurações de Detecção de Movimento Inteligente

**Tópicos:** Consulta as configurações atuais do **Smart Motion Detect (SMD)** no dispositivo, incluindo status, sensibilidade, tipos de objetos detectados e regiões configuradas.

**Exemplo:**

```http
http://<ip>/cgi-bin/configManager.cgi?action=getConfig&name=SmartMotionDetect
```

**Resposta**:

```json
table.SmartMotionDetect[0].Enable=true 
table.SmartMotionDetect[0].Sensitivity=Middle 
table.SmartMotionDetect[0].ObjectTypes.Human=true 
table.SmartMotionDetect[0].ObjectTypes.Vehicle=true 
table.SmartMotionDetect[0].DetectRegions[0].Name=region1 
table.SmartMotionDetect[0].DetectRegions[0].Region[0][0]=0 
table.SmartMotionDetect[0].DetectRegions[0].Region[0][1]=0 
table.SmartMotionDetect[0].DetectRegions[0].Region[1][0]=0 
table.SmartMotionDetect[0].DetectRegions[0].Region[1][1]=4095 
table.SmartMotionDetect[0].DetectRegions[0].Region[2][0]=0 
table.SmartMotionDetect[0].DetectRegions[0].Region[2][1]=8191 
table.SmartMotionDetect[0]. DetectRegions[0].ObjectTypes.Human=true 
table.SmartMotionDetect[0]. DetectRegions[0].ObjectTypes.Vehicle=true 
```

### Definir Configurações de Detecção de Movimento Inteligente

**Tópicos:** Define ou atualiza os parâmetros do **Smart Motion Detect (SMD)** no dispositivo.

**Exemplo:**

```http
http://<ip>/cgi-bin/configManager.cgi?action=setConfig&SmartMotionDetect[0].Enable=true&S
martMotionDetect[0].Sensitivity=Middle&SmartMotionDetect[0].ObjectTypes.Human=true&SmartMotion
Detect[0].ObjectTypes.Vehicle=true
```

**Resposta**:

```
OK
```

### Iniciar Pesquisa de Dados&#x20;

**Tópicos:** *Inicia* uma pesquisa de eventos de **Smart Motion Detect** registrados no dispositivo.

**Métodos: `POST`**` ``/cgi-bin/api/SmdDataFinder/startFind`

**Exemplo:**

```json
{ 
 "Condition": { 
  "Channel": 0, 
  "Channels": [0,1,2,5], 
  "SmdType": ["smdTypeHuman", "smdTypeVehicle", "smdTypeHumanAndVehicle" ], 
  "StartTime": "2017-08-01 00:00:00", 
  "EndTime": "2017-08-02 00:00:00", 
  "Order": "ascOrder" 
 } 
} 
```

**Resposta**:

```json
{ 
 "Token": 1, 
 "Count": 100 
} 
```

### Obter Resultado da Pesquisa de Dados&#x20;

**Tópicos:** Consulta os resultados da pesquisa de eventos SMD iniciada anteriormente.

**Métodos: `POST`**` ``/cgi-bin/api/SmdDataFinder/doFind`

**Exemplo:**

```json
{ 
 "Token": 1, 
 "Offset": 0, 
 "Count": 100 
}
```

**Resposta**:

```json
} 
"SmdInfo": [{ 
"Channel": 1, 
"StartTime": "2017-08-01 00:00:00", 
"EndTime": "2017-08-02 00:00:00", 
"Type": "smdTypeHuman" 
},…{}]
}
```

### Encerrar Pesquisa de Dados&#x20;

**Tópicos:** Finaliza uma pesquisa ativa de dados SMD.

**Métodos: `POST`**`/cgi-bin/api/SmdDataFinder/stopFind`

**Exemplo:**

```json
{ 
"Token": 1
}
```

**Resposta**:

```
{}
```

***

Notas finais:

* Sempre consulte o **getConfig** antes de alterar parâmetros SMD para evitar sobrescrita indesejada.
* Alterações via **setConfig** são aplicadas imediatamente, valide impacto em produção.
* O fluxo de pesquisa SMD segue a sequência obrigatória:\
  **startFind → doFind → stopFind**.
* O **Token** identifica a sessão de busca, reutilize corretamente até encerrá-la.
* Grandes períodos de consulta podem impactar desempenho; use filtros específicos.
* Datas devem estar no formato `YYYY-MM-DD HH:MM:SS`.
* A liberação com **stopFind** é essencial para evitar consumo excessivo de memória.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/cameras-e-gravadores/analise-inteligente-de-movimento.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
