Pontos
Visão geral
Um point é uma grandeza que mede: o seu fornecimento, um circuito, um aparelho. Cada point está ligado a um canal de um módulo rbAmp. O hub guarda os seus valores em tempo real, o seu histórico e o seu custo à sua tarifa.
Há três tipos de points:
- Barramento de tensão: a tensão medida pelo módulo. É a referência da potência de cada point.
- Entrada (Main): o seu fornecimento, a ligação à rede. Mostra toda a sua ligação: o que importa, exporta e paga. (O custo é calculado para cada point.)
- Points normais: tudo o resto, como circuitos e aparelhos.
A entrada e o barramento de tensão são criados para si e não podem ser eliminados: "The main input and the voltage bus cannot be deleted." Por omissão, a entrada é o módulo 0, canal I0. O papel de entrada não pode ser alterado a partir da aplicação.
Os próprios módulos, e como adicionar um, estão descritos na página Sensors and modules.
A página Points
Abra Management → Points. A página lista os seus módulos rbAmp, os seus points e os canais livres. No topo estão Add a module (ver Adding modules) e Refresh.

Enquanto a página carrega, pode ver "Device is initializing — retrying…" (o hub acabou de arrancar) ou "Couldn't load sensors." com Retry. "No sensors detected." significa que o hub não encontrou nenhum módulo.
Avisos do barramento
Os módulos partilham um barramento I2C. Se algo correr mal nele, aparece um aviso no topo:
| Aviso | O que fazer |
|---|---|
| A module bus line is held low — no module can be read. A module may be without power, set to another mode, or wired wrong. | Elimine a causa (um módulo ou um cabo que mantém a linha em baixo). O aviso desaparece em poucos segundos e os módulos voltam sem reiniciar. |
| The module bus is stuck — no readings for n s. A module wired without power blocks the bus. | Verifique as ligações dos módulos e reinicie o hub com Restart now. |
Secções
A página tem estas secções, por esta ordem:
- Remote nodes (ESP-NOW): num hub que pode gerir nós, esta secção fica no topo — o rádio do hub para nós e um cartão por cada nó emparelhado. Os canais de um nó são points como os outros (ver Remote nodes).
- rbAmp modules (n): um cartão por módulo (ver Module cards).
- Points (n): os seus points ligados, cada um como um mosaico em tempo real. Debaixo de cada mosaico está o seu endereço, "module m · channel · I2C bus b · 0xaddr · model" (para uma entrada trifásica: "module m · L1–L3 (3 phases) · I2C bus b"), e um botão Unbind.
- Free sensors (n): canais ainda não ligados a um point, cada um com um botão Bind. Não se oferece um canal que o módulo instalado não tem. Quando todos os canais estão ocupados, a página diz: "No free channels. To add a point, connect another rbAmp module or unbind a point you don't need."
Desligar um point
Unbind remove um point do seu canal. A entrada, uma entrada de reserva e o barramento de tensão não têm botão Unbind, e o seu papel não pode ser alterado a partir da aplicação.
A aplicação pede confirmação. O point deixa de ser medido e sai da visão geral; o canal do sensor fica livre e pode voltar a ser ligado. Unbind e Delete point (na página do point) são a mesma ação: ambos removem o point e apagam para sempre o seu histórico guardado. Se puder precisar dos seus registos mais tarde, descarregue-os primeiro em History (CSV).
Se o hub não responder, a aplicação diz "Couldn't unbind the point" ou "Unbind request failed (device unreachable?)".
Ligar um point
Carregue em Bind num sensor livre. A caixa Bind sensor as a point mostra no topo o endereço do sensor ("Module m · channel · I2C bus b · 0xaddr").

