Contabilizar os custos com Energia Eléctrica?

Alguma coisa aqui está mal …
image

e no card a pedido

image

mas no Telegram
image

podes colocar

{{ trigger.to_state.state }}

na mensagem telegram ? (para debug)

Boa tarde, @dgomes,

Preciso da tua ajuda SFF :slight_smile: … Acho que tenho tudo OK, mas as contas no template teimam em não bater certo:

Olha aqui…

Tenho 0.14kWh e com o teu template,

  - platform: template
    sensors:
      fatura_energia:
        friendly_name: "Fatura Energia bi-horário"
        value_template: >-
          {{ ((float(states.sensor.monthly_energy_vazio.state) * 0.11  + float(states.sensor.monthly_energy_fora_de_vazio.state) * 0.187 + now().day * 0.3832 + 2.85 ) * 1.23 ) | round(2) }}
        unit_of_measurement: "€"
      fatura_energia_simples:
        friendly_name: "Fatura Energia simples"
        value_template: >-
          {{ ((float(states.sensor.monthly_energy_vazio.state) * 0.1544  + float(states.sensor.monthly_energy_fora_de_vazio.state) * 0.1544 + now().day * 0.3832 + 2.85 ) * 1.23 ) | round(2) }}
        unit_of_measurement: "€"

Ele retorna 12.96€??? Já troquei montes de sensores e não dou com a lebre :confused:

Não te esqueças que com esse template estás a contabilizar o preço da potência contratada por dia now().day * 0.3832 mais uma taxa que agora não me lembro o nome :exploding_head: + 2.85 e mais ainda o IVA * 1.23

Só nisto são logo 11.28 euros.
Essas taxas todas deveriam estar só num contador geral ou então se for o único contador que tens para já também pode fazer sentido , mas aí tu é que tens de decidir.

Eu não tenho nenhum contador geral, tenho vários contadores espalhados, no template deles tenho assim:

 {{ ((float(states.sensor.monthly_energy_vazio.state) * 0.0987  + float(states.sensor.monthly_energy_fora_de_vazio.state) * 0.1859 + now().day * 0.0 + 0 ) * 1.0 ) | round(2) }}

que não contabiliza nenhuma taxa. Depois tenho é outro template onde somo todos os contadores e aí sim é que coloco as taxas.

1 Curtiu

Olá Ricardo, estou com o mesmo problema… ou seja tenho os daily em kwh mas o vazio aparece a 0. como corrigiste?

image

Já fizeste a automação para mudar automaticamente de tarifa?

sim:
image

E está a alterar a entidade correcta?

Olá Jorge,
ele esta com erro:

Logger: homeassistant.helpers.service
First occured: 13:41:26 (12 occurences)
Last logged: 14:27:58

Error rendering data template: UndefinedError: ‘trigger’ is undefined

e por isso nao esta a mudar

Boa tarde Ricardo,

Eu só tenho o geral … Assim dá para ter uma ideia mais ou menos :slight_smile:)

Obrigado pela dica na mesma :wink:

Viva Pessoal,

Estou a utilizar o utility_meter que tem como source um sensor template que faz a soma de vários sensores. Estes diversos equipamentos têm tasmota instalar e utilizo o sensor Today (kWh)

     total_daily_energy_consumption:
        friendly_name: Total daily energy consumption
        value_template: "{{ ((states.sensor.socket_termoacumulador_energy_today.state | float) + ( states.sensor.convector_ufesa_energy_today.state | float ) + (states.sensor.socket_shp701_energy_today.state | float)) | round(3) }}"
        unit_of_measurement: 'kWh'
utility_meter:
  daily_energy:
    source: sensor.total_daily_energy_consumption
    cycle: daily
  monthly_energy:
    source: sensor.total_daily_energy_consumption
    cycle: monthly

O que está a acontecer é que cada vez que faço restart ao HA é somado o valor que estiver no sensor.total_daily_energy_consumption ao já existente no utility_meter. Mais alguém está com este problema?

