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

Impec aqui também. :+1:

Actualizei os tarifários da Coopérnico para reflectir as alterações anunciadas recentemente.

Tarifa Social 2024-04-19 11-38-31

Boa noite,
Desde já o meu obrigado pela integração e partilha do trabalho em https://github.com/luuuis/hass_omie.
Na na passada semana aderi ao repsol livre sem mais e hoje recebi a documentação com os detalhes.

Do calculo do tarifário " Repsol Leve sem Mais simples" vem na formula + TAR. Qual o significado da parcela TAR? porque não vem descrito na formula da repsol?
imagem

Trata-se das Tarefas de Acesso às Redes e não são definidas pela Repsol mas sim pela ERSE.

https://www.erse.pt/atividade/regulacao/tarifas-e-precos-eletricidade

Antes de mais muito obrigado pelo excelente trabalho e pela partilha. Tens ideia de como adaptar para o ciclo semanal?

Sinceramente nunca investiguei muito isso mas se quisesse fazer provavelmente começava por meter a integração ERSE para tratar de gerir qual o tarifário activo (vazio ou outro).

Depois consoante o tarifário activo consegues seleccionar a TAR nos templates dos sensores. Ou se a ERSE permitir seleccionar uma entidade de preço (não sei porque já não uso há algum tempo) melhor ainda.

