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

Obrigado @Peter , com essa alteração ja passou a mostrar dados finalmente.
depois com alguns tweaks o grafico ficou a funcionar em pleno

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
graph_span: 30d
series:
  - entity: sensor.omie_spot_pt_month_to_date
apex_config:
  legend:
    show: false
  forceNiceScale: false

image

Viva @tretabyte, ainda bem que conseguiste ultrapassar esse obstáculo, siga para o próximo :grin:. Boa continuação.

Para o Plano Leve Sem Mais da Repsol já alguém desenvolveu alguma coisa?

Estas são as condições deles:

Por enquanto só tenho Coopérnico (compra) e Luzboa (compra e venda). Aceitam-se contribuições. :slight_smile:

1 Curtiu

Obrigado, também coloquei no Wiki.

1 Curtiu

Bom trabalho , está muito bom!

:+1: entretanto acrescentei venda à Coopérnico.

Estava aqui a pensar se não seria interessante em vez de termos o sensor em MWh ter em kwh para contas depois é mais prático, julgo.

ainda ontem fiz a mesma observação enquanto mostrava a integração a um amigo
penso que em termos praticos seria mais util a coisa estar, ou então ter-se a opção para escolher entre mW ou kW

Acabei de instalar esta ingegração e está a mostrar este valor:

Marginal price - Portugal - 22,91 €/MWh

Este valor parece-me errado ou estou a ver mal?

Isso já foi discutido aqui no GitHub, eu não sou terminantemente contra mas ainda não estou convencido que é melhor.

A primeira versão fazia isso mesmo e o resultado era eu ter uns 0.0 a ocupar mais espaço em todo o lado e a não acrescentar informação adicional (o impacto é sobretudo nos cards em dispositivos móveis onde pode haver menos espaço).

Por outro lado faz-me sentido eu poder abrir o omie.es num tab e o HA noutro e ver o mesmo valor em €/MWh mas compreendo que há situações em que dá mais jeito o €/kWh.

Aqui o que devia acontecer era o HA permitir configurar a forma que queremos visualizar o valor e fazer ele a conversão mas actualmente isso só funciona para sensores de potência que reportam em kW. E duvido que venham a alargar essa funcionalidade num futuro próximo.

Espreitem o issue do GitHub, eu dei lá algumas sugestões para que enquanto utilizadores consigamos trabalhar em €/kWh. No limite nada nos impede nos nossos template sensors de dividirmos por 1000.

Bem vindo. :wave:

É o valor correcto para o dia 26/05/2023 entre as 15h e 16h em Portugal continental.
Se calhar não estás a levar em conta os fusos horários e a forma como o OMIE faz a numeração das horas do dia?

Obrigado @luuuis

Desculpem a minha falta de experiência mas, após instalar fui ver os exemplos para fazer os gráficos e “out-of-the-box” nenhum funciona. O que vejo é que os nomes dos sensores não são iguais e alguns não existem. É suposto eu ter de criar sensores adicionais, é isso?

Independentemente disso, alguém me pode confirmar como é que é feito o cálculo do preço final a pagar na mensalidade de energia? Esse valor é a média de preços durante o periodo ou é a soma dos kwh gastos por dia X valor média da energia desse dia?

Nenhum ou especificamente o ApexChartsYesterdayTodayTomorrow? Esse gráfico mostra alguns dados não vêm na integração, acrescentei a pedido de algumas famílias. Vê de novo o Wiki que eu editei agora mesmo para clarificar essa situação dos sensores. Se for um dos outros gráficos deve funcionar pois só usam os sensores que vêm na integração.

Dependendo to comercializador e tarifário pode ser a quantidade de kWh consumidos em determinada hora, dia, ou mês no caso dos contratos “tradicionais”. Começa talvez por Tarifários Portugal para ver se o que está lá te serve.

1 Curtiu

Na verdade, eu aderi à Luzboa por isso este - https://github.com/luuuis/hass_omie/wiki/Luzboa-SPOT-BTN-Simples - seria o mais interessante para mim. No entanto, não funciona. Queixa-se do “this”

Claro, contudo se pudermos minimizar andar a criar templates e mais templates.
Seria muito dificil por o valor em kwh em um atributo e quem tivesse interessado ir buscar o valor ao atributo?

Fiz um flow em nodered para converter o valor MHW para Kwh contudo, algo aqui me está a escapar, ou seja consigo ver que o novo atributo aparece no debug, ,mas no home assistant ele não actualiza o sensor com no novo atributo.

este é o código da função:

var sensorValue = msg.payload;

// Realize o cálculo
var resultado = (sensorValue / 1000) * 1.183 + 0.01002 - 0.0958;

// Arredonda o resultado para 3 casas decimais
resultado = resultado.toFixed(3);

// Atualiza o atributo "valor_khw" no objeto msg.data.new_state.attributes
msg.data.new_state.attributes.valor_kWh = resultado.toString();

return msg;

Na variavel, está a conta a ser feita para converter segundo uma fórmula simplificada da Luzboa.

Deixo aqui o flow completo, para quem quiser ajudar:

[{"id":"b959a3d6368b4dcb","type":"server-state-changed","z":"cd967ef81c14b84f","name":"preco mwh omie","server":"cd683d65.68ba9","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.omie_spot_price_pt","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":180,"y":680,"wires":[["709715810e2e557b"]]},{"id":"709715810e2e557b","type":"change","z":"cd967ef81c14b84f","name":"valor","rules":[{"t":"set","p":"data.new_state.attributes.today_average","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":680,"wires":[["25f2395b85663b34"]]},{"id":"25f2395b85663b34","type":"function","z":"cd967ef81c14b84f","name":"Cálculo Matemático","func":"var sensorValue = msg.payload;\n\n// Realize o cálculo\nvar resultado = (sensorValue / 1000) * 1.183 + 0.01002 - 0.0958;\n\n// Arredonde o resultado para 3 casas decimais\nresultado = resultado.toFixed(3);\n\n// Atualize o atributo \"novo_atributo\" no objeto msg.data.new_state.attributes\nmsg.data.new_state.attributes.valor_kWh = resultado.toString();\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":530,"y":680,"wires":[["60ee2b1d96b75fb3"]]},{"id":"60ee2b1d96b75fb3","type":"api-call-service","z":"cd967ef81c14b84f","name":"","server":"cd683d65.68ba9","version":5,"debugenabled":false,"domain":"homeassistant","service":"update_entity","areaId":[],"deviceId":[],"entityId":["sensor.omie_spot_price_pt"],"data":"{\"data\":{\"entity_id\":\"sensor.omie_spot_price_pt\",\"state\":\"{{payload}}\",\"attributes\":{\"valor_kWh\":\"{{data.new_state.attributes.valor_kWh}}\"}}}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":780,"y":680,"wires":[["22c770aeed473b57"]]},{"id":"cd683d65.68ba9","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]

Estou no telefone mas esse serviço dá ideia que só espoleta a actualização da entidade, não lhe atribui nenhum valor.

Em 2 linhas de YAML crias o template sensor que te dá o valor dessa fórmula. :upside_down_face: Futuramente vou ver o que se pode fazer, já vou tendo umas ideias acerca disso.

Estava a tentar evitar de andar a criar mais sensores, eu sei que esse caminho seria o mais simples, mas se pudermos brincar com os atributos é menos um sensor criado .

@JeffersM vamos continuar aqui a conversa do tópico de scrape.

Resposta: nos atributos do sensor está a informação relativa ao dia seguinte.

1 Curtiu

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


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