> 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/controle-de-acesso/manutenir-condominio.md).

# Manutenir Condomínio

O comando manutenir condomínio (MC) é utilizado para realizar as operações de RU (acrônimo de Read Update) nos dados do condomínio. O valor para identificar o comando MC é `0x02`. Esse comando é utilizado sempre que algum dispositivo desejar informar ao outro sobre a alteração ou busca dos dados do condomínio.

As manutenções referentes ao cadastro do condomínio 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 condomínio, alteração (`ALTERAR_RECURSO`) ou busca dos dados (`BUSCAR_RECURSO`).

A flag de busca (flag `BUSCAR_RECURSO`) necessita que, ao ser enviada 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`.

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 abaixo, exceto `SUCESSO`.

| Flag                    | Descrição                                                                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| 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 | Nome | Rua | E-mail | Telefone | Bairro | Status | Data | Número | Responsável | CNPJ |
| -- | ---- | --- | ------ | -------- | ------ | ------ | ---- | ------ | ----------- | ---- |
| 4B | 34B  | 34B | 34B    | 6B       | 34B    | 1B     | 6B   | 4B     | 34B         | 7B   |

**Descrição dos campos do comando:**

| Campo       | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                     |                      |        |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | ------ |
| id          | Campo que possui um número único identificador do condomínio. Este valor é fixo e sempre `0x01`. Os dados desse campo possuem o seguinte formato: Exemplo para o ID: 1 MSB `0x01 00 00 00` LSB.                                                                                                                                                                                                                               |                      |        |
| Nome        | Campo que contém o nome do usuário com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para o Nome: Atlas => MSB `0x41 74 6C 61 73 00 ... 00` LSB. As posições (bytes) restantes do campo que não serão utilizados devem ser completadas com `0x00`.                                                                                                                                    |                      |        |
| Rua         | Campo que contém o nome da rua do condomínio. Os dados desse campo possuem o seguinte formato: exemplo para a rua: Joao silva => MSB `0x4A 6F 61 6F 20 73 69 6C 76 61 00 ... 00` LSB. As posições (bytes) restantes do campo que não serão utilizados devem ser completadas com `0x00`.                                                                                                                                       |                      |        |
| E-mail      | Campo que contém o e-mail do condomínio. Os dados desse campo possuem o seguinte formato: exemplo para o e-mail: <paulo@teste.com.br> => MSB `0x70 61 75 6C 6F 40 74 65 73 74 65 2E 63 6f 6d 2e 62 72 00 ... 00` LSB. As posições (bytes) restantes do campo que não serão utilizados devem ser completadas com `0x00`.                                                                                                       |                      |        |
| Telefone    | <p>Campo que contém o telefone residencial do usuário. Os dados desse campo possuem o seguinte formato: exemplo para o telefone residencial: 35 3471 9840 => MSB <code>0x40 98 71 34 35 00 00 00</code> LSB. As posições restantes do campo que não serão utilizados devem ser completadas com 0.<br><br>Este campo está em BCD, onde por exemplo:<br>D1 == Dígito 1<br>D2 == Dígito 2<br>D3 == Dígito 3<br>TEL\[1] - (D2<<4) | D3<br>TEL\[0] – 0x00 | D1</p> |
| Bairro      | Campo que contém o bairro do condomínio. Os dados desse campo possuem o seguinte formato: exemplo para o bairro: teste => MSB `0x74 65 73 74 65 00 ... 00` LSB. As posições (bytes) restantes do campo que não serão utilizados devem ser completadas com `0x00`.                                                                                                                                                             |                      |        |
| Status      | Este campo é "oculto" no cadastro de condomínio. Ele deve ser utilizado para sinalizar se o condomínio está ativo ou inativo. Este campo deve ser sempre zero.                                                                                                                                                                                                                                                                |                      |        |
| Data        | Campo que contém a data de cadastro do condomínio. 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.                                                                                                                                    |                      |        |
| Número      | Campo que contém o número do condomínio.                                                                                                                                                                                                                                                                                                                                                                                      |                      |        |
| Responsável | Campo que contém o nome do responsável/síndico do condomínio com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para o Nome: Paulo => MSB `0x50 61 75 6C 6F 00 ... 00` LSB. As posições (bytes) restantes do campo que não serão utilizados devem ser completadas com `0x00`.                                                                                                          |                      |        |
| CNPJ        | Campo que contém o número de cadastro de pessoa jurídica com caracteres no formato BCD. Posições que não serão utilizados devem ser completadas com `0x00`.                                                                                                                                                                                                                                                                   |                      |        |

Este comando com a flag de `ALTERAR_RECURSO` ao ser enviado para o MIP 1000 IP, permite com que o condomínio seja editado. Neste caso, o datagrama a ser enviado para o MIP 1000 IP deve ter no seu campo de dados as seguintes informações abaixo com o preenchimento obedecendo a tabela acima.

Sendo que no campo ID, quando houver a edição dos dados do condomínio deve-se sempre ter o ID válido um. Para saber quantos condomínios temos cadastrados, use o comando VS (Verificar Sincronismo) que está descrito abaixo neste documento.

Com o uso desta flag de alteração, o MIP pode retornar todas as flags abaixo, mostrando se o comando foi efetivo ou não. O datagrama terá o tamanho padrão com as flags:

| Flag                    | Descrição                                                                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| 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/controle-de-acesso/manutenir-condominio.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.