Estou no HA 0.107.7.

Boas.

Não é bem uma ajuda a resolver o teu problema mas mais um workarround.
Eu também tenho vários medidores de energia, e então o que fiz foi criar um utility para cada um e depois é que somo os valores ( na verdade só estou a somar os valores depois do template para saber o custo em euros )
No teu caso poderá ser algum problema que não possa ser resolvido, ter a ver com maneira como o utility vai somando os valores, e esta solução pode ser melhor.

Quando comecei a ler o teu post, achei a tua abordagem melhor do que a minha, dado só precisares de um utility, mas se esse problema não for resolúvel , o melhor é mesmo deixar como está.

Bom dia.
Sou novo a usar o Home assistant e estou com um problema no utility meter mais em concreto com o calculo dos custos. Diz sempre “desconhecido”
Tenho as coisas bem simples para começar e estou a fazer neste momento os custos para o gasto diario e tenho uma tarifa simples, com a operadora EEM.

No configuration.yaml tenho o seguinte:

utility_meter:
  energia_diaria_2:
    source: sensor.aeon_labs_dsb28_home_energy_meter_2nd_edition_energy
    cycle: daily

Ate aqui a meu ver esta tudo ok. Pois consigo ver em kWh o consumo diário.
Agora no sensors.yaml tenho o seguinte:

- platform: template
  sensors:
    fatura_energia_diaria:
      friendly_name: "Fatura Energia Simples"
      value_template: >-
        {{ ((float(states.sensor.energia_diaria_2_daily * 0.1493 + now().day * 0.3832 + 2.85 ) * 1.23 ) | round(2) )$
      unit_of_measurement: "€"

Os custos estão errados ainda nao coloquei os valores corretos dado que não consigo passar daqui.
Consigo reiniciar o Home assistant mas depois ele diz no sensor do custo que é desconhecido e tenho este registo no log:

Update for sensor.fatura_energia_diaria fails

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 279, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 474, in async_device_update
    await self.async_update()
  File "/usr/src/homeassistant/homeassistant/components/template/sensor.py", line 224, in async_update
    self._state = self._template.async_render()
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 221, in async_render
    return compiled.render(kwargs).strip()
  File "/usr/local/lib/python3.7/site-packages/jinja2/environment.py", line 1090, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.7/site-packages/jinja2/environment.py", line 832, in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
  File "/usr/local/lib/python3.7/site-packages/jinja2/_compat.py", line 28, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 1, in top-level template code
TypeError: unsupported operand type(s) for *: 'TemplateState' and 'float'

Será que alguém podia me ajudar a passar este problema para poder continuar a configurar o meu home assistant é que sinceramente já não sei o que fazer.

Cumprimentos.

Tens montes de exemplos neste tópico de como deve ser o template:

Tu tens float(states.sensor.energia_diaria_2_daily

e tem de ser float(states.sensor.energia_diaria_2_daily.state)

Confirma só que o teu sensor é mesmo sensor.energia_diaria_2_daily

Acredito que estejas só a experimentar, pois com o utility só de ciclo diário este sensor só vai dar o custo da energia nesse dia.

Sim correto estou apenas experimentar para ter a certeza que sei fazer e avançar.
O meu sensor é mesmo o sensor.energia_diaria_2
Como tenho uma tarifa simples deduzi que tinha que colocar “daily” a frente do meu sensor.
Mas vou fazer a alteração tal como sugeriste.
Obrigado pela ajuda

Boa tarde a Todos.
ando já à alguns dias a ler este tópico, para tentar colocar o meu HA a funcionar como eu quero, já fiz alguns avanços, mas agora tenho aqui alguns problemas que me estão pôr a cabeça em agua
O meu objectivo é usar os meus Shellys para saber o custo energético de vários equipamentos
para começar estou a usar apenas o Shelly que controla o cilindro de AQS
A ideia é saber os consumos em vazio e Fora de vazio e o custo Diário e mensal
image

Tenho configurado assim (estou a tentar ler directamente o sensor do Shelly) pelo que não tenho o “integration”

configuration.yaml

# Zona para leitura dados so sensor de consumo do Cilindro AQS
utility_meter:
  energia_cilindro_hoje:
    source: sensor.shelly_shsw_pm_8caab5057845_total_consumption
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio

  energia_cilindro_mes:
    source: sensor.shelly_shsw_pm_8caab5057845_total_consumption
    cycle: monthly
    tariffs:
      - Fora de Vazio
      - Vazio
#  Dia do mês a que faz o reset do contador
    offset:
      days: 19
      
# Chama o componente eletricity 
electricity:
  edp:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo diário

# Custo Cilindro AQS diario e mensal
sensor:
  - platform: template
    sensors:
     custo_cilindro_mes:
      friendly_name: "Custo cilindro  mês"
      value_template: >-
         {{ (float(states.sensor.energia_cilindro_mes_vazio.state) * 0.107748  + float(states.sensor.sensor.energia_cilindro_mes_fora_de_vazio.state) * 0.228534 )  | round(2) }}
      unit_of_measurement: "€"
      
     custo_cilindro_hoje:
      friendly_name: "Custo cilindro  hoje"
      value_template: >-
         {{ (float(states.sensor.energia_cilindro_hoje_vazio.state) * 0.107748  + float(states.sensor.sensor.energia_cilindro_hoje_fora_de_vazio.state) * 0.228534 )  | round(2) }}
      unit_of_measurement: "€"

no automations.yaml, tenho assim :

- alias: tariff change
  trigger:
    - platform: state
      entity_id: electricity.edp
      
  action:
      - service: utility_meter.select_tariff
        entity_id: utility_meter.energia_cilindro_hoje   
        data_template:
          tariff: "{{ trigger.to_state.state }}"
      - service: utility_meter.select_tariff
        entity_id: utility_meter.energia_cilindro_mes
        data_template:
          tariff: "{{ trigger.to_state.state }}"

não consigo ver o que tenho mal, para o campo que me mostra o custo em € aparecer como indisponível
A ideia depois é replicar isto para todos os equipamentos onde consigo ler os consumos através dos Shellys
Alguém me pode dar aqui uma ajuda.
Obrigado

@dgomes haverá alguma forma de contabilizar apenas uma parte do dia?

Ideia tenho um Shelly 3EM mas infelizmente o Frigorifico não está indepedente da restante instalação eletrica ( como a maquina de lavar e da loiça)

A ideia seria apenas contabilizar durante as 22h - 7h de forma contabilizar durante estas horas e verificar possiveis avarias :expressionless:

Talvez consigas se criares uma outra tarifa e crias uma automação para mudar para essa tarifa às 22h e outra automação para sair dessa tarifa às 7h.

Depois contabilizas quantos kwh somou e fazes os cálculos

2 Curtiram

Pessoal sou novo por aqui e estou com uma dúvida.

Fiz a implementação da contabilização utilizando as recomendações e parece estar funcionando tudo corretamente.

Minha dúvida é, quando reinicio o HA ocorre uma pequena perca na medição dos valores. Realmente ocorre esta perca ou estou configurando algo errado por aqui?

Obrigado por qualquer ajuda.

- platform: mqtt
  name: "FAB Watts" ##Potência Ativa
  state_topic: "QDC/pub"
  value_template: '{{ value_json["DATA"]["PT"] }}'
  unit_of_measurement: "W"
  icon: mdi:power-plug

- platform: integration
  source: sensor.fab_watts
  name: energy_spent_fab_kwh
  unit_prefix: k
  round: 2

energia_dia_fab:
  source: sensor.energy_spent_fab_kwh
  cycle: daily

Screen Shot 2020-05-04 at 20.51.59

esse grafico é o integration ou do utility_meter ?


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


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