Como ter no HA a fórmula da Luzboa automatizada? Tentei este: sensor:

  • unique_id: luzboa_spot_price_simples
    unit_of_measurement: ‘EUR/kWh’
    state_class: measurement
    state: >
    {% set PMD = state_attr(‘sensor.omie_spot_price_pt’, ‘day_average’)|float %}
    {% set MIBEL = state_attr(‘sensor.omie_adjustment_price_pt’, ‘day_average’)|float %}
    {% set Desvios = 0 %}
    {% set SAJ = 0.004 %}
    {% set PFC = ((PMD+MIBEL)/1000) + Desvios + SAJ %}
    {% set ER = 1 %}
    {% set FA = 1.02 %}
    {% set PT = 0.1507 %}
    {% set CG = 0.005 %}
    {% set TEPAi = -0.09580 %}{{ (ER PFC (1+PT)) FA+(ER CG)+(ER TEPAi) | round(4) }}
    attributes:
    friendly_name: “Luzboa €/kWh em Simples”
    formula: “(ER
    PFC*(1+PT)) FA+(ER CG)+(ER*TEPAi)”
    PMD: {{ PMD }}
    MIBEL: {{ MIBEL }}
    Desvios: {{ Desvios }}
    SAJ: {{ SAJ }}
    FA: {{ FA }}
    PT: {{ PT }}
    CG: {{ CG }}
    TEPAi: {{ TEPAi }}
    Mas dá erro (retirei daqui: Integração OMIE: preços horários, diários, mecanismo de ajuste - #62 por SchattenMann).

Grato pela ajuda possível.

@luuuis penso que não me enganei para o tarifário plenitude tendencia se quiseres passar os olhos e adicionar ao wiki

image

template:
  sensor:
    - unique_id: plenitude_tendencia_simples
      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 GDOs = state_attr(this.entity_id, 'GDOs') -%}
        {% set Perdas = state_attr(this.entity_id, 'Perdas') -%}
        {% set Fee = state_attr(this.entity_id, 'Fee') -%}

        {% set TAR = state_attr(this.entity_id, 'TAR') -%}
        
        {% if None in [OMIE, CGS, GDOs, Perdas, Fee, TAR] %}
          {{ None }}
        {% else %}
          {{ ((OMIE+CGS+GDOs)*Perdas+Fee+TAR) | round(2) }}
        {% endif %}
      attributes:
        friendly_name: "Plenitude Tendencia (tarifário simples)"
        formula: (OMIE+CGS+GDOs)*Perdas+Fee+TAR
        OMIE: "{{ state_attr('sensor.omie_spot_price_pt', 'today_average') }}"
        CGS: "{{ 0.010 }}"
        GDOs "{{ 0.005 }}"
        Perdas: "{{ 1.1604 }}"
        Fee: "{{ 0.0080 }}"
        TAR: "{{ 0.0365 }}"
        today_hours: >
          {% set OMIE = state_attr('sensor.omie_spot_price_pt', 'today_average') -%}
          {% set CGS = state_attr(this.entity_id, 'CGS') -%}
          {% set GDOs = state_attr(this.entity_id, 'GDOs') -%}
          {% set Perdas = state_attr(this.entity_id, 'Perdas') -%}
          {% set Fee = state_attr(this.entity_id, 'Fee') -%}
          {% set TAR = state_attr(this.entity_id, 'TAR') -%}
          
          {% set ns = namespace(hourly_data=[]) %}
          {% for h in state_attr('sensor.omie_spot_price_pt', 'today_hours') -%}
             {% if None in [OMIE, CGS, GDOs, Perdas, Fee, TAR] %}
              {% set price = None %}
            {% else %}
              {% set price=((OMIE+CGS+GDOs)*Perdas+Fee+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 GDOs = state_attr(this.entity_id, 'GDOs') -%}
          {% set Perdas = state_attr(this.entity_id, 'Perdas') -%}
          {% set Fee = state_attr(this.entity_id, 'Fee') -%}
          {% set TAR = state_attr(this.entity_id, 'TAR') -%}

          {% set ns = namespace(hourly_data=[]) %}
          {% for h in state_attr('sensor.omie_spot_price_pt', 'tomorrow_hours') -%}
            {% if None in [OMIE, CGS, GDOs, Perdas, Fee, TAR] %}
              {% set price=None %}
            {% else %}
              {% set price=((OMIE+CGS+GDOs)*Perdas+Fee+TAR) | round(2) %}
            {% endif %}
            {% set ns.hourly_data=ns.hourly_data + [(h.isoformat(), price)] %}
          {% endfor -%}
          {{ dict(ns.hourly_data) }}

Boas!
Primeiro que tudo, um muito obrigado ao autor da integração. Parece estar muito fixe.

Eu digo parece porque… eu instalei pelo HACS, sem problemas nenhuns, mas não me aparecem os sensores e não apanho nada nos logs.

Alguém tem uma dica para o que possa estar a fazer mal?

Sim, já fiz restart, etc.

Obrigado.

Depois de instalar a integração é necessário configurar a mesma no HA. Isso foi feito?

Clicar aqui:

Open your Home Assistant instance and start setting up a new integration.

Olá Luís. Muito obrigado.

Eu tenho várias integrações instaladas no HACS. A instalação desta não foi diferente daí estar um pouco perdido.

Vou ter que partir a resposta em vários post porque como sou novo no fórum só consigo meter 1 imagem por post.

Fui ver a instalação manual e confirmo que a integração está onde deve estar.

Se agora for ao sitio onde referes que devo clicar, obtenho esta página

mas continuando a página dá um erro:

Nunca tive uma situação destas. Será que tenho algo errado na minha instalação de HA? Está feita num RPI4 com Docker.

Isto aqui tem de referenciar o teu HA, podes usar o lápis para editar.

Personal — Integração OMIE: preços horários, diários, mecanismo de ajuste - Partilha de Projectos - CPHA.pt 2024-05-15 11-43-13

Também podes configurar manualmente, está tudo explicado em

Não conseguia postar mais até haver resposta.
Esquece Luís! Já dei com o problema. Já está tudo ok. E sim, era isso mesmo!!
Tive que alterar o URL e tudo funcionou. Eu tenho um duckdns para aceder por fora.
Muito obrigado por tudo! :+1:

Boa tarde a todos

Novas TAR:
image

AL

Bom dia,

excelente trabalho.

Instalei, mas para os preços de mecanismo, não apresenta valor, sendo como Desconhecido! Onde poderá estar o problema?

Obrigado.

O mecanismo ibérico acabou em 1/1/2024 portanto não há mecanismo nenhum atualmente. Certo que se poderia remover essas entidades, mas basta simplesmente ignorar essas entidades.

Boa tarde,

Obrigado pela resposta.

Faz todo o sentido;)

