Uma casa monofásica com painéis solares no telhado, um carregador para o carro na garagem e um termoacumulador elétrico. A tarifa tem um preço diurno e um preço noturno mais barato, e a comercializadora paga um preço fixo por cada kWh enviado para a rede. Por volta do meio-dia, num dia de sol, a casa produz mais do que consome. As perguntas: quanto sai, a que preço é valorizado e quanto da energia solar a casa consome ela própria?
Este guia monta essa casa num hub RBgrid real. Dois contadores de energia de precisão rbAmp STD-UI1 medem a alimentação e a linha do inversor; um módulo Basic mede a cozinha, o termoacumulador, o carregador do carro e a garagem. A app valoriza o que você importa ao seu tarifário e o que exporta ao seu preço de venda. É a mesma casa do site Home with solar na demonstração ao vivo, por isso pode ver o resultado final antes de construir qualquer coisa. Os ecrãs deste guia vêm da demonstração e mostram dados de demonstração.

O que terá no fim
- A potência na alimentação neste momento, com o sentido: importação ou exportação.
- O que a solar produz, quanto disso a casa consome e quanto sai.
- A exportação medida e valorizada ao seu preço de venda, ao lado do custo do que importa.
- A potência e o custo de cada circuito ao seu preço de compra, hoje e no mês até agora.
- O histórico de cada circuito, guardado no hub: por hora durante 60 dias, por dia durante cerca de 13 meses, por mês durante 3 anos. Pode transferir qualquer um deles em CSV.
Já monitoriza no Home Assistant? O hub também pode enviar a potência e a energia de cada circuito para o Home Assistant por MQTT; a sua configuração atual pode manter-se como está. O custo de cada circuito ao seu tarifário, o valor da exportação, as vistas do histórico e as notas estão na app RBgrid. → Um medidor de potência para o Home Assistant
O que precisa
| Hub | Uma placa ESP32 com PSRAM e 16 MB de flash — um ESP32-WROVER, ou um ESP32-S3 no módulo N16R8 — e a respetiva alimentação USB. |
| Contador da alimentação | Um rbAmp STD-UI1, um contador de energia de precisão, no kit de 60 A, na alimentação da casa. |
| Contador solar | Um segundo STD-UI1 no kit de 60 A, na linha do inversor. |
| Módulo de circuitos | Um rbAmp Basic UI5 para SCT-013: uma entrada de tensão e cinco canais de corrente: cozinha, termoacumulador, carregador do carro, garagem e um livre. |
| Pinças | Quatro pinças SCT-013 de saída de tensão para os circuitos (abaixo). A alimentação e a linha do inversor usam os sensores próprios dos STD-UI1. |
| Para a configuração | Um cabo USB, um computador com Python (para o esptool), a palavra-passe da sua Wi-Fi e os cabos curtos entre o hub e os módulos. |
O STD-UI1 é um contador de energia de precisão: na alimentação dá a medição exata de toda a casa, e na linha do inversor, de tudo o que os painéis produzem. Conta a energia no próprio módulo, nos dois sentidos, e mantém separadas a importação e a exportação. Cada um vem num kit de 60 A ou de 100 A, com o sensor de corrente emparelhado com o módulo de fábrica; o sensor não é substituível, por isso não há pinça a comprar nem sensor de corrente a escolher na app. Para o disjuntor geral de 63 A e a linha do inversor de 25 A desta casa, o kit de 60 A para ambos. Medido num módulo de produção de cada kit contra um contador de referência, com carga resistiva: erro de corrente ±0.2 % de 0.005 A a 75 A (kit de 60 A) ou até 100 A (kit de 100 A); erro de tensão ±0.2 %.
Escolha cada pinça de circuito como o calibre mais pequeno igual ou superior ao disjuntor do circuito (ver Escolher o calibre das pinças).
| Circuito | Módulo · canal | Disjuntor | Pinça a comprar |
|---|---|---|---|
| Cozinha | Basic UI5 · I0 | 16 A | SCT-013-020 |
| Termoacumulador | Basic UI5 · I1 | 10 A | SCT-013-010 |
| Carregador do carro | Basic UI5 · I2 | 32 A | SCT-013-050 |
| Garagem | Basic UI5 · I3 | 16 A | SCT-013-020 |
A casa de demonstração tem os mesmos dois contadores STD-UI1; distribui os circuitos por um Basic UI1 e um Basic UI3 em vez de um UI5. Qualquer das opções funciona; monte a sua como este guia indica. Não sabe qual é a sua pinça? Veja Qual é o seu SCT-013?
O desenho mostra onde ficam as peças RBgrid no quadro: um sensor próprio do contador por baixo do disjuntor geral e outro na linha do inversor, uma pinça em cada circuito, os três módulos e o hub na calha. Que dispositivos de proteção o seu quadro precisa, e como ficam dispostos, é com o seu eletricista.
O que está no quadro:
- Disjuntor geral 63 A: entrada da rede, na calha DIN
- Fusíveis ≤ 0.1 A: alimentam as entradas de tensão
- Disjuntores de circuito: cozinha 16 A, termoacumulador 10 A, carregador do carro 32 A, garagem 16 A
- Sensor STD-UI1 da alimentação: kit de 60 A, seta da rede em direção à casa
- Contador STD-UI1 da alimentação: entrada de tensão de L e N
- Cabos I²C para o hub
- Disjuntor do inversor 25 A: entrada solar, na calha DIN
- Disjuntor RBgrid 6 A: alimentação do hub
- Sensor STD-UI1 do inversor: kit de 60 A, seta do inversor para o quadro
- Pinças SCT-013: -020 cozinha, -010 termoacumulador, -050 carregador do carro, -020 garagem
- Contador STD-UI1 solar: com o seu próprio fusível ≤ 0.1 A
- rbAmp Basic UI5: quatro circuitos, I4 livre
- Hub RBgrid: ESP32 e uma alimentação USB de 5 V
Segurança. Para qualquer trabalho dentro de um quadro elétrico, chame um eletricista qualificado.
Pince apenas um condutor (L) por circuito, nunca o cabo inteiro: as correntes em L e N anulam-se.
Porque dois STD-UI1? Ao meio-dia a potência da alimentação inverte-se, e a linha solar é produção; um módulo Basic conta apenas um sentido e não oferece o papel Generation. Um STD-UI1 conta os dois sentidos e separa a importação da exportação. Mais em Porque é que a alimentação e a solar estão em contadores STD.
1. Ligar, gravar, conectar
- Ligue os módulos: os dois STD-UI1 e o Basic UI5, as suas entradas de tensão e sensores.
- O STD-UI1 da alimentação: a sua entrada de tensão liga-se como a de um módulo Basic: fio AWG26–22 para os terminais L e N, um fusível de até 0.1 A na linha L. O seu sensor vai no condutor da alimentação, com a seta da rede em direção à casa.
- O STD-UI1 da linha do inversor: a sua entrada de tensão como a da alimentação; o seu sensor na linha do inversor, com a seta do inversor em direção ao quadro da casa, no sentido em que a energia flui quando os painéis produzem.
- O Basic UI5: a sua entrada de tensão em L e N através do seu fusível; as quatro pinças em I0–I3, cada uma com a seta apontada para a carga. Um módulo Basic conta apenas um sentido, por isso uma pinça ao contrário não lê nada.
Coloque cada módulo a menos de 15 cm do hub. Para percursos mais longos, veja a secção sobre o comprimento do barramento no wiring guide do rbAmp. Os cabos I²C dos módulos são ligados ao hub um de cada vez mais tarde, durante Add a module, com o hub desligado.
- Ligue, para já, apenas o STD-UI1 da alimentação ao hub (alimentação, GND, SDA, SCL), no seu endereço I²C de fábrica 0x50. → Quick start, passo 1
- Grave o firmware no hub, ligue-o à sua Wi-Fi e abra a app, em webapp.rbgrid.io ou instalada no hub: siga os passos 2–4 do Quick start e depois volte aqui.
Um hub novo faz do módulo em 0x50 a sua entrada da rede por si próprio, a medição de toda a casa, mais um ponto de tensão. Não há nada a associar para isso.
2. Executar o assistente de configuração
A app abre com um aviso, The hub still has its factory settings. Escolha Set up →. → The setup wizard
- Segurança: defina um token de API e anote-o.
- Local e hora: cenário Home, um nome para o local (a demonstração usa "Demo Home"), o seu fuso horário; confirme que o relógio mostra synchronized.
- Sensores: a entrada da rede já lá está. Deixe o resto para o passo 5.
- Tarifa: introduza o preço diurno, ative There is a night rate (23:00–07:00) e introduza o preço noturno. Deixe Price as on the bill — incl. VAT ativo se os preços da sua fatura incluírem IVA, e verifique o VAT, %: um hub novo começa com 21 %. Em The grid pays per exported kWh, introduza o preço que o seu contrato paga pela exportação: o formulário rápido define-o como preço de venda em cada zona.
A demonstração usa a zona Day 07:00–23:00 a 0.36 e a zona Night 23:00–07:00 a 0.18 por kWh com IVA de 20 % incluído, e um preço de venda de 0.08 por kWh. O plano da demonstração guarda os seus preços sem IVA, por isso o ecrã abaixo mostra 0.30 e 0.15: os mesmos preços, líquidos. Use os preços da sua própria fatura.
O formulário rápido deixa o net metering desligado. O passo 3 completa o plano.
3. Definir o preço de venda e o net metering
Abra Tariffs. → Tariffs
Verifique que cada zona tem um Sell price: o preço do seu contrato por kWh exportado. Não é preciso mexer no rácio de venda. Este contrato compensa a exportação de um mês com a importação, por isso ative também Net metering (monthly kWh credit). Depois Save.
Ative esse interruptor apenas se o seu próprio contrato funcionar assim. Se for pago uma taxa fixa por kWh exportado — uma tarifa Smart Export Guarantee, por exemplo —, deixe-o desligado e defina apenas os preços de venda: a exportação é valorizada a eles de qualquer forma. Na app v1.1.4 e anteriores, os campos de preço de venda ficam ocultos com o net metering desligado; por isso, num hub mais antigo, ligue-o para chegar a eles e desligue-o antes de Save; os preços que escreveu são mantidos.

