luuuis / hass_omie

OMIE Home Assistant Integration
https://forum.cpha.pt/t/integracao-omie-precos-horarios-diarios-mecanismo-de-ajuste/11668
Apache License 2.0
56 stars 6 forks source link

Media do mês (feature request) #12

Open rerpires opened 1 year ago

rerpires commented 1 year ago

Viva,

Diria que com o publico alvo desta integração podemos falar em português !

Antes de mais, obrigado por esta integração. É um método espetacular de estar de olho nas tarifas.

Para me tentar orientar com a media do SPOT nos ultimo dias acabei por criar:

Funciona até ao limite de 10 dias nativos do HA. Embora possa extrair estes dados para o Influx e posteriormente fazer medias no grafana, era interessante poder ter a media do "ultimo mês till now" no HA sem ter de adicionar o RECORDER para ter uma retention superior.

Achas possível adicionar a feature de produzir a media de tarifa num período selecionável para bater certo com o período de faturação ? Exemplo "media desde o ultimo dia 20" ?

O não é sempre garantido :)

Obrigado

Rui

luuuis commented 1 year ago

Viva,

Obrigado pelo feedback. Em relação à média mensal a minha ideia era publicar no Wiki a forma de o fazer usando as funcionalidades que já existem no HA porque na minha cabeça não faz sentido estar a re-implementar esse tipo de funcionalidades dentro da integração OMIE se já existem de forma genérica no HA. Confesso que ainda não me dediquei a ver como é que isso se consegue.

Podes explicar porque é que as funcionalidades (statistics cards e history stats sensor) do HA não servem para o efeito? Também não percebi qual o problema de se aumentar a retenção para 31 dias quando se quer calcular médias potencialmente a 31 dias?

rerpires commented 1 year ago

Viva Luís,

Obrigado pela tua rápida resposta.

As funcionalidades nativas do Statistics e History stats chegam, para 10 dias de histórico nativo do HA).

A minha ideia era aproveitar que existem dados disponíveis já tratados na ERSE em que potencialmente a integração OMIE se podia alavancar para ter já uma media dos últimos 30 dias, ou do ultimo mÈs ou do mès corrente.

Naturalmente como já são fornecidos os dados, basta usar o https://www.home-assistant.io/integrations/recorder/ para aumentar a DB do HA e desta forma podar utilizar o Statistics para fazer as contas ... no entanto este método é mais avançado e para alguns utilizadores pode ser mais difícil do que usar algo que já vem feito.

Entende isto apenas como uma sugestão peregrina e altamente facultativa :) ... já é de louver todo o trabalho que tiveste com a integração que certamente não me está a ajudar só a mim.

Mais uma vez muito obrigado

Rui

r-amado commented 1 year ago

Boa tarde, Gostaria de perceber como está este enhancement, dado que tenho interesse em utilizar a média do mês, mas para tri-horário. O problema que tenho para utilizar isso é que as comercializadoras efetuam a média por período e depois aplica a todo o consumo dos 30 dias anteriores.

Posso tentar ajudar com o python, mas preciso de orientação.

Obrigado RA

luuuis commented 1 year ago

O estado disto é o que se percebe lendo esta página, há alguma discussão mas ainda nada de concreto.

O problema que tenho para utilizar isso é que as comercializadoras efetuam a média por período e depois aplica a todo o consumo dos 30 dias anteriores.

@r-amado :

  1. Que média é que queres? Existe (pelo menos) a média de vazio, fora de vazio, cheias, ponta, simples. Médias diárias e mensais e de período de facturação.
  2. Agora imagina que tens o valor que procuras. O que pretendes fazer com ele dentro do HA?
luuuis commented 1 year ago

Funciona até ao limite de 10 dias nativos do HA. Embora possa extrair estes dados para o Influx e posteriormente fazer medias no grafana, era interessante poder ter a media do "ultimo mês till now" no HA sem ter de adicionar o RECORDER para ter uma retention superior.

@rerpires com o ApexCharts podes visualizar as médias mensais.

