Preços dinâmicos

O preço do seu fornecedor muda a cada 15 minutos; esta página mostra-lhe qual é agora, de onde vem, e qual foi em cada período que o hub já registou.

Onde está: Management → Prices no menu, depois de Points e Tariffs. A página só existe quando o hub indica que consegue fazer preços dinâmicos — firmware do hub 1.2.0 ou posterior. Num hub mais antigo o item do menu não aparece, e se abrir o endereço diretamente a página diz isso, sem perguntar nada ao hub.

Precisa de uma ligação direta ao hub. Se for acedida de outra forma, a página diz: "Dynamic prices are set over a direct connection to the hub."

A página Prices às 13:10: o título «Dynamic prices», a introdução, o bloco «Price now» e o início do gráfico do dia com uma descida ao meio-dia

Como o preço é de facto determinado — o fornecedor, a reserva, o seu plano como alternativa, e o que o seu contrato faz a um preço de mercado — está explicado numa só página: De onde vem o seu preço.


Preço agora

O bloco «Price now»: um chip verde «Price from the primary provider», «in use: Energy-Charts (Fraunhofer ISE)», Buy 13:00–13:15 a €0.2446/kWh com «No. 9 of 96 today, cheapest first», Sell €0.0105/kWh, «Prices known until Thu 12 Nov, 00:00», os chips «Cheap now» e «Low export price», uma linha «Last fetched» e a atribuição por baixo

O chip é o estado, e ao lado dele está a fonte efetivamente em uso:

O chip diz Significa
Price from the primary provider o caso normal
Price from the backup provider o principal não tem preço neste momento
Tomorrow's prices not in yet depois das 15:00 UTC e o de amanhã ainda não chegou
No price from Home Assistant o Home Assistant é a fonte e nada do que enviou cobre o momento atual
No price: the plan applies nada guardado cobre o momento atual, por isso a taxa da zona fixa o preço
Dynamic price off o plano fixa todos os preços

Todos os estados exceto os dois primeiros trazem por baixo uma linha a explicar o que fazer, e a página diz claramente qual a fonte que está a usar — até "in use: the tariff plan" quando essa é a resposta.

Os valores. O preço de compra refere-se ao período indicado ao lado e é o preço tudo incluído: o que um quilowatt-hora neste período lhe custa de facto, já com o seu contrato e os encargos incluídos. Por baixo, a posição do período no dia: "No. 9 of 96 today, cheapest first" — o número mais útil do bloco, porque transforma um preço num juízo sem que tenha de saber qual é um bom preço nesta semana. Prices known until indica até quando à frente o hub tem dados.

As duas etiquetas à direita repetem o que o hub está a publicar para as automações neste momento: ver Notification flags mais abaixo.

As duas linhas de obtenção não estão sempre ambas presentes, e a sua ausência é informação. Last fetched aparece quando o hub já obteve dados desde que arrancou, por isso falta num hub que acabou de reiniciar. Next fetch só aparece enquanto o hub está a tentar de novo — amanhã ainda não publicado, um erro, ou nenhum dado para a sua zona. No estado normal não há nada a agendar e a linha está ausente, o que significa: um Next fetch em falta é o caso normal, não um sinal de que a obtenção parou.

A linha de atribuição é o texto próprio do fornecedor e uma ligação para os seus termos. Não é decoração — é a condição em que os dados são disponibilizados, e diz-lhe o que está a ver.

Quando a obtenção falha

Por baixo dos horários de obtenção, a vermelho: "Last fetch failed:" e o motivo, nas palavras da aplicação — sem ligação ao fornecedor · o fornecedor respondeu com um erro · a resposta do fornecedor não pôde ser lida · o fornecedor recusou o token · sem preços para esta zona · demasiados pedidos, o hub volta a tentar mais tarde.

«Price now» com o estado «Price from the backup provider», a sua explicação, e uma linha vermelha «Last fetch failed: no prices for this zone»

A reserva está a fazer o seu trabalho aqui: o principal respondeu que não tem nada para esta zona, e o hub continuou com a segunda fonte em vez de recorrer ao plano.

«Price now» a mostrar «No price: the plan applies», a sua explicação, e «in use: the tariff plan»

«Price now» às 17:40 com o estado «Tomorrow's prices not in yet» e «Last fetch failed: the provider answered with an error»


Hoje e amanhã

