Perda de geração solar, só com a telemetria do inversor
Uma fileira de placas parou, e o inversor não avisou. Só com a telemetria dele, o estudo estima quanto o sistema deveria gerar e acha a perda; o Sunny explica o resultado em palavras simples.
- Papel
- Coautor, em dupla
- Período
- 2026
- Situação
- em andamento
- Machine learning e dados
- Python
- pandas
- scikit-learn
- XGBoost
- Flask
- Cloudflare Pages
Compreensão simples
O problema
Um sistema de energia solar em casa pode perder geração sem ninguém perceber. Uma fileira de placas para, o inversor não avisa, e quem olha só o total do dia pode passar semanas sem notar.
Para entender o que aconteceu, é preciso ler 55 medidas técnicas do inversor: correntes, tensões, a potência de cada fileira. Até engenheiro se confunde. E a casa quase nunca tem um sensor de sol para dizer se a queda foi nuvem ou defeito.
O que faz
- Aprende o normal da casa
Com o histórico do próprio sistema, estima quanto as placas deveriam gerar a cada momento.
- Compara as fileiras
Se uma fileira cai e a outra, no mesmo sol, não cai, não é nuvem. É perda, e ele mostra onde.
- Explica em palavras simples
Tudo vira um relatório do dia, da semana ou do mês: Tudo certo, Atenção, Problema ou Sem dados, com o que aconteceu e o que fazer.
- Responde perguntas
Um guia em forma de sol responde por voz ou por texto e mostra a resposta na própria tela. Quem confirma a causa é o instalador.
Na tela
Quadros do comercial do Sunny, com os números da instalação estudada.

Toque fora da imagem para fechar.

Toque fora da imagem para fechar.

Toque fora da imagem para fechar.

Toque fora da imagem para fechar.
O que muda
1 em 221
Quem tem o sistema fica sabendo da perda no mesmo dia, em palavras que entende, e sabe o que fazer: olhar o aplicativo do inversor, ver se apareceu uma sombra nova ou chamar o instalador.
A estimativa de quanto o sistema deveria gerar errou cerca de 41% menos que uma regra simples, em semanas que o modelo nunca tinha visto.
E o mesmo caminho pode servir a qualquer casa com um inversor conectado: sem sensor novo, só com os dados que ele já mede.
Compreensão técnica
Problema, otimização e resultado
- Problema
- Detectar e localizar perda de geração num sistema fotovoltaico residencial sem irradiância medida, só com a telemetria nativa de um inversor híbrido: 55 variáveis de 5 em 5 minutos. Na geração total, perda por clima e perda por defeito parecem iguais.
- Otimização
- Cinco estimadores da potência esperada (mediana por horário, Random Forest V1 e três XGBoost) e um detector que compara as duas fileiras com o Sol alto, congelados por SHA-256 antes do teste. O Sunny transforma o resultado em relatório por regras fixas, e um LLM ancorado no relatório explica, sem afirmar a causa física.
- Resultado
- No período reservado de agosto e setembro (55 dias, aberto uma única vez), o MAE diário médio do Random Forest foi 0,448 kW contra 0,754 kW da linha de base, cerca de 41% menor. O detector deu 1 alerta em 221 dias, em 27/09, na perda real de uma fileira que o inversor não registrou.
Evidências
Erro cerca de 41% menor que a linha de base
MAE diário médio no hold-out de 1º de agosto a 27 de setembro de 2026 (55 dias), aberto uma única vez, contra a mediana por horário.
Medido.
1 alerta em 221 dias avaliados
Detector por fileira; 58 desses dias são do hold-out. O alerta caiu em 27 de setembro, na perda real de uma fileira que o inversor não registrou.
Medido.
Modelo e protocolo congelados por SHA-256
Hash conferido antes e depois de cada etapa; o programa se recusa a rodar de novo sobre o hold-out.
Medido.
A pergunta
A telemetria nativa de um inversor híbrido residencial, sem irradiância medida, basta para estimar a potência esperada e para detectar e localizar perdas de geração?
Como foi validado
O Random Forest V1 foi congelado em 7 de julho e o protocolo em 28 de setembro, os dois conferidos por SHA-256. Só então o período reservado de agosto e setembro foi aberto, uma única vez, e o programa se recusa a rodar de novo sobre ele. As hipóteses foram registradas antes do teste, e o resultado de cada uma ficou como saiu.
Na tela



