> 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/mip-1000-ip/credenciais/manutenir-rf-xtr.md).

# Manutenir RF (XTR)

O comando manutenir RF (**MR**) é utilizado para realizar as operações de CRUD (acrônimo de Create Read Update Delete) nos dados de um determinado controle XTR. O valor para identificar o comando **MR** é **0x07**. Esse comando é utilizado sempre que algum dispositivo desejar informar ao outro sobre a inclusão, alteração, busca dos dados ou exclusão de um controle.

As manutenções referentes ao cadastro de um controle podem ser realizadas através de qualquer dispositivo com acesso ao MIP 1000 IP. Esse comando é complementado através de *flags* de apoio que sinalizam a opção desejada, ou seja, através do campo “flag” é sinalizado a operação que se deseja realizar com o usuário, inclusão (INCLUIR\_RECURSO), alteração (ALTERAR\_RECURSO), busca dos dados (BUSCAR\_RECURSO) ou exclusão (EXCLUIR\_RECURSO).

As *flags* de exclusão (flag **EXCLUIR\_RECURSO)** ou busca (flag **BUSCAR\_RECURSO**) necessitam que, ao serem enviadas para o MIP 1000 IP, o campo “**dados**” deste comando contenha somente o ID (4 bytes) do usuário que deseja fazer a operação e consequentemente o campo “**tamanho do campo de dados**” será de 0x04 00.

| SUCESSO                 | Enviado caso a operação tenha sido realizada com sucesso.                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| FALHA                   | Sinaliza falha na execução da operação solicitada.                                                                    |
| ERRO\_CHKS              | Enviado se ocorreu um erro de CHKS na conferência dos dados.                                                          |
| IDENTIFICADOR\_RECUSADO | Sinaliza que o id (identificador) enviado é inválido, pois já existe um recurso cadastrado no sistema com o mesmo id. |
| COMANDO\_INV            | Sinaliza o recebimento de um comando inválido, desconhecido.                                                          |

Este comando com a flag de BUSCAR\_ RECURSO tem como resposta o datagrama padrão enviado pelo MIP 1000 IP e com o campo de dados zerado se o ID não for encontrado ou houver algum problema sinalizado pelas flags já vistas acima, exceto SUCESSO. Caso o comando tenha sido executado com sucesso o datagrama retornará com a flag SUCESSO e com o campo de dados com os seguintes dados com seu tamanho dado em bytes:

| ID | ID do usuário | Código  | Status | Data | *Timestamp* | *Bateria Baixa* | Modelo Veículo | Marca Veículo | Placa Veículo | Cor Veículo |
| -- | ------------- | ------- | ------ | ---- | ----------- | --------------- | -------------- | ------------- | ------------- | ----------- |
| 4B | 4 Bytes       | 4 Bytes | 1 Byte | 6 B  | 4 Bytes     | 1B              | 18B            | 18B           | 7B            | 18B         |

Descrição dos campos do comando:&#x20;

| Campo         | Descrição                                                                                                                                                                                                                                                                                         |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID            | Campo que possui um número único identificador do controle RF. Sempre maior que zero e seu valor máximo corresponde ao total de controles XTR cadastrados no MIP 1000 IP. Os dados desse campo possuem o seguinte formato: Exemplo para o ID: 1 **MSB** 0x01 00 00 00 **LSB**.                    |
| ID do usuário | Campo que possui um número único identificador do usuário já cadastrado no MIP 1000 IP. Os dados desse campo possuem o seguinte formato: Exemplo para o ID: 1 **MSB** 0x01 00 00 00 **LSB**.                                                                                                      |
| Código        | Campo que possui um código numérico de identificação do controle RF. Valor capturado pelo MIP 1000 IP através do comando **Leitura controle RF (RF)** visto posteriormente.                                                                                                                       |
| Status        | Este campo é “oculto” no cadastro do controle RF. Ele deve ser utilizado para sinalizar se o controle está ativo (valor 0), inativo (1) ou inativo por perda/roubo (2).                                                                                                                           |
| Data          | Campo que contém a data de cadastro do controle RF. Essa data é formada pelos campos: dd -> dia, mm -> mês, aa -> ano, hh -> hora, mm -> minuto, ss -> segundo. Os dados desse campo possuem o seguinte formato: exemplo para a data: 27/06/2012 15:14:26 => **MSB** 0x1B 06 0C 0F 0E 1A **LSB**. |
| Timestamp     | Campo que contém o *timestamp* do controle, esse campo é oculto durante o cadastro. Valor capturado pelo MIP 1000 IP através do comando **Leitura controle RF (RF)** visto posteriormente.                                                                                                        |
| Bateria Baixa | Indica se o controle está com bateria baixa ou não. Sendo 1 para verdadeiro e 0 para falso.                                                                                                                                                                                                       |