Home2 – Home Assistant 2023-04-13 22-14-05

YAML ```yaml type: custom:apexcharts-card graph_span: 3 months series: - entity: sensor.omie_spot_price_pt type: column statistics: type: mean period: month align: start ```

Os dados já estão lá no Long Term Statistics do HA, o que falta são formas de expor a informação facilmente (em sensores ou cards). Por isso é que me custa até pensar em acrescentar isto dentro da integração.

r-amado commented 1 year ago

O estado disto é o que se percebe lendo esta página, há alguma discussão mas ainda nada de concreto.

O problema que tenho para utilizar isso é que as comercializadoras efetuam a média por período e depois aplica a todo o consumo dos 30 dias anteriores.

@r-amado :

  1. Que média é que queres? Existe (pelo menos) a média de vazio, fora de vazio, cheias, ponta, simples. Médias diárias e mensais e de período de facturação.
  2. Agora imagina que tens o valor que procuras. O que pretendes fazer com ele dentro do HA?
  1. No meu caso ponta, cheia e vazio.
  2. Pretendia fazer uma automação que olhe para a média atual de um período e sensor de current price hour, se estiverem abaixo de um determinado valor (os dois) então inicia o carregamento de uma viatura elétrica.
luuuis commented 1 year ago

Pretendia fazer uma automação que olhe para a média atual de um período e sensor de current price hour, se estiverem abaixo de um determinado valor (os dois) então inicia o carregamento de uma viatura elétrica.

  1. Porquê os dois valores (média do período de facturação e preço horário actual) @r-amado? A facturação é por média mensal, diária, ou preço actual horário?
  2. Se o valor estiver mais alto o carro já não carrega, não precisa de andar?
  3. O que te garante que no futuro ainda no mesmo período de facturação a média não sobe para além do teu limite, média essa que depois é usada para a facturação de todos os kWh nesse período (se bem entendi)?

Percebendo melhor o problema talvez consiga apresentar uma solução/sugestão ou por outro lado concluir que a solução é o que está a ser pedido aqui.

r-amado commented 1 year ago

Pretendia fazer uma automação que olhe para a média atual de um período e sensor de current price hour, se estiverem abaixo de um determinado valor (os dois) então inicia o carregamento de uma viatura elétrica.

  1. Porquê os dois valores (média do período de facturação e preço horário actual) @r-amado? A facturação é por média mensal, diária, ou preço actual horário?
  2. Se o valor estiver mais alto o carro já não carrega, não precisa de andar?
  3. O que te garante que no futuro ainda no mesmo período de facturação a média não sobe para além do teu limite, média essa que depois é usada para a facturação de todos os kWh nesse período (se bem entendi)?

Percebendo melhor o problema talvez consiga apresentar uma solução/sugestão ou por outro lado concluir que a solução é o que está a ser pedido aqui.

Com base na tua questão fiquei a pensar… inicialmente assumi a média mensal para um determinado período, e olhando já para a tua questão 3, sim seria um risco, mas a mais de meio do mês poderia “arriscar” se o valor continuasse em linha com a média total mensal para esse período. O tema do carro seria tentar carregar no período mais barato. Com estas questões (pertinentes) que fizeste, fui ver o tarifário da coopernico e embora o exemplo utilize o preço médio mensal, dizem na mesma apresentação que utilizam o preço horário para o cálculo. Provavelmente tenho de esperar pela primeira fatura para perceber o método de cálculo.

Não sei se me consegui fazer entender.

EDIT: o contrato refere então: “ No tarifário associado o preço indexado ao mercado OMIE, o preço de energia terá como referência os preços médios do OMIE verificados no mês de faturação. Os preços de referência apresentados no tarifário estão fixados e calculados para um preço de referência OMIE cujo valor será atualizado diariamente. Para cada mês civil de vigência do contrato, o preço será atualizado pela diferença, caso seja positiva ou negativa, entre o preço de referência e o preço efetivamente verificado no mês de faturação (variação média nesse mês), acrescidos de um custo operacional de 0,01€/kWh e de um custo de Garantias de Origem no valor de 0,01€/kWh. Os preços de mercado são de conhecimento público e podem ser consultados.”