| Campo | Função |
|---|---|
| Name | Obrigatório. Como o point aparece em toda a aplicação. O Home Assistant usa-o como nome do dispositivo. |
| Point ID (optional) | Letras latinas a–z, algarismos 0–9 e _ . -, até 32 caracteres. Se deixar vazio, o hub cria um a partir do nome. O Home Assistant e o MQTT conhecem o point por este ID. |
| IDs of removed points — can be reused | Aparece quando o hub guarda IDs de points removidos. Toque num para o reutilizar (ver abaixo). |
| Role | O que é o point (abaixo). |
| Phase | Em que linha de fornecimento o canal é medido (abaixo). |
| Line rating, kW | Opcional. Usado para a barra de carga do point. |
| Location (optional) | Onde está, para sua referência. |
Em baixo: "Home Assistant entities for the new point appear after the hub restarts."
Papéis
| Papel | Utilização |
|---|---|
| Breaker | um grupo do quadro atrás de um disjuntor |
| Appliance (default) | uma única linha ou aparelho: cozinha, termoacumulador, bomba |
| Load | uma divisão ou piso inteiro |
| Generation | algo que produz energia: painéis solares, eólica |
| Storage | uma bateria que carrega e descarrega |
| Charging station | um carregador de veículo elétrico |
| Heating/cooling | aquecimento, ar condicionado, piso radiante |
| Smart appliance | um aparelho com controlador próprio |
Generation e Storage não são oferecidos nos canais dos módulos BASIC. Grid input e Backup input não estão nesta lista: o papel de entrada não pode ser alterado a partir da aplicação.
Medir um point de produção
Monte a pinça exatamente como todas as outras: a seta no sentido normal do fluxo, que num circuito de produção vai do inversor para a casa. Não existe pinça invertida, nem cablagem especial, nem interruptor de software a configurar. O papel faz o resto: a partir da firmware v1.1.5, um point de Generation conta o fluxo no sentido da seta — da fonte para os consumidores — como produção; por isso mostra potência negativa e a sua energia vai para Energy out.
⚠️ A potência negativa num point de produção está correta — não a "corrija". É para isso que existe o papel. Rodar a pinça para o sinal parecer positivo é a única forma de estragar um point de produção bem montado: a produção passa então para Energy in, e Produced fica em zero.
Há, contudo, duas coisas que podem correr mal:
invert_signdeixado por uma firmware anterior. Antes da v1.1.5, um point de Generation precisava dele para ler a produção. Depois de atualizar, limpe-o (POST /api/v1/units/<id> {"invert_sign": false}), ou o point volta a ler consumo: oinvert_signinverte o resultado além do papel.- O tipo de canal errado. Os canais de um módulo BASIC contam apenas consumo — não veem a injeção — e por isso Generation e Storage não são oferecidos neles. A produção precisa de um canal que meça o sentido. Quais módulos medem o sentido: the rbAmp module guide.
Fase
A fase define a que linha de fornecimento se atribui a carga do canal nos resumos por linha. Num módulo BASIC, cada canal usa a única entrada de tensão do módulo, seja qual for a fase escolhida.
As opções seguem o seu fornecimento:
- sem sistema elétrico definido ainda: não definido, L1, L2, L3, 3 phases;
- monofásico: não definido, L1;
- trifásico: não definido, L1, L2, L3, 3 phases, L1–L2 (two-pole), L2–L3 (two-pole), L3–L1 (two-pole).
Uma opção marcada com "not validated on hardware" ainda não foi verificada em hardware real. Uma entrada trifásica é um conjunto de módulos STD-U3I3 com Use as the three-phase input no respetivo cartão de módulo (ver Sensors and modules).
Reutilizar um ID
Se escolher o ID de um point removido, a caixa avisa que o Home Assistant e o MQTT conhecem o point pelo seu ID e vão continuar o seu histórico antigo como um só point. Se o canal alimenta agora outra carga, dê-lhe um ID novo. O botão passa então a dizer Bind with the previous ID. A partir da firmware v1.1.6, o hub limpa, juntamente com o point, o seu registo de medição líquida, pelo que um ID reutilizado começa o crédito a zero; na v1.1.5 e anteriores herdava o saldo de crédito e o saldo do período do point removido.
Mensagens
- "This point will show live values only: the hub keeps history for 12 points." — as 12 posições de histórico estão todas ocupadas. O point continua a mostrar valores em tempo real.
- "ID «id» is already used by another point." — escolha outro ID.
- "Could not bind" / "Bind request failed (device unreachable?)" — verifique a ligação ao hub e tente de novo.
Um point ligado com o hub em funcionamento começa a guardar histórico após o próximo reinício. O hub guarda o histórico de cada point por hora e constrói dias, meses e anos a partir das horas; por isso, ao ligar, não há nenhuma definição de histórico para escolher.
A página de um point
Toque num mosaico de point para abrir a sua página.