O plano da demonstração define um rácio de venda em vez disso, porque as suas zonas não têm preço de venda próprio; no seu plano, use preços de venda por zona.
O que faz cada definição:
- A exportação é valorizada ao preço de venda, quer o net metering esteja ligado quer desligado: kWh exportados × preço de venda. Não se lhe acrescentam IVA nem taxas, e não é subtraída ao custo; os dois são mostrados lado a lado.
- Net metering apenas acrescenta um crédito de kWh mensal, mostrado em Economics. Ative-o só se o seu contrato o tiver.
- Se o seu contrato não paga nada pela exportação, o preço de venda tem de ser 0.
O plano da demonstração também lista uma "Standing charge" mensal. Não a copie: os custos na RBgrid são baseados na energia, o hub não inclui encargos fixos em nenhum custo, e o editor não os mostra.
4. Adicionar o contador solar e o módulo Basic
Ligue os dois módulos seguintes um de cada vez, com Points → Add a module: primeiro o STD-UI1 da linha do inversor, depois o Basic UI5. Todos os módulos de fábrica respondem no mesmo endereço, 0x50, por isso de cada vez a app move primeiro o módulo em 0x50 para um endereço livre. Mantém os seus pontos, histórico e definições. → Adding modules
Para cada módulo:
- A app oferece um endereço livre, por exemplo 0x51, e move o módulo em 0x50 para lá.
- Desligue o hub e ligue o cabo I²C do novo módulo ao hub.
- Ligue o hub, abra Add a module novamente e prima Scan e depois Add.
Os novos canais aparecem agora em Free sensors. Os números e endereços dos seus módulos podem ser diferentes dos da demonstração. Não importa: os pontos são conhecidos pelos seus nomes.
5. Associar a linha solar e os quatro circuitos
No ponto da entrada da rede, abra Point setup e defina:
- Input breaker, A: o seu disjuntor geral (63 A na demonstração);
- Input limit, kW: o que a sua alimentação permite (13.8 kW na demonstração). Sem um valor contratado, use disjuntor × 230 V.
O sensor do STD-UI1 é calibrado com o módulo de fábrica, por isso não há sensor de corrente a escolher.
Agrupar os circuitos (opcional). Em Settings → Consumer groups → Add group, adicione "First floor" e depois Save. Deixe a coluna Group abaixo vazia se não agrupar.
Associe cada sensor livre com o seu nome, papel, fase e potência da linha. Abra o Point setup de cada novo ponto para o disjuntor, o sensor de corrente (apenas canais Basic) e o grupo.
| Módulo · canal | Nome | Papel | Potência da linha | Disjuntor | Sensor de corrente | Grupo |
|---|---|---|---|---|---|---|
| STD-UI1 (inversor) | Painéis solares | Generation | 5 kW | 25 A | o do próprio módulo | — |
| Basic UI5 · I0 | Cozinha | Load | 3.68 kW | 16 A | SCT-013-020 | First floor |
| Basic UI5 · I1 | Termoacumulador | Heating/cooling | 2.3 kW | 10 A | SCT-013-010 | First floor |
| Basic UI5 · I2 | Carregador do carro | Charging station | 7.4 kW | 32 A | SCT-013-050 | — |
| Basic UI5 · I3 | Garagem | Load | 3.68 kW | 16 A | SCT-013-020 | — |