Não percebi muito bem… tenho de esperar pela fatura e atacar o problem primeiro com a folha de Excel.

Obrigado RA

luuuis commented 1 year ago

@r-amado já nos estamos a desviar do tema mas o que a Coopérnico diz no email de facturação é isto:

De forma a permitir a faturação com os seus consumos reais horários, por favor autorize o acesso ao seu diagrama de carga (curvas de consumo), no Balcão Digital da E-Redes. Após entrar na sua área de cliente, selecione “Os meus locais” - “Dados do Local” - “Dar acesso a dados” e selecionar opção “Comercializador – Acesso aos Dados de Energia”. No fim, selecionar o(os) local(ais) pretendidos, confirmar o consentimento e carregar em “Submeter”.

Sem esta autorização eles só conseguem saber a informação de leituras vazio/ponta/cheias conforme aparecem no site da E-Redes.

seabraj commented 1 year ago

@luuuis obrigado por todo este trabalho - é uma grande ajuda! Tenho uma questão (de iniciante) que espero que não seja muito fora do contexto - quando aplico o teu código Billing period average (month to date) para fazer o query por SQL não consido os dados (quanto tempo tb pelo UI do SQL ou pelo phpmyadmin, recebo um erro, aparentemente pelo uso do "range".

Estou a usar o mariadb, não sei se será por isso, e sei que estou a colocar bem o endereço da mariadb pq consigo outros query's... por isso julgo que possa ser apenas o codigo que não funciona para um query no mariadb?

Mais uma vez, se for uma questão mais sobre o mariadb do que a tua integração, ignora. E obrigado!

luuuis commented 1 year ago

julgo que possa ser apenas o codigo que não funciona para um query no mariadb

Sim, o SQL dos exemplos é específico de SQLite e teria de ser adaptado para MariaDB.

luuuis commented 1 year ago

Entretanto reparei que tinha-me esquecido de colocar aqui os exemplos de "SQL Sensor" que podemos usar para obter as médias que nos interessam.

https://github.com/luuuis/hass_omie/wiki/Last-30-days-(rolling-average) https://github.com/luuuis/hass_omie/wiki/Billing-period-average-(month-to-date)

seabraj commented 1 year ago

Ok, obrigado pela ajuda, vou ver mais a fundo.

luuuis commented 1 year ago

@seabraj entretanto alguém já contribuiu o sensor para MariaDB, está no Wiki (clicar MariaDB para expandir).

seabraj commented 1 year ago

Eu vi, obrigado! Entretanto tinha transitado para o SQLite por (pelo que percebi) não ser um problema como era há um par de anos no HA.

On Tue, May 9, 2023, 16:10 Luis Miranda @.***> wrote:

@seabraj https://github.com/seabraj entretanto alguém já contribuiu o sensor para MariaDB, está no Wiki https://github.com/luuuis/hass_omie/wiki/Billing-period-average-(month-to-date) (clicar MariaDB para expandir).

— Reply to this email directly, view it on GitHub https://github.com/luuuis/hass_omie/issues/12#issuecomment-1540342610, or unsubscribe https://github.com/notifications/unsubscribe-auth/APPROXZSYJB67XTC3AJTEE3XFJM6RANCNFSM6AAAAAAWKL6NN4 . You are receiving this because you were mentioned.Message ID: @.***>

r-amado commented 1 year ago

O estado disto é o que se percebe lendo esta página, há alguma discussão mas ainda nada de concreto.

O problema que tenho para utilizar isso é que as comercializadoras efetuam a média por período e depois aplica a todo o consumo dos 30 dias anteriores.

@r-amado :

  1. Que média é que queres? Existe (pelo menos) a média de vazio, fora de vazio, cheias, ponta, simples. Médias diárias e mensais e de período de facturação.
  2. Agora imagina que tens o valor que procuras. O que pretendes fazer com ele dentro do HA?

Entretanto com os atributos e com os valores hora já consigo programar o carregamento dos EV e das baterias em casa. Quando o preço hora é negativo coloco a carregar. Isto porque a Coopernico utiliza o consumo específico de cada hora.

BunpGhost commented 1 year ago

Olá, antes de mais parabéns e obrigado por esta integração.

Vinha aqui mais no sentido de pedir ajuda.

Questionei a LuzBoa sobre como é calculado o bi-horário e finalmente obtive a resposta, aqui vai:

Eu gostava de poder alterar a https://github.com/luuuis/hass_omie/wiki/Billing-period-average-(month-to-date) de forma ter esta média conforme o cálculo do bi-horário.

A minha ideia é obter os valores para fora do vazio e vazio que depois uso no cálculo dos meus gastos de energia. Só que não domino o SQL.

Hoje usando o que existe, consigo calcular o valor da minha factura mas para o tarifario simples, para o bi-horario não. Alguma ajuda?

obrigado desde já.

luuuis commented 1 year ago

@BunpGhost onde defines o sensor SQL assim:

             round(avg(s.mean), 2) AS mean
      FROM   statistics s JOIN statistics_meta m ON s.metadata_id = m.id, (

Experimenta agora acrescentar as seguintes linhas. As médias de vazio e fora de vazio ficam disponíveis nos atributos do sensor SQL.

             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN s.mean ELSE NULL END), 2) AS mean_vazio,
             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN NULL ELSE s.mean END), 2) AS mean_fora_vazio,
             round(avg(s.mean), 2) AS mean
      FROM   statistics s JOIN statistics_meta m ON s.metadata_id = m.id, (

Depois diz se bate certo com a tua expectativa.

BunpGhost commented 1 year ago

@luuuis Muito Obrigado. Parece que funciona. No entanto, algo se passa com este sql: https://github.com/luuuis/hass_omie/wiki/Billing-period-average-(month-to-date) Não está a dar, não consigo perceber porque e por isso não consigo testar a 100%. Este: https://github.com/luuuis/hass_omie/wiki/Last-30-days-(rolling-average) funciona na perfeição e as 2 novas linhas funcionam bem tambem.

Alguma ajuda que me possas dar? Desculpa se este não for o sitio certo.

luuuis commented 1 year ago

@BunpGhost por aqui funciona bem. Estás a usar SQLite ou MariaDB? "Não está a dar" quer dizer o quê exactamente?

BunpGhost commented 1 year ago

@luuuis Pois, eu não fui muito especifico. desculpa. Tou a usar o default do HA que acho ser SQLite. O "não está a dar" é isto: image

Mas o 30d dá bem. image

Não sei como fazer debug e tenho isto nos logs:

SELECT datetime(range.start_billing_ts, 'unixepoch') AS window_start, datetime(range.start_of_day_ts, 'unixepoch') AS window_end, datetime(min(start_ts), 'unixepoch') AS oldest_measurement, datetime(max(start_ts), 'unixepoch') AS newest_measurement, count(1) AS measurement_count, round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN s.mean ELSE NULL END), 2) AS mean_vazio, round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN NULL ELSE s.mean END), 2) AS mean_fora_vazio, round(avg(s.mean), 2) AS mean FROM statistics s JOIN statistics_meta m ON s.metadata_id = m.id, ( SELECT unixepoch(CASE WHEN CAST(strftime('%d', datetime()) AS INTEGER) > billing_offset THEN datetime('now', 'start of month', billing_offset||' days') ELSE datetime('now', 'start of month', '-1 month', billing_offset||' days') END) AS start_billing_ts, unixepoch(datetime('now', 'start of day')) 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) range WHERE statistic_id = 'sensor.omie_spot_price_pt' AND start_ts >= range.start_billing_ts AND start_ts < range.start_of_day_ts LIMIT 1; returned no results SELECT datetime(range.start_billing_ts, 'unixepoch') AS window_start, datetime(range.start_of_day_ts, 'unixepoch') AS window_end, datetime(min(start_ts), 'unixepoch') AS oldest_measurement, datetime(max(start_ts), 'unixepoch') AS newest_measurement, count(1) AS measurement_count, round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN s.mean ELSE NULL END), 2) AS mean_vazio, round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN NULL ELSE s.mean END), 2) AS mean_fora_vazio, round(avg(s.mean), 2) AS mean FROM statistics s JOIN statistics_meta m ON s.metadata_id = m.id, ( SELECT unixepoch(CASE WHEN CAST(strftime('%d', datetime()) AS INTEGER) > billing_offset THEN datetime('now', 'start of month', billing_offset||' days') ELSE datetime('now', 'start of month', '-1 month', billing_offset||' days') END) AS start_billing_ts, unixepoch(datetime('now', 'start of day')) 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) range WHERE statistic_id = 'sensor.omie_adjustment_price_pt' AND start_ts >= range.start_billing_ts AND start_ts < range.start_of_day_ts LIMIT 1; returned no results