Cabeçalho
Back, o nome do point e uma linha "role · source · status". A origem é rbAmp ou rbAmp BASIC. O estado é normal, no data ou no such channel on the module.
Os chips por baixo do cabeçalho indicam o que o point consegue medir:
- measures import and export, consumption only ou consumption only (BASIC module);
- current only — monitoring, not energy metering: um módulo que só mede corrente;
- energy kept across restarts;
- phase: phase.
Alertas
Quando algo precisa de atenção, aparece um alerta debaixo do cabeçalho:
| Alerta | O que fazer |
|---|---|
| The channel isn't on the fitted module | O point e o seu histórico mantêm-se; os dados retomam quando voltar um módulo com este canal. Não desligue o point enquanto espera. |
| The current sensor seems fitted backwards (BASIC module) | Um módulo BASIC mede apenas o fluxo direto, por isso esta carga não está a ser medida. Rode o sensor no cabo, com a seta no corpo virada para a carga. |
| Readings not corrected for the current transformer | Os valores podem diferir dos reais. A mensagem remete para Point settings → Current sensor: indique a pinça que está realmente montada. Também pode verificar o modelo no cartão do módulo (ver Sensors and modules). Na aplicação v1.1.4 e anteriores remetia para o modelo de TC indicado no cartão do módulo. |
| Live values only | O point não guarda histórico (ver History). |
| The current hits the sensor's limit | Tudo o que estiver acima do limite é cortado e a medição conta menos. Monte um sensor de calibre superior. |
| The load is near the sensor's limit | Acima do limite, a corrente é cortada e a medição conta menos. |
Valores em tempo real
Voltage (num point trifásico, a média das fases), Current (a soma das fases), Power e, se a fonte os medir, Reactive e PF. Uma tensão mais de 10 % abaixo ou acima da nominal é assinalada a vermelho como low ou high. A exportação aparece como "↑ W" na cor de exportação.
Uma entrada trifásica acrescenta uma tabela Per phase (U3I3): L1, L2, L3 com tensão, corrente, potência, potência reativa e PF.
Tendência
Um pequeno gráfico com Power, Voltage ou Energy, por Hours, Days ou Weeks. Mostra os últimos 48 pontos nas linhas e as últimas 24 barras na energia. Os points de produção desenham a produção como positiva. As a table abre os mesmos dados em History.
Contadores
Não se mostram nos módulos que só medem corrente.
- Imported today, com "≈ dinheiro" ao preço médio de compra do dia;
- Exported today (ou Produced today num point de produção), com o seu valor, quando é superior a zero;
- Total imported;
- Total exported (ou Produced in total), quando é superior a zero; não nos módulos BASIC.
Posto de carregamento
Um point com o papel Charging station mostra também Current session: Status e Energy today.
O estado deriva da potência do point, em qualquer canal — incluindo um canal rbAmp normal; não intervém nenhum controlador de posto, e a etiqueta tem a descrição "derived from power". Mostra Charging enquanto a potência do point estiver acima do limiar de carregamento — o do posto, senão o do hub, senão 500 W — e Available abaixo dele. Energy today é a importação do point no dia, e o hub não guarda um histórico de carregamento por sessão.
Configuração do point
Em baixo, Point setup abre as definições do point (ver Point settings), os Technical details (IDs e canal, úteis para o suporte) e Delete point.
Delete point pede confirmação: o point deixa de ser medido e sai da visão geral e da lista de points, e o seu histórico guardado é apagado para sempre — a partir da firmware v1.1.6, juntamente com o seu registo de medição líquida. O canal do sensor fica livre e pode voltar a ser ligado. Depois volta a Points. Se puder precisar dos seus registos mais tarde, descarregue-os primeiro em History (CSV). A entrada e o barramento de tensão não podem ser eliminados.
Definições do point
Point settings guarda apenas os campos que alterou. Enquanto houver alterações por guardar, Save e Cancel ficam no fundo do ecrã; se tentar sair, a aplicação pergunta primeiro. Não há um modo de edição separado.