O gráfico sobre dois dias: uma linha em degraus de preços de compra a 15 minutos com uma marca «now», uma linha tracejada de venda, uma faixa castanha por baixo do eixo entre as 02:00 e as 03:00 marcada como vinda da reserva ou do Home Assistant, e a atribuição por baixo

Um degrau por período de 15 minutos, o preço de compra tudo incluído, ao longo de hoje e amanhã, com now assinalado. A linha tracejada é o preço de venda; o interruptor no cabeçalho do bloco oculta-a, e só aparece quando algum período tem um preço de venda.

A faixa por baixo do eixo é a parte que vale a pena aprender a ler. Assinala os períodos que não foram preçados pela sua fonte principal: castanho para a reserva ou para o Home Assistant, e uma marca separada para os períodos que o plano preçou porque nada os cobria. Um gráfico sem faixa é um dia inteiro em preços de mercado; uma faixa numa das extremidades costuma significar que os preços chegaram tarde e o plano cobriu a lacuna.

Antes de os preços de amanhã serem publicados, o gráfico diz isso em vez de parecer avariado:

O mesmo gráfico às 11:30, só hoje, com a mensagem «Tomorrow's prices aren't in yet; they usually arrive after 13:00 CET»

⚠️ Uma segunda metade vazia antes do meio da tarde é normal. Os preços do dia seguinte ainda não existem. O hub começa a pedi-los às 11:00 UTC e costumam chegar depois das 13:00 CET; continua a tentar por sua conta.


De onde vem o preço

As definições. Use a dynamic price está desligado até o ligar, e tudo o que está abaixo só aparece enquanto estiver ligado. Desligado, a página indica o que isso significa: a energia é preçada pelo plano tarifário — e os preços enviados do Home Assistant continuam a aplicar-se, como preço spot.

O formulário de definições: o fornecedor Energy-Charts com o Home Assistant como reserva, a zona de preço «Germany / Luxembourg · EUR», «What Home Assistant sends», a fórmula spot em «Your contract», os campos de factor e markup, os mínimos, e o modo de exportação «Market price × factor − fee»

Provider e Backup provider vêm da lista do próprio hub, e a reserva oferece None. Um fornecedor tudo incluído aparece com · all-in depois do nome — é aí que lê o tipo de um fornecedor, porque no caso de um fornecedor de rede é o hub que o decide, e você não o pode alterar.

Price zone aparece apenas para fornecedores de rede. Com dois definidos, a lista contém só as zonas que ambos servem, cada uma com a sua moeda.

⚠️ Uma zona numa moeda diferente da do seu plano é recusada pelo hub. O campo fica vermelho e diz em que moeda está cada uma. O hub não converte nada: defina primeiro a moeda do plano em Tarifas e só depois escolha a zona. A aplicação deixa-o premir Save; quem diz que não é o hub.

What Home Assistant sends — spot ou all-in — aparece apenas quando o Home Assistant é o fornecedor ou a reserva. Esta é a única parte em que a questão tudo incluído é sua para responder. Se errar, todos os valores de custo da aplicação ficam errados com ele, porque um preço spot tem os seus impostos e o IVA acrescentados, e um preço tudo incluído não deve tê-los.

Your contract indica, numa linha, a fórmula que está a ser aplicada, para o tipo que estiver em vigor. Numa fonte spot segue-se Factor, Markup, e um interruptor para somar por cima a taxa da zona do plano — este último serve para as tarifas de rede horárias, como uma tarifa de rede mais barata à noite, que se sobrepõe a um preço de mercado.

O mesmo formulário a partir de «Your contract» para um fornecedor tudo incluído: a linha «This provider's price already includes fees and VAT; it is used as is», os interruptores «Bill at the hourly mean», «Lowest buy price» e «Lowest sell price», cada um com «None: negative prices pass through», e o modo de exportação «From the provider»

Numa fonte tudo incluída, a linha da fórmula é toda a história e não há campos de contrato: nada do plano é acrescentado, e é exatamente isso que impede que os impostos sejam contados duas vezes.

Bill at the hourly mean, os dois floors e o modo de export price aplicam-se em qualquer dos casos. O que cada um faz, e quando o quer, está em De onde vem o seu preço.


Janelas baratas

O hub calcula quando o preço está baixo e di-lo — na notificação, no registo de eventos e por MQTT.

⚠️ Não comuta nada por si próprio. Uma janela é uma afirmação, não uma ação; uma automação noutro lado é que atua sobre ela.

