fix(pir): acompanha o nível do pino em vez de só a borda de subida
O HC-SR505 segura a saída em alto ~8 s e rearma a cada movimento; com alguém na frente o pino ficava alto direto e passar a mão não gerava borda nova, então o painel parecia não detectar nada. Agora o gpiomon escuta as duas bordas, o nível inicial vem do gpioget e o status/SSE levam `ativo`. A bolinha do Ao vivo fica acesa enquanto o pino está alto, e o modo presença não manda dormir com o sensor ainda segurando. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -49,7 +49,10 @@
|
||||
|
||||
const cfg = $derived(estado.appConfig);
|
||||
// Pontinho do PIR sobre a imagem: verde pulsando nos 8 s depois de cada disparo.
|
||||
const pirAtivo = $derived(!!estado.pir?.ultimo && estado.agora - estado.pir.ultimo * 1000 < 8000);
|
||||
// aceso enquanto o pino do sensor está alto; servidor antigo (sem `ativo`) cai nos 8 s após o disparo
|
||||
const pirAtivo = $derived(
|
||||
estado.pir?.ativo ?? (!!estado.pir?.ultimo && estado.agora - estado.pir.ultimo * 1000 < 8000),
|
||||
);
|
||||
const transmitindo = $derived(!!cfg?.preview);
|
||||
const hora = (t: number) => new Date(t).toLocaleTimeString('pt-BR', { hour: '2-digit', minute: '2-digit', second: '2-digit' });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user