MiguelAngelLV / tarifa_20td

Componente para Home Assisant para usuarios con tarifa 2.0 TD
MIT License
28 stars 3 forks source link

Consumo por periodo #6

Closed gonzalezcalleja closed 11 months ago

gonzalezcalleja commented 11 months ago

Miguel Ángel, he estado probando tu componente para HA y funciona muy bien, pero me gustaría poder saber los consumos en P1, P2 y P3 ya que tienes el cálculo del periodo metido en el componente (incluyendo festivos) ¿se te ocurre alguna forma de hacerlo desde HA? O sería recomendable adaptar este componente para que lo hiciera también.

Muchas gracias, un saludo.

MiguelAngelLV commented 11 months ago

Para que el componente hiciese el cálculo tendría que recibir información del consumo y demás, y no es el propósito del mismo.

La forma más sencilla de hacerlo en HA es usando utility meters: https://www.home-assistant.io/integrations/utility_meter/

Defines un utilitiy meter con las 3 tarifas y una automatización que se ejecute con cada cambio del atributo periodo (también puedes hacerlo cada hora y listo), y que al ejecutarse active un periodo u otro en el utility metter.

MiguelAngelLV commented 11 months ago

Si creas un utility meter (un contador desde ayudantes) con P1, P2 y P3 como tarifas, tendrías que crear una automatización tal que así:

alias: Gestionar consumos
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.precio_kwh
    attribute: Period
condition: []
action:
  - service: select.select_option
    data:
      option: "{{ state_attr('sensor.precio_kwh', 'Period') }}"
    target:
      entity_id: select.consumo_por_tarifas
mode: single
gonzalezcalleja commented 11 months ago

Mucha gracias @MiguelAngelLV

Lo he implementado con un utility meter y además para mejorarlo he usado el dato de tu componente de balance neto. Dejo mi config por si le sirve de ayuda a alguien más:

Utilty meter:

consumo_por_periodo:
  source: sensor.net_imported
  #sensor.shelly3em_channel_c_energy
  cycle: monthly
  tariffs:
  - P1
  - P2
  - P3

Automatización:

alias: 'Ajustar tarifa periodo energia'

initial_state: true
trigger:
  - platform: homeassistant
    event: start

  - platform: state
    entity_id:
      - sensor.precio_kwh
    attribute: Period

action:
  - service: select.select_option
    target:
      entity_id: select.consumo_por_periodo
    data:
      option: "{{ state_attr('sensor.precio_kwh','Period') }}"