O bloco «Cheap windows» com três linhas: «Water heater» ligado até uma hora, «Cheap power» à espera do preço, e «Car by 07:00» como períodos mais baratos seguidos antes de uma hora

Cada linha traz o seu estado como um chip — on until, next, not today, waiting for the price, none left before, off — e uma descrição de uma linha da regra, por palavras. Até oito; com oito, o botão passa a ler Up to 8 windows e deixa de aceitar mais.

O diálogo «Window «Car by 07:00»»: Name, um campo Kind truncado para «Cheapest p…», a explicação sobre uma carga que tem de estar concluída até uma hora, «Done by 07:00», «Periods of 15 min» definido para 16 com «4 h of run time», e o interruptor «In one block» ligado

Os três tipos, cada um com a descrição que a aplicação dá sobre a sua finalidade:

Tipo Para
Cheapest periods in a time span uma carga que pode funcionar em qualquer altura de um intervalo, como um termoacumulador
Cheapest periods before a time uma carga que tem de estar concluída até uma hora, como um VE às 07:00
Price below a level funcionar sempre que o preço estiver abaixo de um valor que indica

No diálogo, o campo Kind é estreito e corta o texto para "Cheapest p…". Os dois tipos de "mais baratos" começam da mesma forma, por isso leia a descrição por baixo — é a frase que os distingue.

Periods of 15 min é o tempo de funcionamento que quer, mostrado de volta em horas. In one block pede o funcionamento contínuo mais barato em vez dos períodos mais baratos dispersos — a diferença entre uma hora de aquecimento e quatro separadas.

Apagar uma janela avisa o que isso custa: "Automations that follow it stop getting its on/off."

Notification flags

«Notification flags»: ««Cheap now» below» com 0.25 e ««Low export price» below» com 0.03, cada um com o seu próprio interruptor

Dois níveis, publicados como marcas na notificação para as automações lerem. Cheap now quando o preço de compra está abaixo do seu; Low export price quando o preço de venda está — um sinal para usar a energia em vez de a exportar.

Ao contrário de uma janela, uma bandeira não tem histerese nem antecipação: é uma afirmação sobre o preço neste minuto. O que a notificação contém e como a consumir corretamente está em Saber quando a energia está mais barata.


Picos de importação

«Import peaks»: o ciclo atual com a média de 15 minutos mais alta, a média horária mais alta e a média dos três dias mais carregados, a energia da hora em curso, o ciclo anterior em baixo, o dia de início do ciclo e um botão Reset

A importação mais alta na entrada da rede neste ciclo de faturação, todas as fases em conjunto, como potência. O bloco diz para que serve numa linha — as tarifas de capacidade são faturadas com base em números como estes — e logo a seguir o que não é: apenas medição, não altera nenhum valor de dinheiro na aplicação.

Três valores para o ciclo atual e os mesmos três para o anterior, mais a hora que está a ser acumulada neste momento. Cycle starts on é um dia de 1 a 28; alterá-lo avisa que um novo ciclo começa de imediato e que os valores atuais passam para previous. Reset limpa este ciclo e recomeça a contar.

O que cada valor significa, porque é que o limite de dia é 28, e porque é que não vai coincidir exatamente com o número do seu fornecedor: Os 15 minutos mais altos do mês.


Preços aplicados

«Applied prices» para terça-feira, 10 de novembro: uma tabela de Period, Buy, Sell e Source para os primeiros períodos do dia, um deles com origem no Home Assistant, com um botão «Download CSV»

O preço que o hub efetivamente registou em cada período de 15 minutos fechado, guardado durante 40 dias, com a origem desse preço: fornecedor principal, fornecedor de reserva, Home Assistant ou plano tarifário — e · hourly mean quando a definição horária do seu contrato foi a que fez a faturação.

Download CSV gera um dia como rbgrid_prices_YYYY-MM-DD.csv, com a hora de início na hora do próprio hub, o preço de compra tudo incluído, o preço de venda e a origem.

🔑 Este é o bloco que torna um valor de custo verificável em vez de algo em que é preciso acreditar. Tudo o resto na página diz qual é o preço; este diz o que lhe foi efetivamente cobrado, período a período, com a sua proveniência — e 40 dias chegam para o ter ainda disponível quando chega uma fatura.

Os dias longos são paginados: o hub envia até 400 períodos de cada vez, e a tabela indica quando há mais.

