O que é esse projeto e onde ele está — antes de entrar nas abas de ação.
Descrição
Controle de acesso do portão externo: teclado/RFID Wiegand IP68, ESP32 com ESPHome, relé chaveando fechadura eletromecânica de sobrepor (fail-secure), integração documental com o Home Assistant.
Decisões
Escolhas de projeto e o porquê — pra não esquecer depois.
Fechadura de sobrepor fail-secure em vez de eletroímã
Portão externo e leve, exposto a vento e quedas de energia; a fechadura mantém o portão fechado sem nobreak e tem chave física de contingência.
Relé por GPIO em vez de relé Zigbee
Validação e abertura locais pelo firmware mesmo com HA ou rede indisponíveis.
Sem protoboard no ambiente litorâneo
Contatos por pressão oxidam com salitre; usar placa com bornes de parafuso ou PCB soldada.
Pendência conhecida: YAML original: PIN em texto no repositório, sem limite de tentativas, switch restaurando estado no boot e reboot_timeout padrão
Corrigido na versão atual; nada testado fisicamente
Home Assistant
Os nomes que vão existir no Home Assistant quando você for configurar as automações — não precisa mexer nisso agora.
método: esphome
Portão Social
lock · lock.portao_social
Notas
Contexto e explicações — o porquê por trás de escolhas do projeto.
Referência de GND comum
GND da fonte 12V, saída do LM2596, GND do ESP32 e GND do teclado devem ser interligados para dar referência estável aos pulsos D0/D1.
Enclosure e maresia
Caixa IP65 com prensa-cabos voltados para baixo. Verniz conformal nas placas depois dos testes. Sem protoboard no ambiente definitivo.
Posição do controlador e tamper
Só o leitor deve ficar do lado de fora. Controlador, relé e fonte ficam no lado seguro. Se não for possível, prever chave de tamper e fiação do relé inacessível por fora.
ESPHome sem Home Assistant
Por padrão api e wifi reiniciam o ESP após 15 min sem HA. O YAML corrigido usa `reboot_timeout: 0s`. Não expor o `lock` a assistentes de voz (Alexa, Google, Nabu Casa). PIN e tag ficam no firmware; trocar exige reflash OTA.
Revisar sintaxe do YAML
A sintaxe de `wiegand` e `key_collector` foi escrita sem consulta à documentação atual do ESPHome. Validar com `esphome config` antes de gravar.