Como é que no 30d tenho results e no outro não? :)

luuuis commented 1 year ago

@BunpGhost isso não me parece que tenha a ver com as médias de vazio e fora de vazio... Por acaso não renomeaste o sensor no HA? O nome tem de ser sensor.omie_spot_price_pt, caso contrário há que reflectir a alteração de nome no SQL.

BunpGhost commented 1 year ago

@luuuis sim, não tem a ver com as médias de vazio e fora de vazio. Sem essas linhas não dá na mesma. o ensor.omie_spot_price_pt é usado no de 30d e no billing average. Mas só o de 30d funca bem. Olha as queries:

sql:
  - name: omie_spot_pt_30d
    unique_id: omie_spot_pt_30_day_rolling_average
    query: >
      SELECT datetime(range.thirty_days, 'unixepoch') AS window_start,
             datetime(range.start_of_day, 'unixepoch') AS window_end,
             datetime(min(start_ts), 'unixepoch') AS oldest_measurement,
             datetime(max(start_ts), 'unixepoch') AS newest_measurement,
             count(1) AS measurement_count,
             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN s.mean ELSE NULL END), 2) AS mean_vazio,
             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN NULL ELSE s.mean END), 2) AS mean_fora_vazio,
             round(avg(s.mean), 2) AS mean
      FROM   statistics s JOIN statistics_meta m ON s.metadata_id = m.id, (
             SELECT
               unixepoch(datetime('now', 'start of day', '-30 days')) AS thirty_days,
               unixepoch(datetime('now', 'start of day')) start_of_day
             ) range
      WHERE  statistic_id = 'sensor.omie_spot_price_pt'
        AND  start_ts >= range.thirty_days
        AND  start_ts < range.start_of_day
    column: 'mean'
    unit_of_measurement: 'EUR/MWh'   

  - name: omie_spot_pt_month_to_date
    unique_id: omie_spot_pt_month_to_date
    query: >
      SELECT datetime(range.start_billing_ts, 'unixepoch') AS window_start,
             datetime(range.start_of_day_ts, 'unixepoch') AS window_end,
             datetime(min(start_ts), 'unixepoch') AS oldest_measurement,
             datetime(max(start_ts), 'unixepoch') AS newest_measurement,
             count(1) AS measurement_count,
             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN s.mean ELSE NULL END), 2) AS mean_vazio,
             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN NULL ELSE s.mean END), 2) AS mean_fora_vazio,
             round(avg(s.mean), 2) AS mean
      FROM   statistics s JOIN statistics_meta m ON s.metadata_id = m.id, (
               SELECT
                 unixepoch(CASE
                   WHEN CAST(strftime('%d', datetime()) AS INTEGER) > billing_offset THEN datetime('now', 'start of month', billing_offset||' days')
                   ELSE datetime('now', 'start of month', '-1 month', billing_offset||' days')
                 END) AS start_billing_ts,
                 unixepoch(datetime('now', 'start of day')) 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) range
      WHERE  statistic_id = 'sensor.omie_spot_price_pt'
        AND  start_ts >= range.start_billing_ts
        AND  start_ts < range.start_of_day_ts;
    column: 'mean'
    unit_of_measurement: '€/MWh'

