Componente Electricity para informar da tarifa energética (era energy_tariff_pt)

Bom dia @dgomes, não estou a conseguir validar a configuração.


Configurações:

electricity:
  home:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo semanal
    source: sensor.energy_meter 

- platform: energy
  name: energy meter
  source_sensor: sensor.efergy_645291

Já vi o erro assim é que está correcto

- platform: energy
  name: energy meter
  source: sensor.efergy_645291

Cumprimentos,

Obrigado Diogo Gomes, pelo excelente trabalho, agora vou ver se consigo integrar estes dados no grafana. :+1:

Cumprimentos,

@Draco ou @dgomes
Desculpa estar incomodar…mas podes dar uma ajudinha sff…esta a dar erro na minha configuração

electricity:
  home:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo diário

- platform: energy
  name: energy meter
  source: sensor.efergy_745573

utility_meter:
  energia_diario:
    source: sensor.energy_consumed
    cycle: daily
    tariffs:
      - cheia
      - vazio
  energia_mensal:
    source: sensor.energy_consumed
    cycle: monthly
    tariffs:
      - cheia
      - vazio

E qual é o erro que está a dar?

Boa noite, estamos aqui todos para ensinar/ apreender está à vontade, eu já aprendi muito aqui.
Só uma questão já colocaste a pasta electricity desenvolvida pelo @dgomes, dentro da pasta custom_components?

configuration:

# Para Mudança de ciclo bi-horário cheiaou vazio
electricity:
  home:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo diário

### Diario
utility_meter:
  energia_diario_consumed:
    source: sensor.energy_consumed
    cycle: daily
    tariffs:
      - cheia
      - vazio

###   ###    ###   ###   ###   ###   ###   ###

### Mensal
  energia_mensal_consumed:
    source: sensor.energy_consumed
    cycle: monthly
    tariffs:
      - cheia
      - vazio

No teu caso ficaria assim

Depois no Automation:

### Mudaça de Tarifa
- alias: tariff change
  trigger:
    - platform: state
      entity_id: electricity.operator_plan
  action:
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energy
      data_template:
        tariff: "{{ trigger.to_state.state }}"

Diz se ficou resolvido…
Cumprimentos,

1 Curtiu

Obrigado @Draco ja fiz as alterações , agora é esperar pela mudança do dia para ver se esta tudo a funcionar.

Mais uma vez muito obrigado @Draco e @dgomes pela vossa ajuda.
Grande abraço.

Estranho…correu quase tudo bem…faz o reset aos “contadores” , passou para o vazio mas começou a incrementar o contador “cheio” e não o contador “vazio”.
O que será que fiz de errado??

2019-02-12 02:06:17 INFO (MainThread) [homeassistant.components.automation] Executing tariff change

2019-02-12 02:06:17 INFO (MainThread) [homeassistant.helpers.script] Script tariff change: Running script

2019-02-12 02:06:17 INFO (MainThread) [homeassistant.helpers.script] Script tariff change: Executing step call service

2019-02-12 02:06:17 ERROR (MainThread) [homeassistant.helpers.service] Error rendering data template: UndefinedError: 'trigger' is undefined

Bom dia @nunocouto, pois comigo acontece o mesmo, não tinha reparado , uma vez que ainda ando a configurar tudo de novo.
E só no domingo é que estive a fazer a nova configuração.
Tenho que ver se é da configuração, mas a pessoa mais indicada para ver o problema é o @dgomes, pois o excelente trabalho, é todo dele. Uma vez que foi ele que desenvolveu as aplicações.

Cumprimentos,

1 Curtiu

Bom dia @Draco …Obrigado pelo teu reply…vamos esperar que o @dgomes nos possa ajudar com o erro.
Abraço e bom trabalho.

Nao sei o que se passa… a automaçao está de acordo com a documentação:

logo a noite vou tentar reproduzir o vosso erro

1 Curtiu

Obrigado @dgomes

@nunocouto @Draco

Penso que conseguem resolver isso se forçarem a alteração da tarifa com o serviço UTILITY_METER.NEXT_TARIFF.

Voces têm que ter as entity_id’s a bater certo :slight_smile: nos copy&pastes aqui de configurações não existe nenhum utility_meter.energyutility_meter.energia_diario_consumed e utility_meter.energia_mensal_consumed

Boas…Então como fica?? Obrigado

electricity:
  home:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo diário

### Diario
utility_meter:
  energia_diario_consumed:
    source: sensor.energy_consumed
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio

###   ###    ###   ###   ###   ###   ###   ###

### Mensal
  energia_mensal_consumed:
    source: sensor.energy_consumed
    cycle: monthly
    tariffs:
      - Fora de Vazio
      - Vazio
### Mudaça de Tarifa
- alias: tariff change
  trigger:
    - platform: state
      entity_id: electricity.operator_plan
  action:
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_diario_consumed
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_mensal_consumed
      data_template:
        tariff: "{{ trigger.to_state.state }}"

Para lé de terem a entity_id errada tinham tb os nomes das tarifas erradas… teem que bater certo com as tarifas do electricity

2019-02-12 22:46:24 INFO (MainThread) [homeassistant.components.automation] Executing tariff change

2019-02-12 22:46:24 INFO (MainThread) [homeassistant.helpers.script] Script tariff change: Running script

2019-02-12 22:46:24 INFO (MainThread) [homeassistant.helpers.script] Script tariff change: Executing step call service

2019-02-12 22:46:24 ERROR (MainThread) [homeassistant.helpers.service] Error rendering data template: UndefinedError: 'trigger' is undefined

2019-02-12 22:46:24 INFO (MainThread) [homeassistant.helpers.script] Script tariff change: Executing step call service

2019-02-12 22:46:24 ERROR (MainThread) [homeassistant.helpers.service] Error rendering data template: UndefinedError: 'trigger' is undefined

Isto é o que tenho a funcionar:

#configuration.yaml

electricity:
  utility_edp:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo semanal

utility_meter:
  energia_diario:
    source: sensor.energia_activa_total
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio
#automation.yaml

- alias: tariff change
  trigger:
    platform: state
    entity_id: electricity.utility_edp
  action:
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_diario
      data_template:
        tariff: '{{ trigger.to_state.state }}'

Atenção a todas as formatações

Ca nervos!! :tired_face:
dá-me o seguinte erro:
“Unable to read file /config/configuration.yaml: ‘utf-8’ codec can’t decode byte 0xe1 in position 4270: invalid continuation byte”

Que deixa de dar quando tiro o acento em “plan: Bi-horário - ciclo semanal”

se deixo sem acento, não reconhece…

Boa noite @dgomes , mais uma vez obrigado pela atenção disponibilizada.
Agora sim parece estar tudo funcional, mas só amanhã é que posso ter uma ideia mais formada quando tiver mais dados.
Mas à partida parece estar tudo ok…

Boa noite @nunocouto, penso que o meu código é útil para ti, uma vez que, usamos o mesmo tipo de sensores. Qualquer dúvida é só dizeres.

Cumprimentos,

Fica aqui o meu código:

configuration:

# Para Mudança de Vazio ou Fora de Vazio, isto é, Cheia -Plano Bi-horário Ciclo Semanal
electricity:
  utility_edp:
    country: Portugal
    operator: EDP
    plan: Bi-horário - ciclo semanal

### Diario
utility_meter:
  energia_diario_consumed:
    source: sensor.energy_consumed
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio

  energia_diario_consumida:
    source: sensor.energia_consumida
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio
      
  energia_diario_solar:
    source: sensor.energia_solar
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio

  energia_diario_hibrida:
    source: sensor.energia_hibrida
    cycle: daily
    tariffs:
      - Fora de Vazio
      - Vazio

### Mensal
  energia_mensal_consumed:
    source: sensor.energy_consumed
    cycle: monthly
    tariffs:
      - Fora de Vazio
      - Vazio

  energia_mensal_consumida:
    source: sensor.energia_consumida
    cycle: monthly
    tariffs:
      - Fora de Vazio
      - Vazio

  energia_mensal_solar:
    source: sensor.energia_solar
    cycle: monthly
    tariffs:
      - Fora de Vazio
      - Vazio

  energia_mensal_hibrida:
    source: sensor.energia_hibrida
    cycle: monthly
    tariffs:
      - Fora de Vazio
      - Vazio

###   ###    ###   ###   ###   ###   ###   ###

automations:

### Mudaça de Tarifa
- alias: tariff change
  trigger:
    platform: state
    entity_id: electricity.utility_edp
  action:
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_diario_consumed
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_mensal_consumed
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_diario_consumida
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_mensal_consumida
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_diario_solar
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_mensal_solar
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_diario_hibrida
      data_template:
        tariff: "{{ trigger.to_state.state }}"
    - service: utility_meter.select_tariff
      entity_id: utility_meter.energia_mensal_hibrida
      data_template:
        tariff: "{{ trigger.to_state.state }}"

###   ###    ###   ###   ###   ###   ###   ###

sensors:

### Sensor para contabilizar a energia consumida.
- platform: integration
  source: sensor.efergy_645291
  name: Energia Consumida
  unit_prefix: k
  round: 0

### Sensor para contabilizar a energia solar produzida.
- platform: integration
  source: sensor.efergy_805720
  name: Energia Solar
  unit_prefix: k
  round: 0

### Sensor para contabilizar a energia hibrida produzida.  
- platform: integration
  source: sensor.efergy_792857
  name: Energia Hibrida
  unit_prefix: k
  round: 0

###   ###    ###   ###   ###   ###   ###   ###

### Custo da energia consumida em casa tarifa bi-horária ciclo semanal
- platform: template
  sensors:
    custo_vazio:
      friendly_name: 'Custo Mensal da Energia no Vazio'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.energia_mensal_consumida_vazio.state | float * 0.0942)) | round(2) }}'
      
- platform: template
  sensors:
    custo_fora_vazio:
      friendly_name: 'Custo Mensal da Energia fora do Vazio'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.energia_mensal_consumida_fora_de_vazio.state | float * 0.2942)) | round(2) }}'

- platform: template
  sensors:
    custo_total:
      friendly_name: 'Custo Total da Energia'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.custo_vazio.state | float) + (states.sensor.custo_fora_vazio.state | float)) | round(2) }}'

###   ###    ###   ###   ###   ###   ###   ###

### Valor da energia solar Produzida em casa
- platform: template
  sensors:
    valor_solar_fora_vazio:
      friendly_name: 'Valor Mensal da Energia Solar Produzida fora do vazio'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.energia_mensal_solar_fora_de_vazio.state | float * 0.2942)) | round(2) }}'

- platform: template
  sensors:
    valor_solar_vazio:
      friendly_name: 'Valor Mensal da Energia Solar Produzida no vazio'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.energia_mensal_solar_vazio.state | float * 0.0942)) | round(2) }}'

- platform: template
  sensors:
    valor_total_solar:
      friendly_name: 'Valor Total da Energia Solar Produzida'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.valor_solar_vazio.state | float) + (states.sensor.valor_solar_fora_vazio.state | float)) | round(2) }}'

###   ###    ###   ###   ###   ###   ###   ###

### Valor da energia hibrida Produzida em casa
- platform: template
  sensors:
    valor_hibrido_fora_vazio:
      friendly_name: 'Valor Mensal da Energia Hibrida Produzida fora do vazio'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.energia_mensal_hibrida_fora_de_vazio.state | float * 0.2942)) | round(2) }}'

- platform: template
  sensors:
    valor_hibrido_vazio:
      friendly_name: 'Valor Mensal da Energia Hibrida Produzida no vazio'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.energia_mensal_hibrida_vazio.state | float * 0.0942)) | round(2) }}'

- platform: template
  sensors:
    valor_total_hibrida:
      friendly_name: 'Valor Total da Energia Hibrida Produzida'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.valor_hibrido_vazio.state | float) + (states.sensor.valor_hibrido_fora_vazio.state | float)) | round(2) }}'

### Valor total da energia Produzida em casa solar + hibrida
- platform: template
  sensors:
    valor_total:
      friendly_name: 'Valor Total da Energia Produzida'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.valor_total_hibrida.state | float) + (states.sensor.valor_total_solar.state | float)) | round(2) }}'

###   ###    ###   ###   ###   ###   ###   ###

### Energia. consumida menos a produzida, isto é, o valor da energia que se paga a EDP
- platform: template
  sensors:
    valor_pagar:
      friendly_name: 'Valor a Pagar'
      unit_of_measurement: '€'
      icon_template: mdi:cash-multiple
      value_template: '{{ ((states.sensor.custo_total.state | float) - (states.sensor.valor_total.state | float)) | round(2) }}'
      
###   ###    ###   ###   ###   ###   ###   ###

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


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