- Potência da linha é o que o disjuntor do circuito permite (16 A × 230 V = 3.68 kW).
- Papel Generation marca a linha do inversor como produção. Heating/cooling e Charging station mantêm o termoacumulador e o carregador fora da estimativa de consumo em espera da app, porque funcionam pelo seu próprio horário.
- Fase: L1 para todos, ou deixe por definir: a casa é monofásica. Settings → Mains pode ficar em "Not set — counted as single-phase", ou escolher Single phase.
- Sensor de corrente tem de corresponder à pinça realmente instalada. → Points
Com o carregador do carro associado, aparece Settings → Charging stations: a potência acima da qual uma estação conta como a carregar, e durante quanto tempo tem de estar abaixo antes de uma sessão terminar. A demonstração mantém os valores por defeito, 500 W e 30 minutos. → Charging stations
A orientação do ponto Solar — nada a definir. Com o sensor instalado como acima, com a seta do inversor em direção ao painel, o fluxo no sentido da seta conta como produção num ponto Generation: o Energy Out do ponto Solar panels cresce enquanto os painéis produzem energia. Instale-o nesse sentido e o hub faz o resto.
Se está a atualizar a partir da v1.1.4 e definiu a flag de orientação manualmente uma vez, limpe-a, ou a produção será lida ao contrário. A flag é
invert_signno ponto; defina-o parafalseatravés da API REST do hub — o endereço do hub está em Settings, no cartão Status, e ounit_iddo ponto está na sua página em Point setup → Technical details:
curl -X POST http://<hub address>/api/v1/units/<point id> -H 'Content-Type: application/json' -d '{"invert_sign":false}'
Com um token de API definido, acrescente -H "Authorization: Bearer <token>"; no PowerShell do Windows, Invoke-RestMethod aceita o mesmo corpo. Aplica-se de imediato e fica guardado, e a energia contada antes mantém-se como estava.
Reinicie o hub (Settings → Administration). Um ponto recém-associado mostra valores em tempo real de imediato e começa a guardar histórico depois do reinício; nada medido antes se perde. O hub guarda histórico até 12 pontos; esta casa tem seis.
Verifique: no primeiro dia de sol, confirme no Overview que Solar today: produced … sobe enquanto os painéis produzem. Se não subir, verifique o sentido do sensor da linha do inversor — a seta vai do inversor em direção ao painel (rodar um sensor exige trabalho dentro do quadro). Ao fim do dia, ligue uma carga que conheça, como uma chaleira no circuito da cozinha: o seu ponto e a alimentação devem subir ambos cerca da sua potência nominal.
6. O que a app mostra
O Overview abre em valores monetários. Num dia de sol, ao meio-dia, na demonstração (31 de outubro, 13:00), a linha solar dá cerca de 2.2 kW, a casa consome cerca de 1.2 kW, e o destaque mostra Exporting to grid, cerca de 1.0 kW. A barra House from solar mostra quanto da carga da casa a solar cobre neste momento. O cartão Today acrescenta Exported e Net assim que sai energia. → The Overview
Insights transforma as medições e a tarifa em notas curtas. Naquele momento, na demonstração, dizem:
- Surplus is going to the grid now: 1.0 kW, com a sugestão da app de que the best time to run the water heater, laundry or charging é agora, e a sua nota de que for each such hour, the difference between the buy and sell price of this energy is ≈ €0.28;
- Solar today: produced 8.8 kWh, o que a casa consumiu por si própria, e Exported 3.6 kWh — €0.29;
- Where the money goes today, Month cost forecast e Standby use. O termoacumulador e o carregador do carro não contam para o valor de consumo em espera, porque funcionam pelo seu próprio horário.
Estes são os cálculos estimados da app às suas tarifas atuais, assinalados com ≈. A RBgrid não liga nada: se deixar uma carga a funcionar enquanto há sol, é você que o faz. → Insights
Details acrescenta Exported today e Self-sufficiency à linha de KPI, e o gráfico Distribution, da Solar e da Grid para cada carga e para a rede.
History de hoje, em energia, desenha a importação da alimentação para cima e a exportação para baixo. Escolha também Solar panels, e a exportação do meio-dia alinha-se com a curva solar. Com 7 days, vê um dia de sol depois de um dia nublado. → History

