> 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/alarmes/6-descricao-isecnet-v2.md).

# 6 Descrição IsecNet V2

## 6-Descrição IsecNet V2

## 1|Descrição do protocolo IsecNet V2

### 1.1|Definições gerais

* Este protocolo é uma evolução do protocolo ISECNet V1 e a única diferença é o formato do pacote. Ele é utilizado para a comunicação com as centrais de alarme da linha AMT 8000.
* Para recebimento de eventos a AMT 8000 utiliza o mesmo protocolo das demais centrais de alarme (ver aba "2-Receber eventos").

{% hint style="warning" %}
A comunicação entre central de alarmes e software é síncrona, isto é, para todo comando enviado deve haver uma resposta antes de enviar o próximo comando. É muito importante que essa regra seja respeitada a fim de não causar falhas devido ao não tratamento de pacotes concatenados. A central apenas trata 1 pacote por vez.
{% endhint %}

* Timeouts recomendados:
  * Rede cabeada Ethernet/WiFi: 15 segundos
  * Rede celular (GPRS, 3G, 4G): 45 segundos

### 1.2|Formato do protocolo

O protocolo IsecNet V2 foi desenvolvido pela Intelbras e os dados são enviados no formato binário/hexadecimal.

O frame padrão segue o formato abaixo:

| **DST ID** | **SRC ID** | **Num. Bytes** | **Command** | **Data**                                      | **ChkSum** |
| ---------- | ---------- | -------------- | ----------- | --------------------------------------------- | ---------- |
| 2 bytes    | 2 bytes    | 2 bytes        | 2 bytes     | 0 a 1000 bytes (depende do modelo da central) | 1 byte     |

**DST ID** — Endereço destino, para o uso deste documento será sempre `0x0000`. Tamanho = 2 bytes.

**SRC ID** — Endereço origem, para o uso deste documento será sempre `0x0000`. Tamanho = 2 bytes.

**Num Bytes** — Número de bytes, representa a soma da quantidade de bytes dos campos Comando e Dados. Os campos DST ID, SRC ID, ChkSum e Num Bytes não são incluídos na soma. Tamanho = 2 bytes.

**Comando** — Identifica a operação que será executada. Tamanho = 2 bytes.

**Dados** — Dados necessários para a execução do Comando. O tamanho deste campo é variável de acordo com o Comando enviado. Tamanho 0 a 1000 bytes dependendo do modelo da central de alarme.

**ChkSum** — Ver descrição no item 1.3. Tamanho 1 byte.

### 1.3|Cálculo do Check Sum

O Check Sum do frame é calculado executando uma operação XOR entre todos os bytes do frame e um XOR com o valor `0xFF` ao final.

Este campo é utilizado para verificar a integridade dos dados enviados. Tamanho 1 byte.

**Exemplo:** calcular o Check Sum do frame `02 D1 10`.

```
02 XOR D1 = D3

D3 XOR 10 = C3
```

Resultado XOR entre todos os bytes do frame:

```
C3
```

Executar XOR com o valor `0xFF`:

```
C3 XOR FF = 3C
```

Frame final incluindo o Check Sum:

```
02 D1 10 3C
```

Veja abaixo o exemplo de uma rotina de cálculo do checksum em linguagem C:

```c
uint8_t calculaCheckSum(uint8_t buffer[], uint8_t tamanho) {
    uint8_t checkSum = 0;

    for (uint8_t contador = 0; contador < tamanho; contador++) {
        checkSum ^= buffer[contador];
    }

    checkSum ^= 0xFF;

    return checkSum;
}
```

Se tiver dúvidas utilize a aba "A-Cálculo CheckSum" para verificar se o cheksum está sendo calculado corretamente. Basta preencher as células com o valor de cada byte enviado e o checksum será cálculado automaticamente conforme exemplo existente.


---

# 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/alarmes/6-descricao-isecnet-v2.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.