Toque fora da imagem para fechar.

Toque fora da imagem para fechar.

Toque fora da imagem para fechar.

Toque fora da imagem para fechar.
Como funciona
Da telemetria do inversor ao relatório em palavras simples. A IA explica; quem decide são as regras e os modelos.
- Telemetria
55 variáveis do inversor, de 5 em 5 minutos, de 15/01 a 27/09/2026.
Python63.897 registros - Limpeza
Só registros diurnos de dias válidos. Dia sem dado suficiente não conta como dia sem alerta.
pandas - Geração esperada
A mediana por horário, o Random Forest V1 e três XGBoost estimam quanto o sistema deveria gerar.
scikit-learn, XGBoost41% menos erro - Detector
Compara as duas fileiras de placas com o Sol alto e localiza a que perdeu.
pandas1 alerta em 221 dias - Relatório
Regras fixas transformam tudo em Tudo certo, Atenção, Problema ou Sem dados, com causas possíveis e o que fazer.
Python - Guia
Um assistente por LLM explica o relatório da tela e só executa ações de uma lista fechada.
Three.js
Os modelos foram treinados com o histórico da própria instalação e congelados. Antes de qualquer etapa, o programa confere o SHA-256 de cada um e do protocolo, e se recusa a rodar de novo sobre o período reservado. O trecho ao lado é uma forma simplificada do protocolo congelado.
O Sunny avisa e sugere. Quem confirma a causa é sempre o instalador.
{
"congelado_em": "2026-09-28T23:08:03",
"abertura": "única",
"modelos_sha256": {
"v1": "f9302efd…ef084"
},
"base_sha256": "753e397c…a925"
}Decisões
Em vez de: Ajustar o modelo olhando o período de teste.
Custo aceito: As hipóteses que não passaram ficam como refutadas; duas das três foram, e a monografia diz isso.
Em vez de: Comparar só modelos sofisticados entre si.
Custo aceito: O ganho de 41% é medido contra uma referência ingênua, e assim é apresentado.
Em vez de: Instalar um sensor de irradiância na casa.
Custo aceito: Separar nuvem de defeito fica mais difícil; daí comparar uma fileira com a outra.
Em vez de: Olhar só a geração total contra a esperada.
Custo aceito: Precisa de duas fileiras; localiza a perda, mas não diagnostica a causa.
Em vez de: Deixar o assistente dar o diagnóstico.
Custo aceito: Respostas mais contidas; ele fala do relatório da tela e não afirma a causa física.
Como foi construído
- 15/01Começa a série
A telemetria do inversor passa a ser gravada de 5 em 5 minutos.
- 07/07O Random Forest congelado
A V1 é salva e conferida por SHA-256 antes de qualquer teste.
- 27/09A perda real
A corrente da fileira 2 fica em zero desde as 7h30, e o inversor não registra falha.
- 28/09O teste, uma única vez
O protocolo é congelado às 23h08, e o período reservado de agosto e setembro é aberto uma única vez.
- 06/10O Sunny no ar
O relatório em palavras simples vai ao ar; em 10/10 chegam o guia por voz e o Sunny 3D solto na tela.
Limites
- O detector compara fileiras: precisa de pelo menos duas. Ele localiza a perda; a causa física fica com o instalador.
- Treinado e testado numa instalação de duas fileiras, com oito meses e meio de dados.
Hoje e a seguir
Hoje
O estudo está concluído. O Sunny é um protótipo no ar, que lê os dados novos todos os dias com os modelos congelados e explica cada aviso em texto, com a regra usada para o técnico.
A seguir
- Aprendizado contínuo: os modelos evoluírem com os dados novos, validados antes de cada troca.
- Mais instalações, para medir a sensibilidade do detector além de um único evento real.
No ar
- SunnyCloudflare Pages, conferido em 15 de outubro de 2026
TCC em dupla, com orientação na UCL.