Conseguer ver algo de errado na 2ª? Obrigado e desculpa :)

luuuis commented 1 year ago

@BunpGhost por alguma razão só tens estatísticas até 20 de Julho e o período de facturação actual começa dia 21. Por essa razão o sensor de 30 dias também não estará a retornar informação fidedigna.

hass_omie 2023-07-27 14-40-18

Podes tentar ver aqui o que se passa. Open your Home Assistant instance and show your statistics developer tools.

BunpGhost commented 1 year ago

@luuuis bem visto. Acho que já sei. Foi nesse dia que actualizei para a nova versão da tua integração. Certamente algo não correu bem aí, certo? Alguma sugestão? Desinstalar e voltar a instalar a integração omie?

luuuis commented 1 year ago

Ir ao statistics dev tools e corrigir o erro, que tem a ver com a mudança na unidade do sensor (€/MWh).

On Thu, 27 Jul 2023, at 15:23, BunpGhost wrote:

@luuuis https://github.com/luuuis bem visto. Acho que já sei. Foi nesse dia que actualizei para a nova versão da tua integração. Certamente algo não correu bem aí, certo? Alguma sugestão? Desinstalar e voltar a instalar a integração omie?

— Reply to this email directly, view it on GitHub https://github.com/luuuis/hass_omie/issues/12#issuecomment-1653727478, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABHJ3RT4EER42ZVJKLA2W3XSJ2WHANCNFSM6AAAAAAWKL6NN4. You are receiving this because you were mentioned.Message ID: @.***>

