Repository navigation
Releases: andregoncalvespires/intelbras_alarm
Release list
v2.1.5
Modo Stay (armed_home) na AMT 4010 SMART, condicionado a firmware
O comando de ativação em modo Stay (0x50) e o relato de Away/Stay no próprio STATUS são duas capacidades independentes, cada uma liberada a partir de um firmware diferente — antes, a família inteira era tratada como "suporta Stay" de forma binária:
- Comando Stay: a partir do firmware 5.0. Abaixo disso, o comando existe no protocolo, mas a central não implementa o modo.
- STATUS relatando Away/Stay: só a partir do firmware 5.70. Entre 5.0 e 5.69, o comando funciona mas o STATUS não informa o modo — a integração continua rastreando localmente.
Nos modelos/firmwares com telemetria real (AMT 4010 ≥ 5.70, AMT 2018 E SMART), a própria central passa a ser a fonte autoritativa — corrige a entidade agregada da central podendo ficar dessincronizada das partições individuais, e ativações feitas pelo teclado físico ou outro app agora também entram corretamente nas contagens Home/Away.
Também corrige: supported_features deixou de ser fixado uma vez na criação da entidade e passou a ser reavaliado a cada consulta (evita ficar congelado numa decisão tomada antes do primeiro STATUS válido).
Corrige ordem de leitura do sensor "Último evento (Receptor IP)"
Quando o evento pertence a uma partição, ela agora aparece primeiro no texto ("Partição B — Desativado por — HA"), evitando o formato invertido de antes.
Ver CHANGELOG.md para os detalhes técnicos completos.
v2.1.4
Remove definitivamente send_without_response_in_transaction() (panel_client.py), código não usado em lugar nenhum do pacote — sobra de uma iteração anterior de uma versão testada pela comunidade, que tinha sido restaurada por engano nas versões 2.1.2/2.1.3.
Sem mudanças de comportamento. Ver CHANGELOG.md para detalhes.
v2.1.3
Correção final de processo sobre a v2.1.1/v2.1.2: a pausa de acomodação de 1 segundo após encerrar uma sessão do protocolo legado 0xE7, que eu tinha reaplicado por cima do arquivo recebido, foi removida. Os 8 arquivos-fonte agora são idênticos, byte a byte, ao que foi testado e enviado — confirmado diretamente contra o conteúdo publicado.
Sem mudanças de comportamento além dessa remoção. Ver CHANGELOG.md para detalhes.
v2.1.2
Correção de processo sobre a v2.1.1: uma função sem uso (send_without_response_in_transaction, código morto) tinha sido removida por conta própria durante a implementação, sem essa remoção ter sido pedida. Restaurada integralmente — o arquivo panel_client.py volta a ser byte a byte idêntico ao que foi testado e enviado.
A única diferença funcional real desta série continua sendo a combinada explicitamente: a pausa de acomodação de 1 segundo após encerrar uma sessão do protocolo legado 0xE7, mantida dentro do lock da conexão.
Sem mudanças de comportamento além da restauração do código. Ver CHANGELOG.md para detalhes.
v2.1.1
Versão oficial, promovendo a série de pré-lançamento v2.1.0-beta/v2.1.1-beta após validação extensiva.
Corrige dessincronização de stream TCP após sessão 0xE7 (causa real de timeouts na consulta de status)
A consulta de status às vezes não recebia os 73 bytes esperados por dessincronização de enquadramento do stream — não por timeout insuficiente. A causa raiz completa: 4 bytes residuais eram a segunda metade da própria resposta de logout da central, que a integração nunca lia. Corrigido enviando o logout de verdade, lendo e validando sua resposta completa (checksum confirmado independentemente), e fechando a conexão TCP incondicionalmente ao final de toda sessão 0xE7.
Scheduler próprio de polling, prioridade de comando, disponibilidade corrigida
O update_interval sub-segundo do próprio Home Assistant não é preciso o suficiente para a cadência que esta integração precisa — substituído por um scheduler próprio com precisão real, sem rajadas. Comandos do usuário (armar, desarmar, PGM) agora têm prioridade sobre a próxima consulta periódica. Diversos bugs de disponibilidade corrigidos: entidades e botões de ação agora refletem corretamente quando a comunicação cai ou volta.
Novidades
- Opção para desativar a consulta de tensão independente da senha do app remoto (útil em modelos com firmware antigo)
- Detecção experimental de reinicialização de rede da própria central (sensor de diagnóstico, correlaciona duas conexões TCP)
- Suporte experimental à AMT 8000
- Nomes de zona/usuário agora sobrevivem a reinícios do Home Assistant
Desempenho
- Timeout de leitura da consulta de status reduzido de 3s para 300ms — falha rápido numa troca travada, sem bloquear o ciclo de polling
- Reescritas de estado desnecessárias eliminadas
Ver CHANGELOG.md para o detalhe técnico completo. Histórico integral de cada correção, incluindo comparações com versões alternativas testadas pela comunidade, disponível no histórico do git.
v2.1.1-beta (pré-lançamento — corrige dessincronização de stream pós-0xE7 e senha de tensão)
Corrige dessincronização de stream TCP após sessão 0xE7 (causa real de timeouts na consulta de status)
Diagnóstico do próprio usuário, com log preciso: a consulta de status não estava de fato recebendo os 73 bytes esperados — bytes residuais de uma sessão 0xE7 anterior precediam o frame real, fazendo o leitor genérico interpretar o primeiro byte residual como "Nº Bytes" e esperar um total que nunca fecha. Esse erro não era resolvido aumentando o timeout — a causa é dessincronização de enquadramento do stream, não tempo insuficiente.
Corrigido com timeout total único (sem reiniciar entre drain/cabeçalho/corpo, preservando bytes parciais em log) e fechando a conexão TCP após toda sessão 0xE7 (leitura de nomes/eventos, consulta de tensão), sucesso ou falha — garantindo que o próximo comando sempre comece num stream nunca usado.
Corrige consulta de tensão continuando após remover a senha do app remoto
Remover a senha na reconfiguração da integração não desativava mais a consulta periódica de tensão. Corrigido lendo a senha sempre em tempo real da configuração, em vez de um valor travado na criação da integração.
Novo: opção independente para ativar/desativar a consulta de tensão
Para modelos com firmware antigo, a senha do app remoto é obrigatória só para nomes de zona/eventos — removê-la para desligar a tensão quebraria essa outra funcionalidade também. Nova opção, logo abaixo do campo da senha, permite desligar só a consulta de tensão sem mexer na senha. Sem breaking change: marcada por padrão, preserva o comportamento de quem já usa a funcionalidade hoje.
Ver CHANGELOG.md para os detalhes técnicos completos. Em teste antes de promover para a próxima versão estável.
v2.1.0-beta (pré-lançamento — suporte experimental AMT 8000)
Novidade principal: suporte experimental à AMT 8000
Correção arquitetural importante — scheduler próprio de polling
O update_interval do DataUpdateCoordinator do Home Assistant não é preciso o suficiente para cadência sub-segundo (0,25s) — confirmado no código-fonte do próprio HA, numa simulação isolada e num log real em produção (rajadas de até 8 consultas em menos de 100ms, seguidas de pausas de centenas de ms). Substituído por um scheduler próprio, que nunca tenta "recuperar" atraso e dá prioridade a comandos (PGM/armar/desarmar) sobre o polling periódico.
Tensão da fonte e da bateria — confirmado em hardware real
Duas entidades novas, atualizadas a cada 5 minutos.
Novo: partições armadas ausente/presente
Duas entidades novas.
Também nesta versão
- Filtro na resposta bruta +
always_update=False— evita reescritas de estado desnecessárias - Nomes de zona/usuário persistidos, sobrevivem a reinícios
- Receptor IP não parava mais após recarregar/reconfigurar
- Nomes de usuário nas mensagens do Receptor IP
- Tabela de eventos do Receptor IP ampliada de 68 para 132 códigos
Ver CHANGELOG.md para os detalhes completos. Em teste antes de virar versão estável padrão.
v2.0.3
Correção importante
Integração travava (entidades indisponíveis) ao recarregar ou reconfigurar (ex.: adicionar a senha de leitura de mensagens) — só recuperava com um reinício completo do Home Assistant.
Causa: o fechamento da conexão TCP com a central não tinha timeout de proteção — se a central não confirmasse o fechamento de forma limpa, a chamada podia travar indefinidamente. Corrigido com um timeout de 3s. Testado e confirmado pelo usuário antes desta publicação.
Outras mudanças
- Tabela de modelos/firmwares testados reorganizada nos dois READMEs (observação do firmware 6.2 virou nota de rodapé)
Ver CHANGELOG.md para os detalhes técnicos completos.
v2.0.2
Destaques desde a v2.0.1
Correções de bugs reais
- CPU alta com o switch "Conexão com a central" desligado (agendador do Home Assistant reagendando sozinho sem parar)
- Resposta de status truncada agora tratada como falha isolada e tolerada, não como sucesso incompleto (bug de firmware conhecido, AMT 4010 SMART 6.2)
- 3 bugs corrigidos na leitura legada de EEPROM (nomes de zona/eventos)
Compatibilidade de modelos, bem mais ampla
- 8 novos modelos reconhecidos automaticamente: AMT 2008 RF, AMT 2010, AMT 2018 (base), AMT 2110, AMT 2118 EG, AMT 3010, AMT 2018 E3G, GPRS 1000 UN
- ANM 24 Net: nome corrigido, variante G2 adicionada
- AMT 2018 E Smart: comando de status próprio (
0x5D) implementado corretamente, com dados adicionais exclusivos (diagnóstico de rede/celular, atributos de zonas 25-48, status de Stay reportado pela central)
Nomes de zona e eventos — cobertura bem maior
- Novo caminho (protocolo legado
0xE7+ senha opcional) para modelos/firmwares fora do limiar do0x5C— ex.: AMT 1016 NET com firmware antigo, que antes ficava sem essa função - 12 novos códigos de evento confirmados na tabela de tradução
Ver CHANGELOG.md para o histórico completo, e README_DETALHADO.md para o nível de confiança (testado em campo vs. engenharia reversa) de cada modelo/funcionalidade.
v2.0.2-beta.6 (última beta — teste antes da versão oficial)
Última beta antes de v2.1.0 oficial, assumindo validação bem-sucedida.
Adiciona dados adicionais exclusivos da AMT 2018 E Smart (resposta 0x5D): diagnóstico de rede/celular (2 sensores novos), atributos extras nas zonas 25-48 (sem fio, tamper, curto, bateria, supervisão RF), e status de Stay por partição reportado diretamente pela central. Nada testado contra hardware real ainda.
Ver CHANGELOG.md para o resumo completo de tudo que mudou desde a v2.0.1.