| Campo          | Descrição                                                                                                                                                                                                                                                                                          |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modelo veículo | Campo que contém o modelo do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para o Modelo: Atlas => **MSB** 0x41 74 6C 61 73 00 ... 00 **LSB**. As posições (bytes) restantes do campo que não serão utilizadas devem ser completadas com 0x00. |
| Marca Veículo  | Campo que contém a marca do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para o Modelo: Atlas => **MSB** 0x41 74 6C 61 73 00 ... 00 **LSB**. As posições (bytes) restantes do campo que não serão utilizadas devem ser completadas com 0x00.  |
| Placa Veículo  | Campo que contém a placa do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para a placa: HEG-4833 => **MSB** 0x48 45 47 34 38 33 33 **LSB**.                                                                                                    |
| Cor Veículo    | Campo que contém a cor do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para a cor: Azul => **MSB** 0x41 7A 75 6C 00 ... 00 **LSB**. As posições (bytes) restantes do campo que não serão utilizadas devem ser completadas com 0x00.           |

Este comando com a flag de INCLUIR\_RECURSO ou ALTERAR\_RECURSO ao ser enviado para o MIP 1000 IP, permite com que um controle seja incluído e editado respectivamente. Em ambos os casos o datagrama a ser enviado para o MIP 1000 IP deve ter no seu campo de dados as seguintes informações conforme a tabela apresentada acima. Sendo que no campo ID, quando houver a edição dos dados de um controle deve-se sempre ter o ID válido deste controle. Se a operação for de inclusão, este campo ID deve ser o valor do total de controles do sistema mais um. Caso o id enviado não seja um id valido o MIP 1000 IP irá responder o comando com flag IDENTIFICADOR\_INVALIDO e o campo de dados da seguinte maneira:

#### Id moradores ID vistantes/prest

4B 4B

Descrição dos campos do comando:

ID moradores: Campo que possui um número único do próximo identificador do recurso. Exemplo para o ID: 1 **MSB** 0x01 00 00 00 **LSB.**&#x20;

ID não moradores: Campo que possui um número único do próximo identificador do recurso. Exemplo moradores para o ID: 1 **MSB** 0x01 00 00 80 **LSB.**

Para saber quantos chaveiros temos cadastrados, use o comando **VS** (Verificar Sincronismo) que está descrito abaixo neste documento.

Com o uso destas *flags* de inclusão ou alteração, o MIP 1000 IP pode retornar todas as *flags* abaixo, manifestar-se o comando foi efetivo ou não. O datagrama terá o tamanho padrão com as *flags*:

| SUCESSO                 | Enviado caso a operação tenha sido realizada com sucesso.                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| FALHA                   | Sinaliza falha na execução da operação solicitada.                                                                    |
| ERRO\_CHKS              | Enviado se ocorreu um erro de CHKS na conferência dos dados.                                                          |
| IDENTIFICADOR\_RECUSADO | Sinaliza que o id (identificador) enviado é inválido, pois já existe um recurso cadastrado no sistema com o mesmo id. |
| COMANDO\_INV            | Sinaliza o recebimento de um comando inválido, desconhecido.                                                          |


---

# 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/mip-1000-ip/credenciais/manutenir-rf-xtr.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.