BunpGhost commented 1 year ago

Obrigado @luuuis pelo esforço mas continua na mesma. Já fui ao dev tools, corrigi o erro. desinstalei a integração, apaguei tudo o que dava, voltei a instalar e nada. Tentei criar novos sensores com nomes diferentes mas tambem não deu. Não sei que faça. Não faz sentido o de 30d dar e o outro não... Obrigado pelo apoio

luuuis commented 1 year ago

@BunpGhost podes abrir um issue para o teu caso específico pois já estamos a derivar muito para além do âmbito deste.

BunpGhost commented 1 year ago

@luuuis JÁ Funciona!! Obrigado pelo apoio!

Acredito que toda a limpeza que fiz mais a reinstalação resolveram o problema. No entanto, so comecei a ver dados hoje... talvez precise de algum tempo para ser alimentado. Obrigado!

luuuis commented 1 year ago

a reinstalação resolveram o problema

Decididamente que não foi nada disso, foi sim a correcção da unidade nas estatísticas. As estatísticas só são actualizadas de hora a hora. De qualquer forma, ainda bem que o problema se encontra resolvido.

JeffersM1 commented 11 months ago

Acabei de receber a minha primeira fatura (5 meses) da Coopérnico, e não me parece que estejam a utilizar as taxas horárias spot, pois vejo a mesma taxa a ser utilizada até 20 a 31 dias de cada vez. image

No entanto, autorizei-os a aceder aos diagramas de carga no e-Redes. image Será que estou a perceber bem?

luuuis commented 11 months ago

Será que estou a perceber bem?

O que vem na factura é uma média ponderada do período de facturação. É questionar a Coopérnico, eles podem fornecer os dados horários se necessário.

r-amado commented 11 months ago

Correcto, O que vem na fatura da Coopernico é a média ponderada, de acordo com o preço hora e o consumo nessa hora.