⚠️ Um dia pode ter menos de 96 linhas, e isso não é um preço perdido. O registo guarda os períodos em que o hub esteve a funcionar. Um reinício, uma atualização ou um corte de energia deixa uma lacuna — períodos isolados ou uma hora inteira — e a lacuna significa que o hub não estava lá, não que um preço tenha desaparecido. A energia medida através de uma interrupção continua a ser contada; o que foi cobrado por ela está em Como o custo é calculado.


Noutras partes da aplicação

  • Tarifas — enquanto um preço dinâmico estiver ligado, uma nota no topo di-lo e explica que as taxas das zonas abaixo só se aplicam onde o preço dinâmico não tem valor. Open prices leva de volta aqui; é a única ligação entre as duas páginas.

  • Visão geral — o cartão Today mostra Price now: dynamic com a taxa em vigor.

  • Eventos — o registo do hub inclui as linhas de preço: alterações de configuração, cada obtenção que guardou períodos, mudanças de estado, janelas a abrir e a fechar, e FAIL price: com o respetivo motivo.

O que verificar quando algo parece errado

O item de menu Prices não está lá. O hub não indica preços dinâmicos, o que significa firmware anterior à 1.2.0. A página Tarifas é o que fixa o preço da energia nesse hub.

A página diz que precisa de uma ligação direta. Está a ser acedida através de algo que não é uma ligação direta ao hub. Abra o hub pelo seu próprio endereço.

Save está esmaecido. Ou ainda não mudou nada, ou um campo no ecrã tem um erro — mais frequentemente nenhuma zona escolhida para um fornecedor de rede, ou a reserva definida para o mesmo fornecedor do principal. O campo indica qual.

Premi Save e o hub recusou. A aplicação verifica intervalos e formatos; o resto quem decide é o hub, e diz qual o campo recusado. O habitual é uma zona com preço numa moeda diferente da do seu plano — o hub não converte nada. Para guardar é também preciso definir um token de administrador.

A segunda metade do gráfico está vazia. Antes do meio da tarde isso é normal — o de amanhã ainda não foi publicado. Depois disso, o chip de estado dirá Tomorrow's prices not in yet e a linha de obtenção dirá porquê.

Um troço do gráfico tem uma faixa por baixo. Esses períodos foram preçados pela reserva, pelo Home Assistant ou pelo plano. Isso é a cadeia de recurso a funcionar, não uma avaria — mas se a faixa ocupar a maior parte do dia, a sua fonte principal não está a enviar, e a linha de obtenção por baixo de Price now dirá o que aconteceu.

O preço parece certo mas os meus custos parecem muito altos. Um preço tudo incluído está a ser tratado como um preço spot, por isso os impostos e o IVA do seu plano são acrescentados por cima de um preço que já os continha. Para um fornecedor de rede, leia o tipo na lista de fornecedores (· all-in); para o Home Assistant, verifique What Home Assistant sends. → Como o custo é calculado

«No price from Home Assistant». O Home Assistant é a fonte principal e nada do que enviou cobre o momento atual. A integração que envia preços deixou de os enviar; o hub guarda o que lhe foi dado e não mais do que isso.

Uma janela mostra «waiting for the price». A regra precisa de preços para o intervalo que analisa e ainda não são conhecidos. Resolve-se quando chegarem.

Uma janela mostra «none left before 07:00». Uma regra de antes de uma hora que já usou os seus períodos baratos neste ciclo, ou a que se pede mais tempo de funcionamento do que as horas que restam contêm.

O nome da janela foi recusado. Os nomes são guardados no hub e estão limitados a 23 bytes — uma letra cirílica conta como dois.

Os picos estão vazios e o ciclo ainda não começou. O hub ainda não conhece a hora. Um ciclo é um intervalo de dias locais e não pode começar sem relógio. → Hora

O registo não tem linhas para um dia que me interessa. Ou tem mais de 40 dias, ou o relógio do hub não estava definido nessa altura — os períodos registados antes de o relógio ser definido não recebem linha nenhuma. A lacuna é, por si, a resposta.

As colunas do CSV aparecem juntas na minha folha de cálculo. O separador segue o idioma de apresentação: um ponto e vírgula onde os decimais são escritos com vírgula, caso contrário uma vírgula. Abra-o com a configuração regional correspondente, ou importe-o e escolha o separador.

⚠️ Para qualquer trabalho dentro de um quadro elétrico, chame um eletricista qualificado.