fix(historico): ignora a borda falsa do PIR ao iniciar a leitura do pino

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
julio
2026-10-06 03:43:09 -03:00
co-authored by Claude Opus 5.5
parent 1445ffdcde
commit 4b9e805801
+3
View File
@@ -185,9 +185,12 @@ class Historico:
self.processo_pir = subprocess.Popen(['gpiomon', '-c', chip, '-b', 'pull-down', '-e', 'rising', linha],
stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
self.pir.update(disponivel=True, erro='')
inicio = time.monotonic()
for _ in self.processo_pir.stdout:
if not self.config['pir']:
break
if time.monotonic() - inicio < 2: # o pino "assenta" ao ligar o pull-down
continue
self.pir['ultimo'] = time.time()
self.registrar('pir', 'presença')
erro = (self.processo_pir.stderr.read() or '').strip()[:200]