Fixed in v1.1.4: na firmware do hub v1.1.3 e anteriores, em revisões do chip ESP32 anteriores à v3, mudar o nome de um point podia fazê-lo desaparecer após o reinício seguinte, juntamente com o seu histórico. Atualize o hub para a v1.1.4 antes de mudar nomes de points. Para ver a revisão do seu chip, ligue a placa por USB e execute
python -m esptool --chip esp32 -p <PORT> chip_id: a saída mostra, por exemplo, "ESP32-D0WD (revision v1.1)".
| Campo | Mostrado para | Função |
|---|---|---|
| Name | every point | Mostra quanto do limite já usou. Avisa se outro point já tiver o mesmo nome. O hub fixa o limite em bytes, por isso as letras fora do alfabeto latino ocupam mais espaço. Leia o problema conhecido abaixo antes de mudar o nome. |
| Short name (for diagrams) | every point | Usado no diagrama de fluxo de energia. Também limitado em bytes. Vazio = tirado do nome. |
| Role | all but the voltage bus | Decide se o point conta como produção, posto de carregamento, etc. O papel da entrada não pode ser alterado a partir da aplicação. Os canais BASIC não podem ser Generation nem Storage. |
| Phase | every point | A linha de fornecimento (ver Phase). |
| Input limit, kW (input) / Line rating, kW (others) | all but the voltage bus | A potência permitida da entrada (base do "headroom"), ou o calibre da linha para a sua barra de carga. |
| Input breaker, A / Line breaker, A | all but the voltage bus | A corrente nominal do disjuntor. Vazio = não definido. |
| Current sensor | SCT channels | O modelo de pinça no canal, com a sua gama precisa. Ver abaixo. |
| This station's «charging» threshold, W / idle after a session, min | Charging station points, when the hub offers them | Vazio ou 0 usa os valores gerais do hub de Settings → Charging stations. |
| Group and Group trunk meter | regular points | O grupo é um separador no diagrama de fluxo de energia; crie grupos em Settings → Consumer groups. Um contador de tronco mede o grupo inteiro; os outros points do grupo são a sua discriminação e não se somam por cima. |
| Measured inside | regular points, from firmware v1.1.8 | Indica o point que já mede este — por exemplo, um carregador dentro de um subquadro medido. Tem de ser um point existente diferente deste, não pode ser a entrada e não pode formar um ciclo. Ver Points inside other points abaixo. |
Points dentro de outros points
A partir da firmware v1.1.8, um point pode ser marcado como medido dentro de outro. Use-o sempre que uma das suas pinças já inclua outra: um subquadro e um circuito alimentado por ele, um contador de tronco e uma carga a jusante. O campo diz isso numa linha: "If this load sits behind another point's meter (a sub-panel with its own meter, say), pick that point. Its power then counts once, in that point, and not again in the rest of the input."

