Roteiro da Demonstração ao Vivo¶
A seção 11 do briefing do Desafio 6 recomenda demonstrar o ciclo completo: "instalar o sensor, ligar um equipamento de alta potência, ver o alerta disparar e receber a sugestão de horário no aplicativo". Este é o roteiro ensaiável, com checklist e plano B.
1. Checklist pré-demo (véspera)¶
- [ ] Medidor online — badge verde no dashboard, leituras chegando (subscriber MQTT ativo na VPS).
- [ ] Modo demo dos alertas ativado no
.envde produção:ANOMALY_EVAL_EVERY_N=1eANOMALY_COOLDOWN_MINUTES=0, seguido dedocker compose -f docker-compose.prod.yml up -d web mqtt_subscriber(verdocs/alertas.mdseção 4). Alternativa sem tocar no.env: rodarreset_anomaly_cooldownentre ensaios. - [ ] Limite pré-configurado no medidor da demo (ex.: 2000 W — abaixo do chuveiro, acima do consumo base). É o gatilho mais determinístico para a apresentação.
- [ ] Conta da demo com WhatsApp vinculado — enviar qualquer mensagem ao bot ((48) 3058-5297) na véspera, para o número ficar registrado e o alerta chegar no celular no telão.
- [ ] Tarifa branca ativa com os 3 postos cadastrados e
rate_source/rate_source_datepreenchidos (fonte e data de consulta dos valores — exigência da seção 6 do briefing; conferir em/tarifas/). - [ ] Aparelhos confirmados no NILM (chuveiro ao menos) — para a tela "Consumo por Aparelho" e a recomendação de horário terem conteúdo real.
- [ ] Um alerta recente no histórico — garante o card "Último alerta" visível no dashboard desde o início.
- [ ] Site de documentação no ar (
/docs/) — a banca pode querer ver a documentação técnica. - [ ] Gerar o relatório de resultados com os números mais atuais para levar à apresentação:
Consolida cobertura de dados, medido vs. faturado, previsão vs. real, alertas por tipo, NILM (com
docker compose -f docker-compose.prod.yml exec -T web python manage.py export_results > relatorio_resultados.mdevaluate_nilmanexado) e economia das recomendações. - [ ] Ensaiar o roteiro completo ao menos uma vez, cronometrado.
2. Roteiro (≈ 4 minutos, alinhado ao pitch)¶
| Passo | Ação | O que a banca vê | Critério do briefing |
|---|---|---|---|
| 1 (30s) | Abrir o dashboard com o medidor ao vivo | Potência instantânea, tensão, corrente, custo do ciclo atualizando | Leitura em tempo real |
| 2 (30s) | Mostrar o sensor CT clamp instalado no quadro (foto ou ao vivo) | Instalação não invasiva, sem corte de circuito | Prototipo físico |
| 3 (60s) | Ligar o chuveiro (ou outra carga ≥ 2000 W) | Potência salta no dashboard; alerta chega no WhatsApp (telão) e no card "Último alerta" | Alerta disparando corretamente |
| 4 (45s) | Abrir a tela "Consumo por Aparelho" | O acionamento do chuveiro já aparece como evento pendente (detecção em tempo real), com sugestão de aparelho pré-preenchida; composição de consumo | NILM |
| 5 (45s) | Mostrar a recomendação de horário | Melhor posto para o chuveiro com economia em R$ por uso | Sugestão de horário pela tarifa branca |
| 6 (30s) | Perguntar ao bot no WhatsApp: "qual a previsão da minha fatura?" | Resposta em linguagem natural com valor projetado | Assistente / previsão |
3. Plano B¶
- Alerta não chegou no WhatsApp → o card "Último alerta" no dashboard mostra o mesmo conteúdo (a mensagem é sempre registrada); seguir por ali e conferir a Evolution API depois.
- Cooldown segurou um segundo disparo (se o
.envnão estiver em modo demo) →docker compose -f docker-compose.prod.yml exec web python manage.py reset_anomaly_cooldowne repetir. - Chuveiro indisponível no local → o limite pré-configurado dispara com qualquer carga acima do valor; na pior hipótese, reduzir o limite para pouco acima do consumo base e ligar um aquecedor/ferro de passar.
- Sem internet no telão → capturas de tela do ensaio da véspera como fallback (guardar na pasta do pitch).
4. Pós-demo¶
- [ ] Reverter o
.envpara os valores de produção (ANOMALY_EVAL_EVERY_N=5,ANOMALY_COOLDOWN_MINUTES=30) e recriar os containers.