Exportação de métricas para Excel
A exportação de métricas fornece qualquer métrica das suas centrais num ficheiro CSV que o Excel e o LibreOffice abrem diretamente. Esta página mostra os casos do dia a dia como ligações prontas a usar, e como ligar o Excel a uma ligação para que um livro se atualize sozinho.
Pré-requisitos
- Uma conta Mirox que possa ler as medições da central que exporta.
- Um token de API do grupo Metric Export — consulte Utilização de tokens de API. Num navegador em que tenha sessão iniciada, uma ligação funciona sem token.
A forma fácil: copiar a ligação da aplicação
Não tem de construir uma ligação à mão.
Abrir no Mirox
Exportação de dados ▸ Métricas — escolha as centrais, as métricas, o período e o passo. O URL da API, por baixo da pré-visualização, é a ligação exatamente dessa seleção, incluindo os componentes que escolheu. Experimentar prepara um token e comandos prontos a usar.
As receitas abaixo mostram o aspeto destas ligações, para que as possa adaptar.
Receita 1: produção de uma central a 15 minutos
Uma semana de injeção na rede, como energia por 15 minutos:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=plant.grid_feedin&start=2026-07-01&end=2026-07-07&step=15min&values=delta" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o production_week.csv
Date;UTC offset;Grid feed-in (kWh)
2026-07-01 00:00;+02:00;0,0
2026-07-01 00:15;+02:00;0,0
2026-07-01 06:15;+02:00;1,3
...
- As horas são a hora local da central. A coluna Desvio UTC torna cada linha inequívoca, também no dia em que a hora muda.
offset_column=falseomite-a;tz=utcexporta em UTC. end=2026-07-07inclui o dia 7 de julho.- Para uma curva da potência em vez da energia, exporte
plant.grid_power.
Receita 2: o mês anterior, todos os meses
Uma ligação com uma predefinição fornece sempre o período completo mais recente. Esta é a ligação para um livro que é atualizado uma vez por mês:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=plant.grid_feedin,plant.rad_pyranometer,availability.inverter_park&window=previous_month&step=day" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o previous_month.csv
Date;Grid feed-in (kWh);Plant-plane radiation, pyranometer (kWh/m²);Inverter availability (park) (%)
2026-08-01;5321,4;6,8;99,6
...
Receita 3: várias centrais lado a lado
Uma coluna por central com multi_park_agg=split:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456,DEF456ABC123&metrics=plant.grid_feedin&window=previous_month&step=day&multi_park_agg=split" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o plants_compare.csv
Date;Sunnyside - Grid feed-in (kWh);Riverbend - Grid feed-in (kWh)
2026-08-01;5321,4;4102,9
...
multi_park_agg=merge, a predefinição, dá uma coluna para todas as centrais em conjunto.portfolio=<uid>seleciona todas as centrais de uma carteira.
Receita 4: todos os inversores
Uma métrica do nível do inversor dá uma coluna por inversor:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=inverter.ac&start=2026-07-01&end=2026-07-07&step=15min" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o inverters.csv
Date;UTC offset;WR 01.01 - AC production per inverter (kWh);WR 01.02 - AC production per inverter (kWh);...
2026-07-01 06:15;+02:00;0,6;0,6;...
- Sem seleção, o ficheiro contém todos os inversores, 50 por página.
lane_page=2dá os 50 seguintes;lane_limit=100dá 100 por página. - Para exportar apenas certos inversores, acrescente
components=inverter:1043,inverter:1044. O diálogo de componentes no separador Métricas coloca as referências na ligação por si. - As strings e as caixas de junção funcionam da mesma forma, com
string.power(energia por string) egak.power(energia por caixa de junção).
Receita 5: todos os sensores de irradiância
Cada sensor individualmente, sem média:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=sensor.irradiance&window=yesterday&step=15min" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o sensors.csv
sensor.irradiation dá a irradiação por sensor em kWh/m², em todos os passos até um ano. O modelo do sistema Sensores de irradiância (CAFE1030CAFE) contém ambos, juntamente com a irradiação do piranómetro da central.
Receita 6: turbinas eólicas
Energia e velocidade do vento de cada turbina, por dia:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=turbine.energy_ac,turbine.wind_speed&window=previous_month&step=day" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o turbines.csv
A potência de uma turbina, turbine.power_ac, é uma métrica de 15 minutos: exporte-a com step=15min.
Receita 7: bateria
Energia carregada e descarregada e o estado de carga do armazenamento, por dia:
curl --compressed "https://service.mirox.io/api/v1/export/series?park=ABC123DEF456&metrics=battery.energy_in_ac,battery.energy_out_ac,battery.soc&window=previous_month&step=day" \
-H "Authorization: Bearer YOUR_API_TOKEN" -o battery.csv
Para contentores, racks, módulos ou células individuais, use as métricas desses níveis, por exemplo battery_box.soc ou battery_cell.voltage. Uma central tem muitas células; escolha as de que precisa no diálogo de componentes.
Excel com Power Query
O Power Query lê uma ligação diretamente, com o token no cabeçalho Authorization. O livro atualiza-se depois com Dados ▸ Atualizar Tudo.
- No Excel, escolha Dados ▸ Obter Dados ▸ De Outras Origens ▸ Consulta em Branco.
- Abra o Editor Avançado e cole a consulta abaixo. Substitua a central, as métricas e o token.
- Quando o Excel perguntar como ligar, escolha Anónimo. O token já está no cabeçalho; qualquer outra escolha faz com que o Excel recuse o cabeçalho.
let
Source = Csv.Document(
Web.Contents(
"https://service.mirox.io",
[
RelativePath = "api/v1/export/series",
Query = [
park = "ABC123DEF456",
metrics = "plant.grid_feedin,plant.rad_pyranometer",
window = "previous_month",
step = "day",
header = "id",
separator_csv = ",",
separator_decimal = "."
],
Headers = [Authorization = "Bearer YOUR_API_TOKEN"]
]
),
[Delimiter = ",", Encoding = 65001, QuoteStyle = QuoteStyle.Csv]
),
Promoted = Table.PromoteHeaders(Source, [PromoteAllScalars = true]),
Typed = Table.TransformColumnTypes(
Promoted,
{
{"timestamp", type date},
{"plant.grid_feedin", type number},
{"plant.rad_pyranometer", type number}
},
"en-US"
)
in
Typed
header=idtorna os cabeçalhos das colunas IDs estáveis. A consulta continua a funcionar quando uma métrica muda de nome ou o idioma muda.- Com
separator_decimal = "."e a cultura"en-US", os números são lidos da mesma forma em todos os computadores, quaisquer que sejam as suas definições regionais. - Num passo inferior a um dia, a coluna
timestampcontém data e hora: usetype datetime. A colunautc_offseté um texto. - As células vazias ficam vazias. Significam «sem dados», não zero.
- Para um modelo, use
RelativePath = "api/v1/export/series/template/CAFE1000CAFE"e omitametrics.
Mantenha o token fora dos livros partilhados
O token faz parte da consulta e viaja com o livro. Crie um token do grupo Metric Export apenas para este fim: pode ler exportações e nada mais, e pode revogá-lo sem tocar nos seus outros tokens.
Abrir o ficheiro CSV no Excel
- Separadores: as predefinições (
;entre colunas,,como separador decimal) abrem diretamente num Excel com definições regionais alemãs. Para definições inglesas, acrescenteseparator_csv=,&separator_decimal=.— os dois têm de ser diferentes. - Datas:
datetime_formataceita um padrão como%d.%m.%Y %H:%Mse precisar de outro formato. - Codificação: os ficheiros estão em UTF-8. Se os caracteres especiais aparecerem errados, importe o ficheiro com Dados ▸ De Texto/CSV.
- Nomes das colunas:
language=de(oues,fr,it,pt) tradu-los. - Tamanho: os ficheiros grandes são comprimidos em trânsito quando o cliente o aceita — daí
--compressednos exemplos. Os navegadores e o Excel fazem-no por si.
Limites
| Limite | Valor |
|---|---|
| Métricas por ligação | 20 |
| Centrais por ligação | 50 |
| Componentes por métrica e página | 50, no máximo 100 |
| Colunas | 400 |
| Valores por coluna | 180 000 — 125 dias a 1 minuto, cinco anos a 15 minutos |
| Valores no total | 1 800 000 |
Uma ligação que pede mais é recusada com 400 over_budget, e a resposta indica o passo ou o período que caberia. Como dividir uma exportação grande está descrito na API de exportação de métricas.
As ligações que já usa continuam a funcionar
As ligações da anterior exportação de dados brutos continuam a fornecer as mesmas colunas. Nada tem de mudar num livro que as use:
https://service.mirox.io/api/v1/export/raw/query?metrics=raw_grid_energy_total&park=ABC123DEF456&start=2026-07-01T00:00:00Z&end=2026-07-08T00:00:00Z&step=15m&value=use_delta
https://service.mirox.io/api/v1/export/raw/query?metrics=raw_grid_energy_total&park=ABC123DEF456,DEF456ABC123&start=2026-07-01T00:00:00Z&end=2026-08-01T00:00:00Z&step=1h&value=use_delta&multi_park_agg=split
https://service.mirox.io/api/v1/export/raw/component/query?metrics=comp_raw_inverter_energy_ac&park=ABC123DEF456&component_type=inverter&start=2026-07-01T00:00:00Z&end=2026-07-08T00:00:00Z&step=15m&value=use_delta
https://service.mirox.io/api/v1/export/raw/component/query?metrics=comp_raw_string_energy&park=ABC123DEF456&component_type=string&components=1084279778457255938&start=2026-07-01T00:00:00Z&end=2026-07-08T00:00:00Z&step=15m&value=use_delta
Os seus equivalentes na exportação de métricas são as receitas 1, 3 e 4 acima. Três coisas diferem: a energia está em kWh em vez de Wh, as horas são a hora local da central em vez de UTC, e as métricas têm os nomes que os relatórios usam. O guia de migração lista cada ID anterior com a sua métrica; as ligações anteriores estão descritas na API de exportação legada.
Funcionalidades relacionadas
- Exportação de métricas — a página Exportação de dados
- API de exportação de métricas — todos os parâmetros, limites e erros
- Gerador de relatórios externo — um exemplo completo em Python
- Utilização de tokens de API — criar o token que os exemplos usam
- FAQ da exportação de dados