O que muda e o que não muda:
- os totais do hub não mudam — são obtidos na entrada e nunca dependeram dos seus points;
- o valor não medido deixa de subtrair duas vezes a carga interior. Sem a marca, o subquadro e a carga que contém são ambos subtraídos à entrada, pelo que o não medido sai mais baixo do que é, e num quadro bem medido pode ficar negativo. → Economics
⚠️ Marque o point interior, não o exterior. A definição diz "este point já está dentro daquele". Fazê-lo ao contrário descreve um quadro que não tem.
Ao eliminar um point — incluindo ao remover o nó que o transportava —, os points que ele continha voltam a ser de primeiro nível: o valor corrige-se sozinho, em vez de manter em silêncio um point pai que já não existe.
Pela API faz-se com PATCH /api/v1/units/{id} e {"inside": <point id>}; 0, "" ou null limpam-no, e units-config indica inside para cada point.
Verificações de limites e disjuntores
- Acima de 1000 kW: a aplicação pede que verifique as unidades (o campo está em kW) e não guarda.
- Mais do que o disjuntor permite, ou (na entrada) muito abaixo dele: a aplicação avisa e propõe um valor coerente calculado a partir do disjuntor, da tensão nominal e do número de condutores.
- Se o disjuntor estiver acima do limite do sensor, a aplicação avisa que a corrente acima do limite é cortada e a medição conta menos: monte um sensor de calibre superior. O limite é a corrente a partir da qual a pinça começa a cortar, tal como o hub a indica — nas pinças SCT-013, cerca de 16 % acima do calibre, ou seja, cerca de 11.6 A numa pinça de 10 A — e é o limite superior da gama "accurate … A" que aparece no cartão do módulo e em Point settings. Uma pinça com o calibre do disjuntor não avisa. Quando o hub não indica essa cifra não há gama nem aviso, o que acontece com os sensores emparelhados de fábrica de um módulo STD. Na aplicação v1.1.4 e anteriores, a verificação usava um limite 10 % abaixo do calibre da pinça, pelo que avisava mesmo quando o calibre era igual ao do disjuntor.
Sensor de corrente
Num canal SCT, escolha a pinça realmente montada. O novo modelo aplica-se de imediato e o módulo reinicia; o hub não. Se o canal tiver sido calibrado de fábrica com o seu sensor, essa calibração perde-se e não pode ser recuperada, por isso altere o modelo só se houver de facto outro sensor montado. Num módulo da série CT, ou num módulo não calibrado, o modelo não pode ser escolhido. Os modelos suportados estão indicados em Channel CT model.
Depois de guardar
- "Point settings saved."
- Depois de uma alteração de papel: "Saved. The role applies immediately; history depth for the new role takes effect after the device reboots."
- "Not saved: …" com o motivo. Se o hub precisar de um token de administrador, a aplicação indica-o.
O que o hub guarda para cada point
Cada registo contém:
- valores elétricos: tensão, corrente e potência médias, potência reativa e aparente, fator de potência, frequência, e o mínimo e o máximo de tensão, corrente e potência;
- energia: importada e exportada no período, mais os contadores acumulados;
- custo e valor de exportação à sua tarifa;
- um indicador de qualidade: por exemplo, um período parcial, um relógio não sincronizado ou uma falha.
Durante quanto tempo se guarda o histórico
| Resolução | Guardado durante |
|---|---|
| Hour | 60 days |
| Day | about 13 months |
| Week | 8 weeks |
| Month | 3 years |
| Year | 10 years |
Tudo fica na memória flash do próprio hub; não é preciso nenhum módulo de armazenamento.
Quantos points guardam histórico
Até 12 points guardam histórico (os primeiros doze que adicionou). Os points a partir do décimo terceiro mostram valores em tempo real mas não guardam histórico.
Um point ligado com o hub em funcionamento começa a guardar histórico após o próximo reinício: a aplicação lembra-o ("Restart the hub to start its history").
Ler os dados
- History mostra um point por hora, dia ou mês (ver History). A tendência na página do point também pode mostrar semanas.
- Economics mostra o custo e o valor de exportação de um point por período (ver Tariffs).
- A API REST e a exportação CSV dão os mesmos registos (ver Source & API).
Resolução de problemas
Um point não mostra dados
- Verifique se o módulo está ligado e se o seu cartão aparece em Points → rbAmp modules (ver Sensors and modules).
- Verifique se o point está ligado ao canal onde está a pinça.
- Se a página mostrar um aviso do barramento, ver Bus warnings.
As leituras de um point parecem erradas
- Verifique o modelo de pinça nos canais SCT (Current sensor) e se a pinça está no seu próprio canal.
- Verifique o sentido da pinça em relação à marca da seta (ver a documentação dos módulos rbAmp).
Um point desapareceu após um reinício
- Se o tiver renomeado na firmware do hub v1.1.3 ou anterior: é um problema conhecido em revisões do chip ESP32 anteriores à v3, corrigido na v1.1.4 (ver Point settings). Atualize o hub e volte a ligar o canal como um point novo.
Um point tem valores em tempo real mas não tem histórico
- Se o adicionou com o hub em funcionamento, reinicie o hub.
- Pode ser o décimo terceiro point ou posterior: só doze points guardam histórico, os do hub e os dos seus nós em conjunto.
- Verifique se o relógio do hub está definido (ver Time). Os registos sem data real são ignorados.
O valor não medido é negativo, ou muito baixo
- Um dos seus points já é medido por outro — um subquadro e um circuito a jusante. Marque o interior como measured inside do exterior (firmware v1.1.8, ver Points inside other points acima).
- Um circuito produtor ligado com o papel errado cai no bloco errado: a produção não é uma linha e nunca é subtraída. → Economics
Um point de produção mostra consumo
- Desde a firmware v1.1.5 é o próprio papel que define o sentido; um
invert_signdeixado por uma firmware anterior inverte-o de novo. Limpe-o (ver Roles).
O point de um nó perdeu o nome, o papel ou os calibres após um reinício
- Isto foi corrigido na firmware v1.1.8: os points dos nós são reconstruídos a partir da lista de nós no arranque, e até à v1.1.8 o nome, o papel, os calibres, a orientação da pinça e o measured inside voltavam aos valores predefinidos. Na v1.1.7 e anteriores, volte a definir após cada reinício — ou atualize o hub. → Remote nodes
Não consigo definir «Measured inside»
- O destino tem de ser um point existente, diferente deste e da entrada, e a cadeia não pode voltar atrás formando um ciclo. O campo só aparece a partir da firmware v1.1.8.