Obrigado.

nova versão do template Ibelectra Familia Bi horário, a incluir o novo valor de financiamento da Tarifa Social (FTS) a partir de 20 de Junho de 2024, bem como os valores actualizados para as Tarifas de Acesso às Redes, com efeito a partir de 1 de Junho de 2024.

Não fiz para a versão Simples, mas será uma questão de adaptar com as alterações que partilho nesta versão bi horária.

- 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') -%}
        {% set FTS = state_attr(this.entity_id, 'FTS') -%}
      
        {% if None in [CGS, Perdas, k, TAR, FTS] %}
          {{ None }}
        {% else %}
          {{ ((OMIE+CGS)*(1+Perdas)+k+TAR+FTS) | round(2) }}
        {% endif %}
      attributes:
        friendly_name: "Ibelectra Solução Familia (tarifário bi-horário)"
        formula: (OMIE+CGS)*(1+Perdas)+k+TAR+FTS
        OMIE: "{{ state_attr('sensor.omie_spot_price_pt', 'today_average') }}"
        CGS: "{{ 7 }}"
        Perdas_vazio: "{{ 0.1430 }}"
        Perdas_fora_vazio: "{{ 0.1728 }}"
        Perdas: "{{ state_attr(this.entity_id, 'Perdas_vazio') if now().hour < 8 or now().hour > 21 else state_attr(this.entity_id, 'Perdas_fora_vazio') }}"
        k: "{{ 3.5 }}"
        TAR_vazio: "{{ 9.2 if now().date().isoformat() < '2024-06-01' else 15.7 }}"
        TAR_fora_vazio: "{{ 50.2 if now().date().isoformat() < '2024-06-01' else 86 }}"
        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') }}"
        FTS: "{{ 0 if now().date().isoformat() < '2024-06-20' else 2.893 }}"
        today_hours: >
          {% set OMIE = state_attr('sensor.omie_spot_price_pt', 'today_average') -%}
          {% set CGS = state_attr(this.entity_id, 'CGS') -%}
          {% set k = state_attr(this.entity_id, 'k') -%}
          {% set FTS = state_attr(this.entity_id, 'FTS') -%}
          
          {% set ns = namespace(hourly_data=[]) %}
          {% for h in state_attr('sensor.omie_spot_price_pt', 'today_hours') -%}
            {% set Perdas = state_attr(this.entity_id, 'Perdas_vazio') if h.hour < 8 or h.hour > 21 else state_attr(this.entity_id, 'Perdas_fora_vazio') -%}
            {% 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, FTS] %}
              {% set price = None %}
            {% else %}
              {% set price=((OMIE+CGS)*(1+Perdas)+k+TAR+FTS) | 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 k = state_attr(this.entity_id, 'k') -%}
          {% set FTS = state_attr(this.entity_id, 'FTS') -%}

          {% set ns = namespace(hourly_data=[]) %}
          {% for h in state_attr('sensor.omie_spot_price_pt', 'tomorrow_hours') -%}
            {% set Perdas = state_attr(this.entity_id, 'Perdas_vazio') if h.hour < 8 or h.hour > 21 else state_attr(this.entity_id, 'Perdas_fora_vazio') -%}
            {% 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, FTS] %}
              {% set price=None %}
            {% else %}
              {% set price=((OMIE+CGS)*(1+Perdas)+k+TAR+FTS) | round(2) %}
            {% endif %}
            {% set ns.hourly_data=ns.hourly_data + [(h.isoformat(), price)] %}
          {% endfor -%}
          {{ dict(ns.hourly_data) }}
2 Curtiram

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


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