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

Actualizei todos os tarifários para adoptarem as novas TAR a partir de 1 de Junho, incluindo também a alteração relativa à TSE nos tarifários Ibelectra.

Corrigi ainda um pequeno erro nos tomorrow_hours que só manifesta na véspera de uma alteração (de TAR ou do FTS) que levava a que se usasse o valor do dia actual em vez do valor do dia seguinte. Está no Wiki e penso que testei tudo, se encontrarem problemas avisem.

2 Curtiram

Boas,

Testado com sucesso o da Ibelectra bi-horário

Olá,
Não estou a conseguir configurar este template no meu HA, certamente estará alguma coisa a escapar-me e por isso preciso da vossa ajuda.
Já tenho a integração OMIE instalada e a funcionar, embora os 2 sensores de Preço de mecanismo de ajuste estejam a dar valor “desconhecido”, mas o preço marginal ES e PT estão a funcionar bem.
Criei um template sensor, copiando o código disponibilizado ( unique_id: ibelectra_familia_bihorario ), mas depois de reiniciar o HA, não existe nenhum sensor relacionado com a ibelectra… O que é que estarei a fazer mal?
Será que tenho que substituir onde diz “this.entity_id” por algum valor?
Peço desculpa, mas estou um bocadinho perdido e precisava da vossa ajuda.
Obrigado desde já.

Ok, já consegui por a funcionar. Tenho um ficheiro sensores.yaml separado e por alguma razão não estava a conseguir. Meti diretamente no configuration.yaml e funcionou logo.
Os valores é que me parecem altos.
Qual é a fonte dos valores da fórmula? Onde estão publicados?

Deixo aqui a minha proposta, caso pretendas adicionar ao wiki:

Boa tarde a todos,
espero que me consigam ajudar, ando às voltas com isto à dias e parece que a minha sanidade está a escoar devagarinho.
Os apex mencionados na wiki da integração são excelentes e dão para ter uma boa ideia das coisas, mas acontecer que algo deve ter mudados porque os que mostram forecast, por algum motivo, deixaram de mostrar os valores de forma correta e por mais que olhe e teste não consigo perceber o que possa estar errado.
Isto é o gráfico para o dia de hoje:
image
como podem ver, algo de errado ser passa com a curva de forecast, devia estar metade do que mostra, mas por algum motivo a coisa sai sempre com valores disparatados.
O código usado é o seguinte:

  - type: custom:apexcharts-card
    update_interval: 5m
    header:
      show: true
      title: Today/Now
    span:
      start: day
    graph_span: 1d
    all_series_config:
      type: area
      extend_to: false
      stroke_width: 1
      group_by:
        func: avg
        duration: 15m
    series:
      - entity: sensor.solax_x1_hybrid_g3_pv_power_total
        name: Solar
        yaxis_id: power
        fill_raw: 'null'
        transform: return x / 1000
        unit: kW
        show:
          legend_value: false
      - entity: sensor.solax_x1_hybrid_g3_house_load
        name: Load
        yaxis_id: power
        fill_raw: zero
        transform: return x / 1000
        unit: kW
        show:
          legend_value: false
      - entity: sensor.template_ibelectra_familia_simples
        name: Buy
        float_precision: 2
        yaxis_id: price
        type: line
        curve: stepline
        data_generator: |
          return Object.entries(entity.attributes.today_hours)
                       .map(([dateString, price]) => [ new Date(dateString), price ])
        show:
          extremas: true
          legend_value: false
      - entity: sensor.template_luzboa_excedente_indexado
        name: Sell
        float_precision: 2
        yaxis_id: price
        type: line
        curve: stepline
        fill_raw: 'null'
        data_generator: |
          return ((hours) => 
            Object.keys(hours)
                  .map((dateString) => [ new Date(dateString), hours[dateString]])
                  .map(([date, price]) => [ date, (date.getHours() > 6 && date.getHours() < 21) ? price : null])
          )(entity.attributes.today_hours)
        show:
          extremas: true
          legend_value: false
      - entity: sensor.solcast_forecast_today
        name: Forecast
        yaxis_id: power
        type: line
        curve: smooth
        fill_raw: 'null'
        data_generator: |
          return (() => {
            const to_pair = ({period_start,pv_estimate}) => ([
              new Date(period_start),
              pv_estimate
            ])

            const has_solar = ([,kWh]) => kWh !== 0
            const normalize_kW = ({ minutes }) => ([datetime, kWh]) => [datetime, kWh * 60/minutes]

            return entity.attributes.detailedForecast
                        .map(to_pair)
                        .map(normalize_kW({ minutes: 30 }))
                        .filter(has_solar)
          })()
        show:
          legend_value: false
    yaxis:
      - id: power
        align_to: 0.5
      - id: price
        opposite: true
        min: '|-5|'
        max: '|5|'
        align_to: 1

o forecast do dia seguinte também deve estar com algum problema porque esse nem valores apresenta, mas também não é da coisa mais importante para agora

Alguém mais entendido na coisa que eu que consiga perceber que raio de estranho passa-se aqui?

A dado momento deixou de ser necessária esta transformação dos valores do Solcast. É apagar esta linha do Apex.

Edit: também mudaram os nomes das entidades. É consultar os nomes que estão agora no Wiki.

1 Curtiu

Perfeito, ficou a funcionar lindamente
realmente nao tinha reparado nessas mudanças, por mais que visse o codigo nao iria chegar la garantidamente.
ja agora, o oziee/ha-solcast-solar desapareceu, ja fizeram fork para continuar o projecto mas o original, ninguem sabe porquê mas o autor apagou tudo e desapareceu.
A nova versão funcional é esta https://github.com/BJReplay/ha-solcast-solar

Coisa bizarra… estive a ler o histórico disso, basicamente o autor não aguentou a chateação de ter de lidar com (alguns) utilizadores e amuou. Enfim.

Bom dia,

Antes de mais quero agradecer ao Luís e a todos os contribuidores aqui presentes.

Percebo pouco de HA e aos poucos estou a fazer aqui as integrações de todos os dispositivos da casa incluindo agora a questão da eletricidade.

Já consegui fazer alguns graficos e ajustar tudo para os meus valores. O meu grande problema / desejo é querer ter no grafico apex as barras com o preço da omie e a linha com o valor que eu pago.

Consegui fazer um sensor para calcular mas esse sensor apenas mostra até à hora em que estamos.

Consigo fazer algo que calcule o valor para os dados todos do dia?

Isto é, tenho a Omie e ter um sensor/variavel com o calculo da omie/1000 + o resto que eu lhe queira somar mas para as horas todas e não apenas até à hora em que estamos.

Isto é o grafico que tenho de momento.

image

Gostava de ter o valor kWh previsto para o restante dia.

Obrigado!

Já consultaste o Wiki? Tens lá vários exemplos disso, tanto a nível do tarifário como do gráfico.

É preciso mexer com atributos de sensor e usar um data_generator no gráfico, pois caso indicação contrária esses componentes estão feitos para tratar dados do passado e presente.

1 Curtiu

Obrigado Luís vou tentar ver se consigo usar data_generator!

I just installed this on my HA, it was easy and its working out of the box: I get my omie_spot_price_es sensor that I can display on the dashboard and I can use for automations. Thanks a lot.

One question: is there a way for it to show the full day before it’s happened? I can go here in the morning and see the prices for this full day, I’d like to use that for my automations:
https://www.omie.es/es/market-results/daily/daily-market/daily-hourly-price

Ler as últimas 3 mensagens deste tópico…

Thanks, I think this is the one I’m looking for

(sorry I didn’t read it all before posting, it’s long and I don’t speak Portuguese)


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


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