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!!
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) }}'
### ### ### ### ### ### ### ###
Usa o Notepad++ e muda o encoding para UTF8.
@j_assuncao já estava a dar em maluco! sempre usei o notepad ++ e nunca me aconteceu!
Em encodig, escolhi “convert to UTF-8” e já deu…
Obrigado!!
Confirma todos os teus ficheiros. Já me aconteceu ter alguns ficheiros sem UTF8 mas não darem erro até lá colocar um carácter especial.
@Draco
Muito obrigado pela tua ajuda, foi muito util. Estou agora a alterar as minhs configurações.
Apenas um questão:
Qual é a diferença entre estas duas ?:
entity_id: utility_meter.energia_diario_consumida
entity_id: utility_meter.energia_diario_consumed
### 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 }}
Boa tarde, a Consumed é o valor da energia que o efergy usa, isto é, a aplicação do efergy embutida no hassio transforma a potência em energia. No fundo é o que faz o integration.
O sensor dá o valor da “potência (W)”, na verdade da o valor da corrente, depois uso o seguinte código:
### Sensor para contabilizar a energia consumida.
- platform: integration
source: sensor.efergy_645291
name: Energia Consumida
unit_prefix: k
round: 0
Para transformar a potência em energia.
Já verifiquei que está tudo operacional, só falta ver como se comporta no fim de semana, para obter valores no vazio do sensor solar e híbrido, mas à partida está tudo ok.
Grande Trabalho @dgomes, obrigado.
Cumprimentos,
Rui Oliveira
@Draco Desculpa estar incomodar novamente,
Apenas uma pergunta o calculo dos custos é dinamico ou quando é calculado??
Obrigado e abraço,
Nuno Couto
Boa noite, depende dos sensores que usares, neste caso é mensal, pois estou a usar os sensores mensais. No entanto pode ser um destes ciclos:
cycle
(string)(Required)How often to reset the counter. Valid values are hourly
, daily
, weekly
, monthly
and yearly
.
Fonte: https://www.home-assistant.io/components/utility_meter/
O mensal faz sentido para ter uma ideia de quanto vou pagar. Se quiseres podes pegar no sensor.custo_total e trabalhares à tua maneira, isto é, armazenar numa tabela com o respectivo mês, etc…
Cumprimentos,
Boas noite pessoal!
Aqui a automação parece não estar a funcionar…
tenho a seguinte configuração:
electricity:
utility_edp:
country: Portugal
operator: EDP
plan: Bi-horário - ciclo semanal
utility_meter:
energia_diario:
source: sensor.consumo_total
cycle: daily
tariffs:
- Fora de Vazio
- Vazio
e a automação:
- id: Mudanç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
data_template:
tariff: '{{ trigger.to_state.state }}'
a minha source é de um pzem.
Configurei ontem á noite e não mudou, quando faço o “automation.trigger”, dá erro “Error rendering data template: UndefinedError: ‘trigger’ is undefined”.
Será que este tal “automation.trigger” nos serviços não faz o que estou a pensar ou tenho alguma coisa mal configurada?
Não ha mudança de estado… logo o automation trigger não recebe o “to_state”
Entretanto já funciona aposto
Sim! No dia seguinte funcionou tudo direitinho. No fim de semana, que é quando há mais alterações, funciona na perfeição! És grande @dgomes! Agora ando a ver o que consigo montar no grafana.
Atenção! Com a mudança da hora foi detectado um BUG. É preciso actualizar!
Boa tarde,
Após a ultima actualização do hassio para a 0.94.4, o electricity deixou de funcionar. Já reiniciei a máquina umas 4 ou 5 vezes e não resolveu.
Tenho os seguintes erros:
Unable to install package python-electricity==0.0.4: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(“bad handshake: SysCallError(104, ‘ECONNRESET’)”))’: /simple/python-electricity/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(“bad handshake: SysCallError(104, ‘ECONNRESET’)”))’: /simple/python-electricity/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(“bad handshake: SysCallError(104, ‘ECONNRESET’)”))’: /simple/python-electricity/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(“bad handshake: SysCallError(104, ‘ECONNRESET’)”))’: /simple/python-electricity/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(“bad handshake: SysCallError(104, ‘ECONNRESET’)”))’: /simple/python-electricity/
ERROR: Could not find a version that satisfies the requirement python-electricity==0.0.4 (from versions: none)
ERROR: No matching distribution found for python-electricity==0.0.4
Not initializing electricity because could not install requirement python-electricity==0.0.4
Setup failed for electricity: Could not install all requirements.
Alguém pode dar uma ajuda?
Cumps.
reinicia a maquina, que isso passa
Após reiniciar umas 6 ou 7 vezes, voltou à vida
Obrigado Diogo.
Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.