From: Luis Miranda @.> Sent: Saturday, November 4, 2023 10:25:43 AM To: luuuis/hass_omie @.> Cc: Ricardo Amado @.>; Mention @.> Subject: Re: [luuuis/hass_omie] Media do mês (feature request) (Issue #12)

Será que estou a perceber bem?

O que vem na factura é uma média ponderada do período de facturação. É questionar a Coopérnico, eles podem fornecer os dados horários se necessário.

— Reply to this email directly, view it on GitHubhttps://github.com/luuuis/hass_omie/issues/12#issuecomment-1793405514, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVL57X7DLTROCP2WBXNZBD3YCYJ2PAVCNFSM6AAAAAAWKL6NN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTGQYDKNJRGQ. You are receiving this because you were mentioned.Message ID: @.***>

JeffersM1 commented 11 months ago

@luuuis @r-amado Obrigado pelo esclarecimento.

JeffersM1 commented 11 months ago

@luuuis @r-amado Quando totalizo os custos no HA Energy Dashboard, que é alimentado por um sensor Shelly EM kWh ligado à rede, e o preço utilizado para calcular o custo é retirado do sensor Coopérnico Base (tarifa tri-horária). O resultado é 52,04 € O valor facturado é superior e apresenta um Consumo Total: 76.43 €. Esperava que fossem mais próximos. O Consumo Total: 76,43 € é sem IVA, correto? Alguma ideia?

r-amado commented 11 months ago

Os valores de faturação que indica são unicamente do consumo elétrico, ou falta aí a potência contratada e taxas de audiovisual?

RA


From: JeffersM1 @.> Sent: Monday, November 6, 2023 1:35:25 PM To: luuuis/hass_omie @.> Cc: Ricardo Amado @.>; Mention @.> Subject: Re: [luuuis/hass_omie] Media do mês (feature request) (Issue #12)

@luuuishttps://github.com/luuuis @r-amadohttps://github.com/r-amado Quando totalizo os custos no HA Energy Dashboard, que é alimentado por um sensor Shelly EM kWh ligado à rede, e o preço utilizado para calcular o custo é retirado do sensor Coopérnico Base (tarifa tri-horária). O resultado é 52,04 € O valor facturado é superior e apresenta um Consumo Total: 76.43 €. Esperava que fossem mais próximos. O Consumo Total: 76,43 € é sem IVA, correto? Alguma ideia?

— Reply to this email directly, view it on GitHubhttps://github.com/luuuis/hass_omie/issues/12#issuecomment-1794841406, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVL57X5F4EW5PDDRHWXGN3DYDDRR3AVCNFSM6AAAAAAWKL6NN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJUHA2DCNBQGY. You are receiving this because you were mentioned.Message ID: @.***>

JeffersM1 commented 11 months ago

@r-amado > Os valores de faturação que indica são unicamente do consumo elétrico, ou falta aí a potência contratada e taxas de audiovisual? RA OK, esqueci-me de que estão a incluir as tarifas de potência e de energia na tarifa de consumo total. Por 6.9 KVA carga contratada, cobraram-me 28,31 €. Se eu retirar a taxa de potência da taxa de consumo total, fico com uma taxa de energia de 76,43 € - 28,31 € = 48,12 €. Este valor está muito próximo (dentro de 8%) da estimativa de 52,04 € que obtive no Energy Dashboard do HA. Obrigado.

ptgomes commented 6 months ago

@BunpGhost onde defines o sensor SQL assim:

             round(avg(s.mean), 2) AS mean
      FROM   statistics s JOIN statistics_meta m ON s.metadata_id = m.id, (

Experimenta agora acrescentar as seguintes linhas. As médias de vazio e fora de vazio ficam disponíveis nos atributos do sensor SQL.

             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN s.mean ELSE NULL END), 2) AS mean_vazio,
             round(avg(CASE WHEN strftime('%H', datetime(s.start_ts, 'unixepoch')) < '08' OR strftime('%H', datetime(s.start_ts, 'unixepoch')) >= '22' THEN NULL ELSE s.mean END), 2) AS mean_fora_vazio,
             round(avg(s.mean), 2) AS mean
      FROM   statistics s JOIN statistics_meta m ON s.metadata_id = m.id, (

Depois diz se bate certo com a tua expectativa.

É possivel fazer isto para MariaDB?