Economics mostra, para o período que escolher, o bloco Generation: Produced, Used on site, Not bought from the grid (uma estimativa ao preço médio de compra do período), Exported com o seu valor de exportação, Self-consumption e Self-sufficiency. Com o net metering ligado, o cartão Net metering — kWh credit mostra o crédito do mês. → Economics

Quanto custa um circuito com solar. O custo de cada circuito é a sua energia ao preço de compra da zona, como se fosse comprada à rede, seja qual for a origem nesse momento. O que paga de facto aparece no contador da alimentação: importação da rede ao preço de compra, com a exportação valorizada ao preço de venda. Not bought from the grid em Economics é a estimativa da app a partir dos totais da alimentação e da produção.
Events tem um cartão na demonstração: o módulo do termoacumulador não responde. O cartão diz sensor not responding, indica o módulo e o canal, e diz o que verificar: a alimentação do módulo e o cabo I2C para o hub. O Overview mostra uma faixa, Sensors not responding: 1 of 6. Their readings are not counted. → Events

Porque é que a alimentação e a solar estão em contadores STD
Um módulo Basic conta apenas um sentido: a potência que flui para a carga. Isso serve para uma cozinha ou um termoacumulador, que só consomem. Não serve para a alimentação de uma casa que exporta, nem para a linha solar.
- A alimentação. Ao meio-dia a potência da alimentação inverte-se: a casa envia energia para fora. Um módulo Basic na alimentação não o veria. O Overview não conseguiria dizer Exporting to grid, nenhuma exportação seria contada, e nada seria valorizado ao seu preço de venda.
- A linha solar. A app não oferece o papel Generation num canal Basic, por isso a solar não pode ser associada aí.
Um contador STD conta os dois sentidos no próprio módulo e mantém separadas a importação e a exportação, por isso a alimentação mostra importação e exportação, e a linha do inversor conta como produção.
O sentido do sensor também importa. Cada sensor vai com a seta da origem em direção ao consumo: na alimentação, da rede para a casa; na linha do inversor, do inversor para o painel; num circuito, em direção à carga. Se a alimentação mostrar exportação quando não tem ponto solar nem de bateria, o Overview di-lo: quase sempre o sensor está ao contrário. Num canal Basic, uma pinça invertida significa que a carga não é medida de todo, e o ponto mostra um alerta.
Escolher o calibre das pinças
Uma pinça tem uma gama, e os dois extremos importam:
- Pequena demais: uma pinça SCT-013 lê corretamente até cerca de 116 % do seu valor nominal; depois as leituras são cortadas e o circuito fica subcontado. O hub assinala sensor limit a partir de cerca de 104 % do valor nominal e clipping a cerca de 116 %. Uma pinça com o valor nominal do disjuntor do circuito fica dentro dessa gama.
- Grande demais: num módulo Basic, correntes muito pequenas leem como zero (abaixo de cerca de 1.5 % do valor nominal da pinça), e a energia abaixo de um limiar correspondente não é contada.
É por isso que a tabela associa cada pinça ao seu disjuntor. → Points
Se um ponto avisa que a sua pinça é pequena demais: a app compara o disjuntor com a corrente a partir da qual a pinça começa a cortar, um valor que o hub reporta — para uma SCT-013 isso é cerca de 16 % acima do valor nominal, portanto cerca de 11.6 A para uma pinça de 10 A. Assim, a pinça de 10 A do termoacumulador no seu disjuntor de 10 A lê bem. Uma pinça com o valor nominal do disjuntor está bem e já não avisa. Na app v1.1.4 e anteriores a verificação usava um limite 10 % abaixo do valor nominal, por isso avisava exatamente nessa combinação — "The line breaker 10 A is above the sensor's limit (9 A)…" — mesmo que a pinça lesse corretamente no seu valor nominal.
Dados de demonstração vs. a sua casa
- O sol da demonstração é uma curva suave das 06:00 às 20:00, multiplicada por um número por dia para o tempo. Não há nuvens a passar, nem estações, nem limites do inversor.
- O cartão Net metering — kWh credit mostra os mesmos valores fixos em todos os locais de demonstração. Não são os desta casa.
- A falha do módulo do termoacumulador é programada e permanente. O registo do hub da demonstração indica outro módulo, por isso o cartão acrescenta que o registo não tem nenhuma falha de leitura para ele. Num hub real, o registo indica o módulo que se calou.
- O histórico de valores monetários da demonstração não inclui IVA, e o seu preço de venda é um valor fixo de 0.08 por kWh.
- A atualização de firmware dos módulos na demonstração é simulada.
- O histórico começa quando configura o hub; os dados de outros sistemas não são importados.
- Os seus números dependem do seu telhado, dos seus circuitos e dos seus preços; nada neste guia garante um valor.
Se algo correr mal
- A alimentação mostra exportação, mas ainda não tem nenhum ponto solar: o Overview diz isso; quase sempre o sensor da alimentação está ao contrário.
- "Solar today" não mostra produção com o sol a brilhar: verifique a flag de orientação do ponto Solar (passo 5), depois o sensor da linha do inversor e o seu sentido (seta do inversor).
- A exportação tem um valor que não esperava: verifique o preço de venda em Tariffs; as exportações são valorizadas a ele com o net metering ligado ou desligado. → Tariffs
- O comando de orientação responde 401: acrescente o seu token de API. Não consegue ligar: verifique o endereço do hub.
- Um módulo deixa de responder: Events indica-o e diz o que verificar. → Events
- Sensor limit ou clipping num circuito: o circuito consome mais do que o valor nominal da pinça; veja Escolher o calibre das pinças.
Próximos passos
- Acrescente mais circuitos: o Basic UI5 tem um canal livre; um hub aceita até oito módulos e guarda histórico até 12 pontos. → Sensors and modules
- Leia os dados para as suas próprias ferramentas (para utilizadores experientes). Além das transferências CSV em History, as suas ferramentas podem ler o histórico de qualquer ponto que guarde histórico (até 12 pontos) através da API REST do hub:
GET /api/v1/history?unit=…&period=hour|day|week|month|year&type=energy|electrical|economics, com um token de leitura se tiver definido um. Ou por MQTT: ocmdhistory, com a resposta emcmd/resp. Os comandos MQTT ainda não verificam um token de leitura, por isso use um broker MQTT com os seus próprios utilizadores. → MQTT - Leia o valor da exportação, o custo líquido e o balanço entre entrada e linhas. → Economics
- Refine a tarifa: mais zonas, taxas por kWh. → Tariffs
- Envie os dados para o Home Assistant: para a sua "Solar production", use o Energy Out do ponto Solar. → Um medidor de potência para o Home Assistant
- Veja a casa acabada: demo.rbgrid.io, Home with solar
- O que faz o crédito mensal de kWh, se o seu contrato compensar a exportação com a importação: Ativou o net metering e os seus custos não mudaram

