Integração OMIE: preços horários, diários, mecanismo de ajuste

Boa Pergunta
Acho que está representado em dias.-
Agora deu-me uma branca de como mudar isso! :slight_smile:

@Nuno_Manuel_Costa esses valores parecem realmente elevados.
Para o Simples, tenho isto:

@Joao_Batista na Ibelectra, corrijam-me se estiver errado, o valor é a média do dia, não varia a cada hora como é o caso da Coopérnico.

sinceramente, já não sei. acho que até a Coopérnico mudou isso agora e vai passar a ser diferente…

no fórum Tarifas Energia Portugal, vi que alguém referiu que na Repsol a faturação não é à hora, mas sim à média do período de faturação. Alguém consegue confirmar isto? Se for o caso, o template que criei está errado, e terá que ser ajustado para refletir este facto.

Parece que sim. Recebi novas condições gerais e o clausulado referente ao Preço Indexado está completamente diferente, incluindo um valor adicional de 0,006€/KWh ao qual a fórmula não tem qualquer referência.

Enviei-lhes um pedido de esclarecimentos, parece-me que se estão a portar um bocadinho mal…

Quando tiveres essa informação partilha aqui sff para que se possa proceder à actualização dos templates

Olá @luuuis, andava aqui entretido a fazer uma simulações de tarifários para o meu perfil de consumo e este ano estava a considerar umas mudanças, o que me levou ao tema da recolha de dados da OMIE, que por sua vez me trouxe à tua integração. Parabéns pelo trabalho!

No entanto, ao colocar a integração a correr, notei: 1) Adjustment mechanism price não esta a recolher; 2) Marginal price - Portugal esta a recolher bem, mas parece-me desfasado 1h…

Screenshot 2024-02-06 at 08.35.50

Aparentemente, a formula da Ibelectra mudou. Alguém confirma?
Continua a ser com base no valor médio do dia.

Os valores CS, Perd e K, alguém pode partilhar?

Screenshot 2024-02-06 at 15.38.21

Penso que isso já foi discutido aqui anteriormente. Resumidamente:

  1. O mecanismo de ajuste já não se aplica em 2024, nenhum dos tarifários usa esse valor actualmente. Esse sensor será removido futuramente, podes ignorar.
  2. O desfasamento é correcto e intencional, lê a página do Wiki Interpretação OMIE mercado diário para entender porquê.

O sensor que criei replica essa fórmula, no entanto, no meu caso acho que dá valores muito altos.
Neste momento:
image

@Nuno_Manuel_Costa Esse valor está realmente alto.

Isto é o que tenho:

Usando o sensor que partilhei?
Eu tenho:

@Nuno_Manuel_Costa sim, apenas alterei a variavel “Perdas”

    - unique_id: ibelectra_familia_bihorario
      unit_of_measurement: '€/MWh'
      availability: "{{ state_attr('sensor.omie_spot_price_pt', 'today_average') != None }}"
      state_class: measurement
      state: >
        {% set OMIE = state_attr('sensor.omie_spot_price_pt', 'today_average') -%}
        {% set CGS = state_attr(this.entity_id, 'CGS') -%}
        {% set Perdas = state_attr(this.entity_id, 'Perdas') -%}
        {% set k = state_attr(this.entity_id, 'k') -%}
        {% set TAR = state_attr(this.entity_id, 'TAR') -%}
        {% if None in [OMIE, CGS, Perdas, k, TAR] %}
          {{ None }}
        {% else %}
          {{ ((OMIE+CGS)*(1+Perdas)+k+TAR) | round(2) }}
        {% endif %}
      attributes:
        friendly_name: "Ibelectra Solução Familia (tarifário bi-horário)"
        formula: (OMIE+CGS)*(1+Perdas)+k+TAR
        OMIE: "{{ state_attr('sensor.omie_spot_price_pt', 'today_average') }}"
        CGS: "{{ 7 }}"
        Perdas: "{{ 0.15 }}"
        k: "{{ 3.5 }}"
        TAR_vazio: "{{ 9.2 }}"
        TAR_fora_vazio: "{{ 50.2 }}"
        TAR: "{{ state_attr(this.entity_id, 'TAR_vazio') if now().hour < 8 or now().hour > 21 else state_attr(this.entity_id, 'TAR_fora_vazio') }}"
        today_hours: >
          {% set OMIE = state_attr('sensor.omie_spot_price_pt', 'today_average') -%}
          {% set CGS = state_attr(this.entity_id, 'CGS') -%}
          {% set Perdas = state_attr(this.entity_id, 'Perdas') -%}
          {% set k = state_attr(this.entity_id, 'k') -%}
          {% set ns = namespace(hourly_data=[]) %}
          {% for h in state_attr('sensor.omie_spot_price_pt', 'today_hours') -%}
            {% set TAR = state_attr(this.entity_id, 'TAR_vazio') if h.hour < 8 or h.hour > 21 else state_attr(this.entity_id, 'TAR_fora_vazio') -%}
            {% if None in [OMIE, CGS, Perdas, k, TAR] %}
              {% set price = None %}
            {% else %}
              {% set price=((OMIE+CGS)*(1+Perdas)+k+TAR) | round(2) %}
            {% endif %}
            {% set ns.hourly_data=ns.hourly_data + [(h.isoformat(), price)] %}
          {% endfor -%}
          {{ dict(ns.hourly_data) }}
        tomorrow_hours: >
          {% set OMIE = state_attr('sensor.omie_spot_price_pt', 'tomorrow_average') -%}
          {% set CGS = state_attr(this.entity_id, 'CGS') -%}
          {% set Perdas = state_attr(this.entity_id, 'Perdas') -%}
          {% set k = state_attr(this.entity_id, 'k') -%}
          {% set ns = namespace(hourly_data=[]) %}
          {% for h in state_attr('sensor.omie_spot_price_pt', 'tomorrow_hours') -%}
            {% set TAR = state_attr(this.entity_id, 'TAR_vazio') if h.hour < 8 or h.hour > 21 else state_attr(this.entity_id, 'TAR_fora_vazio') -%}
            {% if None in [OMIE, CGS, Perdas, k, TAR] %}
              {% set price=None %}
            {% else %}
              {% set price=((OMIE+CGS)*(1+Perdas)+k+TAR) | round(2) %}
            {% endif %}
            {% set ns.hourly_data=ns.hourly_data + [(h.isoformat(), price)] %}
          {% endfor -%}
          {{ dict(ns.hourly_data) }}

Então deve ser esse o meu problema pois tenho:
image

Onde podemos consultar este valor?

@Nuno_Manuel_Costa

Esse valor vem dos “Perfis de Perdas”, é definido pela ERSE e está publicado no site da E-REDES.

https://www.e-redes.pt/pt-pt/clientes-e-parceiros/comercializadores/perfis-de-consumo

O valor máximo para 2024 é de 0,1292.
Este é o valor de “Perdas”, ou seja, (1+Perdas) na formula.

Eu uso nos meus sensores sempre 0,15 para “Perdas”.

1 Curtiu

Obrigado.
Fixe era poder ir buscar por dia esse valor.
Em portugal muito gostam de complicar as coisas!

acho que o problema do teu sensor deverá ter a ver com o facto de teres definido como Perdas 1.1604, e depois no cálculo está a ser somado 1. Ficas com o valor efectivo de perdas em 2.1604. Tens que definir as perdas como 0.1604, ou alterar a fórmula para não somar 1.

Obrigado João.
É isso mesmo

Bom dia, antes de mais quero agradecer todo o trabalho que aqui já foi feito por vós.

A minha questão é esta :
olhando para esta imagem, como faço uma automação para ligar (uma tomada por exemplo) quando o valor for mínimo.

Caso este não seja o local adequado, apresento as minhas desculpas.

Captura de Ecrã (3)


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade