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

**URL:** https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668
**Category:** Partilha de Projectos
**Tags:** energia, omie
**Created:** [19 Fevereiro , 2023 23:05 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668 "2023-02-19T23:05:56Z")
**Posts on this page:** 20
**Page:** 7

<div class="post-metadata">

### Author: ![luuuis](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luuuis/32/14755_2.png) [@luuuis](https://forum.cpha.pt/u/luuuis)
#### Post date: [9 Maio , 2023 21:33 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/123 "2023-05-09T21:33:59Z")

</div>

Obrigado! 🙏

> [@beloso](#):
>
> Acho que devia usar um SQL para o MIBEL, mas lá chegarei

Opá… já começa a aborrecer esta história de termos de estar sempre a repetir os sensores para as várias médias. Ainda vou ter de implementar nativamente as médias na integração como têm vindo a pedir. 🙂

---

<div class="post-metadata">

### Author: ![beloso](https://forum.cpha.pt/user_avatar/forum.cpha.pt/beloso/32/91_2.png) [@beloso](https://forum.cpha.pt/u/beloso)
#### Post date: [9 Maio , 2023 22:07 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/124 "2023-05-09T22:07:41Z")

</div>

Devia ser só mudar o nome do sensor no SQL que partilhei acima. Mas como tem estado a 0. Não o fiz ainda.

Não conheço muito de integrações, nem da API do HA. Mas se conseguires fazer a query pelo recorder / long term statistics / algo na API do HA, e expor como um sensor seria o melhor. Ainda vamos descobrir os múltiplos sabores de SQL neste tópico.

Não vi a API do OMIE, mas se der para fazer query para o mês também seria de considerar.

O chato destes sensores SQL, é que uns usam SQLite outros usam Maria, outros PostgreSQL e por ai fora. Eu não lido com SQL há anos, andei aqui á marrada até conseguir alguma coisa. Mas compreendo que nem todos tenham pachorra para isso. Se o SQL ao menos fosse um único para qualquer engine era mais fácil de gerir.

---

<div class="post-metadata">

### Author: ![Peter](https://forum.cpha.pt/user_avatar/forum.cpha.pt/peter/32/39_2.png) [@Peter](https://forum.cpha.pt/u/Peter)
#### Post date: [9 Maio , 2023 23:36 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/125 "2023-05-09T23:36:07Z")

</div>

Parabéns @luuuis pelo execelente trabalho com a integração OMIE no Home Assistant.

Partindo da excelente iniciativa do @beloso, e como também utilizo MariaDB fui tentar escavar um pouco e cheguei ao seguinte código, agradeço desde já a quem o queira melhorar, mas penso que o resultado final vai de encontro ao pretendido:

```auto
sql:
  - name: omie_spot_pt_30_day_rolling_average
    unique_id: omie_spot_pt_30_day_rolling_average
    query: |-
      SELECT FROM_UNIXTIME(stats.thirty_days) AS window_start,
            FROM_UNIXTIME(stats.start_of_day) AS window_end,
            FROM_UNIXTIME(MIN(start_ts)) AS oldest_measurement,
            FROM_UNIXTIME(MAX(start_ts)) AS newest_measurement,
            COUNT(*) AS measurement_count,
            ROUND(AVG(s.mean), 2) AS mean
      FROM statistics s 
      JOIN statistics_meta m ON s.metadata_id = m.id
      CROSS JOIN (
          SELECT UNIX_TIMESTAMP(CURDATE() - INTERVAL 30 DAY) AS thirty_days,
                 UNIX_TIMESTAMP(CURDATE()) AS start_of_day
      ) AS stats
      WHERE statistic_id = 'sensor.omie_spot_price_pt'
      AND start_ts >= stats.thirty_days
      AND start_ts < stats.start_of_day
    column: 'mean'
    unit_of_measurement: 'EUR/MWh'

```

Resultado:  
 ![Screenshot_1](https://forum.cpha.pt/uploads/default/original/2X/2/2b15fc8fa67b52fe12789d73ee67861f9c245c96.png)

PS: Editei o código para ficar similar aos anteriores

---

<div class="post-metadata">

### Author: ![miguellandre](https://forum.cpha.pt/user_avatar/forum.cpha.pt/miguellandre/32/9851_2.png) [@miguellandre](https://forum.cpha.pt/u/miguellandre)
#### Post date: [13 Maio , 2023 22:06 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/126 "2023-05-13T22:06:53Z")

</div>

Fiz atualização para a v1.0.0 e fiquei com alguns sensores indisponíveis. Será que me falta fazer mais alguma coisa?

---

<div class="post-metadata">

### Author: ![luuuis](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luuuis/32/14755_2.png) [@luuuis](https://forum.cpha.pt/u/luuuis)
#### Post date: [14 Maio , 2023 08:28 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/127 "2023-05-14T08:28:02Z")

</div>

É difícil ajudar só com essa informação.

Os atributos dos sensores mudaram na v1, se os usas nos teus template vais ter de actualizar (conforme os exemplos no wiki).

---

<div class="post-metadata">

### Author: ![miguellandre](https://forum.cpha.pt/user_avatar/forum.cpha.pt/miguellandre/32/9851_2.png) [@miguellandre](https://forum.cpha.pt/u/miguellandre)
#### Post date: [14 Maio , 2023 08:47 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/128 "2023-05-14T08:47:24Z")

</div>

Foi falta de leitura 😂 já estive a ver no teu github.  
Assim que poder já vou ver se consigo alterar.  
Obrigado

---

<div class="post-metadata">

### Author: ![JLopes](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jlopes/32/9992_2.png) [@JLopes](https://forum.cpha.pt/u/JLopes)
#### Post date: [14 Maio , 2023 17:59 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/129 "2023-05-14T17:59:35Z")

</div>

Tenho exatamente esta necessidade para calcular o valor em bihorario. Tenho o ciclo semanal, ou seja, ao fim-de-semana as médias são diferentes. Alguma sugestão de alteração para o ciclo semanal?

---

<div class="post-metadata">

### Author: ![luuuis](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luuuis/32/14755_2.png) [@luuuis](https://forum.cpha.pt/u/luuuis)
#### Post date: [14 Maio , 2023 21:24 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/130 "2023-05-14T21:24:17Z")

</div>

Podes usar a integração ERSE e no teu template consultas qual o período actual do utility meter controlado pelo ERSE para depois usar a fórmula correspondente.

---

<div class="post-metadata">

### Author: ![tretabyte](https://forum.cpha.pt/user_avatar/forum.cpha.pt/tretabyte/32/12623_2.png) [@tretabyte](https://forum.cpha.pt/u/tretabyte)
#### Post date: [15 Maio , 2023 01:10 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/131 "2023-05-15T01:10:13Z")

</div>

ja agora, alguem a usar a integracao da ERSE e a utilizar Luzboa Indexado?  
visto que o valor de custo de energia muda, alguma maneira de termos a Omie a popular os custos para a da ERSE?

---

<div class="post-metadata">

### Author: ![jseabra](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jseabra/32/14401_2.png) [@jseabra](https://forum.cpha.pt/u/jseabra)
#### Post date: [17 Maio , 2023 07:41 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/132 "2023-05-17T07:41:23Z")

</div>

Bom dia @luuuis , comecei a notar que com a integração OMIE, e usando o teu query SQL (com SQLite), tanto o código omie\_spot\_pt\_month\_to\_date como o omie\_spot\_pt\_30d deixaram de actualizar a média. Fiz um query à mão e notei que a última medição para fazer a média estava com dia 8 de Maio às 9am. Fazes ideia do que possa ser o problema, e mais alguém tem este problema?

Obrigado!

 ![Screenshot 2023-05-17 083929](https://forum.cpha.pt/uploads/default/original/2X/9/905a704a1230bf02346318c1a4667e2ec4889026.png)

---

<div class="post-metadata">

### Author: ![luuuis](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luuuis/32/14755_2.png) [@luuuis](https://forum.cpha.pt/u/luuuis)
#### Post date: [17 Maio , 2023 09:42 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/133 "2023-05-17T09:42:25Z")

</div>

Não precisavas de correr à mão pois essa info está nos atributos do sensor. 🙂

A única coisa que me ocorre é que as estatísticas não estão a ser devidamente gravada desde o dia 8. Terá sido nessa data que actualizaste?

A v1 acarreta uma alteração da unidade dos sensores de `EUR/MWh` para `€/MWh` e isso deve estar a interferir. Experimenta ir aos Dev Tools e ver se está lá algum erro relativo às unidades, se estiver (vai estar) podes corrigir a unidade das estatísticas com um clique nessa mesma página. Depois reporta aqui sff.

[![Open your Home Assistant instance and show your statistics developer tools.](https://my.home-assistant.io/badges/developer_statistics.svg)](https://my.home-assistant.io/redirect/developer_statistics/)

---

<div class="post-metadata">

### Author: ![jseabra](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jseabra/32/14401_2.png) [@jseabra](https://forum.cpha.pt/u/jseabra)
#### Post date: [17 Maio , 2023 10:05 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/134 "2023-05-17T10:05:17Z")

</div>

Obrigado @luuuis acho que acertaste em cheio. Vejo que está em EUR/MWh, mas não detecta como erro. Sabes como posso alterar?

 ![Screenshot 2023-05-17 110220](https://forum.cpha.pt/uploads/default/original/2X/6/629c6da35929d6d85fd16949445ad2739eca88a9.png)

---

<div class="post-metadata">

### Author: ![luuuis](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luuuis/32/14755_2.png) [@luuuis](https://forum.cpha.pt/u/luuuis)
#### Post date: [17 Maio , 2023 10:30 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/136 "2023-05-17T10:30:03Z")

</div>

Coisa estranha. Os valores do sensor já estão em `€/MWh`? E na tabela `statistics` qual é o último valor para esse sensor? (aqui sim com SQL manual).

É preciso ver se as statistics estão a ser gravadas e caso não deves ver se não tens erros relativos a isso.

---

<div class="post-metadata">

### Author: ![jseabra](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jseabra/32/14401_2.png) [@jseabra](https://forum.cpha.pt/u/jseabra)
#### Post date: [17 Maio , 2023 10:41 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/137 "2023-05-17T10:41:27Z")

</div>

Possivelmente fui pelo caminho mais longo… mas alterei manualmente no statistics\_meta a unidade para €/MWh (usando o BD Browser), e já me apareceu depois o fix no Dev Tools Stats, e agora aparece-me bem.  
Tenho de ver no entanto se ele actualiza a base de dados, imagino que só depois da meia-noite.

 ![Screenshot 2023-05-17 113808](https://forum.cpha.pt/uploads/default/original/2X/c/c54dabdeeadeaf649741eea1a9982875097663b3.png)

---

<div class="post-metadata">

### Author: ![jseabra](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jseabra/32/14401_2.png) [@jseabra](https://forum.cpha.pt/u/jseabra)
#### Post date: [18 Maio , 2023 07:47 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/138 "2023-05-18T07:47:46Z")

</div>

Deixo apenas o update que quando os dados actualizaram às 11pm, as médias voltatam a funcionar. Por isso o @luuuis acertou em cheio que foi a BD a fazer confusão entre os EUR e €, após o upgrade para a v1.  
Obrigado @luuuis

---

<div class="post-metadata">

### Author: ![tretabyte](https://forum.cpha.pt/user_avatar/forum.cpha.pt/tretabyte/32/12623_2.png) [@tretabyte](https://forum.cpha.pt/u/tretabyte)
#### Post date: [18 Maio , 2023 12:18 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/139 "2023-05-18T12:18:04Z")

</div>

boas a todos,

ando aqui numa batalha com os meus graficos sem perceber que raio está a falhar para nao mostrarem os dados.

 ![image](https://forum.cpha.pt/uploads/default/original/2X/2/21f1673baad0af4a60770e5a7e37709521519c3d.png)  
tenho esses 3 graficos, como vêm o 2º e 3º nao mostram (nem nunca mostraram) resultados e não consigo perceber porquê.  
Não existe assim tanta diferença entre o 1º e o 2º mas não consigo meter dados a mostrar nunca no 2º.  
aqui vai o codigo de cada:  
btw a maioria foi copy/paste da wiki do @luuuis, se eu clickar nos nomes ele mostra-me os dados do sensor e os valores (inclusive com historico) mas o grafico está SEMPRE em loading…

```auto
type: custom:apexcharts-card
card_mod:
  style: |
    ha-card {
      width: 450px;
      border: none;
      background: transparent
    }
experimental:
  color_threshold: true
show:
  last_updated: true
header:
  title: Today's hourly values
  standard_format: false
  show: true
  show_states: true
  colorize_states: true
update_interval: 30m
now:
  show: true
span:
  start: day
graph_span: 24h
all_series_config:
  stroke_width: 1
  type: line
  curve: stepline
  group_by:
    func: avg
    duration: 1h
  show:
    extremas: true
    legend_value: false
series:
  - entity: sensor.omie_spot_price_pt
    name: Hourly price
    float_precision: 2
  - entity: sensor.omie_adjustment_price_pt
    name: Hourly adjustment
    float_precision: 2
yaxis:
  - id: price
    align_to: 10
apex_config:
  legend:
    show: false

```

2º

```auto
type: custom:apexcharts-card
card_mod:
  style: |
    ha-card {
      width: 450px;
      border: none;
      background: transparent
    }
experimental:
  color_threshold: true
show:
  last_updated: true
header:
  title: Today's daily average
  standard_format: false
  show: true
  show_states: true
  colorize_states: true
update_interval: 30m
now:
  show: true
span:
  start: day
graph_span: 24h
all_series_config:
  stroke_width: 1
  type: line
  curve: stepline
  group_by:
    func: avg
    duration: 1h
series:
  - entity: sensor.omie_spot_price_pt
    attribute: day_average
    name: Daily price
    float_precision: 2
  - entity: sensor.omie_adjustment_price_pt
    attribute: day_average
    name: Daily adjustment
    float_precision: 2
yaxis:
  - id: price
    align_to: 10
apex_config:
  legend:
    show: false

```

3º

```auto
type: custom:apexcharts-card
card_mod:
  style: |
    ha-card {
      width: 450px;
      border: none;
      background: transparent
    }
experimental:
  color_threshold: true
show:
  last_updated: true
header:
  title: Month to date Values
  standard_format: false
  show: true
  show_states: true
  colorize_states: true
update_interval: 30m
span:
  start: month
graph_span: 24h
series:
  - entity: sensor.omie_spot_pt_month_to_date

```

resultados de um dos sensores (2º grafico)

 ![image](https://forum.cpha.pt/uploads/default/original/2X/2/2834928a4f6b0d5897b3603334fe8da9ca24875c.png)

---

<div class="post-metadata">

### Author: ![jseabra](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jseabra/32/14401_2.png) [@jseabra](https://forum.cpha.pt/u/jseabra)
#### Post date: [18 Maio , 2023 12:56 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/140 "2023-05-18T12:56:20Z")

</div>

Olá @tretabyte , no 2º talvez seja o atributo que julgo ter mudado de nome na V1.  
Experimenta alterar as tuas “series” para:  
series:

- entity: sensor.omie\_spot\_price\_pt  
attribute: OMIE\_today\_average  
name: Daily price  
float\_precision: 2
- entity: sensor.omie\_adjustment\_price\_pt  
attribute: OMIE\_today\_average  
name: Daily adjustment  
float\_precision: 2

quanto ao 3º, podes partilhar o teu código actual SQL que colocaste para calcular o month to date? Imagino que estejas a usar a SQLite?

---

<div class="post-metadata">

### Author: ![tretabyte](https://forum.cpha.pt/user_avatar/forum.cpha.pt/tretabyte/32/12623_2.png) [@tretabyte](https://forum.cpha.pt/u/tretabyte)
#### Post date: [18 Maio , 2023 13:09 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/141 "2023-05-18T13:09:54Z")

</div>

> [@jseabra](#):
>
> ```
> entity: sensor.omie_spot_price_pt
> attribute: OMIE_today_average
> name: Daily price
> float_precision: 2
> entity: sensor.omie_adjustment_price_pt
> attribute: OMIE_today_average
> name: Daily adjustment
> float_precision: 2
> 
> ```

era isto mesmo! eu sabia que me tinha falhado alguma coisa algures, obrigado!

quanto ao sql, estou a usar mariaDB e vou buscar aqui:

```auto
sql:
  - name: omie_spot_pt_month_to_date
    unique_id: omie_spot_pt_month_to_date
    query: |-
      SELECT FROM_UNIXTIME(stats.start_billing_ts) AS window_start,
            FROM_UNIXTIME(stats.start_of_day_ts) AS window_end,
            FROM_UNIXTIME(MIN(start_ts)) AS oldest_measurement,
            FROM_UNIXTIME(MAX(start_ts)) AS newest_measurement,
            COUNT(*) AS measurement_count,
            ROUND(AVG(s.mean), 2) AS mean
      FROM statistics s 
      JOIN statistics_meta m ON s.metadata_id = m.id 
      CROSS JOIN (
          SELECT UNIX_TIMESTAMP(CASE 
                                WHEN DAY(NOW()) > billing_offset 
                                THEN CONCAT_WS('-', YEAR(NOW()), MONTH(NOW()), billing_offset) 
                                ELSE CONCAT_WS('-', YEAR(NOW() - INTERVAL 1 MONTH), MONTH(NOW() - INTERVAL 1 MONTH), billing_offset) 
                                END) AS start_billing_ts,
                UNIX_TIMESTAMP(CURDATE()) AS start_of_day_ts
          FROM (
              -- ⚠️ ADJUST HERE AS NECESSARY (e.g. 20 to start billing cycle at midnight on day 21):
              SELECT 20 AS billing_offset
              ) cfg
      ) AS stats
      WHERE statistic_id = 'sensor.omie_spot_price_pt' 
      AND start_ts >= stats.start_billing_ts 
      AND start_ts < stats.start_of_day_ts;
    column: "mean"
    unit_of_measurement: "€/MWh"

```

---

<div class="post-metadata">

### Author: ![jseabra](https://forum.cpha.pt/user_avatar/forum.cpha.pt/jseabra/32/14401_2.png) [@jseabra](https://forum.cpha.pt/u/jseabra)
#### Post date: [18 Maio , 2023 13:27 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/142 "2023-05-18T13:27:11Z")

</div>

Óptimo que o 2º gráfico ficou resolvido. Quando ao SQL em MariaDB é “over my head”. Talvez o @Peter consiga ajudar já que fez a adaptação do 30 Day Rolling Average para MariaDB?

---

<div class="post-metadata">

### Author: ![Peter](https://forum.cpha.pt/user_avatar/forum.cpha.pt/peter/32/39_2.png) [@Peter](https://forum.cpha.pt/u/Peter)
#### Post date: [18 Maio , 2023 22:46 UTC](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668/143 "2023-05-18T22:46:14Z")

</div>

Viva @tretabyte,  
No terceiro gráfico, experimenta trocar o “span” para o seguinte:  
De:

```auto
span:
  start: month

```

Para:

```auto
span:
  start: day

```

Deves ficar com um gráfico similar a este:

![image](https://forum.cpha.pt/uploads/default/original/2X/0/0dd0a3c39771fece6726a79d6ddcb96c7194ecf8.png)

[Página anterior](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668.md?page=6)

[Próxima página](https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668.md?page=8)
