Energy Sensor (beta)


(Diogo Gomes) #1

Muitos deparam-se com um sensor que mede a potencia (Watts) e teem que inventar para obter energia (kWh), O seguinte sensor visa endereçar este mesmo problema. Este sensor faz APENAS a integração dos dados em Watts em kWh.

queiram colocar o ficheiro na vossa pasta custom_components/sensor, configurar:

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

Agradeço feedback até porque estou a preparar a submissão oficial.


Utility Meter Sensor (DEPRECATED)
(Rodolfo) #2

Quais sao os equipamentos que tens conhecimento que apenas dão a informação de watts? Pergunto isto porque para medição apenas uso pzem e o firmware já tem a opção de kwh, penso que os sonoff pow também… se não tou em erro.


(Diogo Gomes) #3

Bem apontado!

Pessoalmente tenho um sistema OpenEnergyMonitor mas não uso a plataforma deles. Resultado tenho os dados de potencia a vir do sensor em Watts e posteriormente calculo a energia via InfluxDB.

Não serve ninguém então :slight_smile: ?

Estou a pensar aumentar as funcionalidades permitindo ter várias contagens (como os nossos contadores da EDP distribuição), ia apostar em ler os vários “estados” de um sensor externo e ter cada contagem num atributo.


(Nuno Neves) #4

Utilidade vai ter sempre, ainda para mais com essas novas implementações…
Força nisso! :wink:


(Jorge Assunção) #5

@dgomes

Isso não dá para fazer a separação entre pontas, cheias e vazias?? Ia resolver alguns problemas…


(Diogo Gomes) #6

Minha ideia era essa…

Ter um sensor que dá como estado “vazio”, “cheias”, “pontas” -> caso português, e para outros países haveria sensores semelhantes

Depois o meter terá como estado o totalizador e atributos para vazio, cheias, pontas (os estados que existirem).

Mas assim simples não serve para nada é isso ?

É que posso assumir que os dados veem logo em kWh em vez de W…


(Jorge Assunção) #7

Pois, não me lembro de nenhum equipamento que envie os dados só em Watts. Se fizeres a alteração eu posso testar isso.


(Diogo Gomes) #8

(Diogo Gomes) #9

OK!

Nova versão agora com suporte a tarifários (bi-horario, etc)


(Diogo Gomes) #10

Hard Fork!

Resolvi separar as coisas. Agora este sensor apenas transforma informação de potencia em energia (vulgarmente W -> kWh)

Vou lançar um novo post para o componente que faz de contador directamente partir de um sensor de energia.


(Rui Oliveira) #11

Boa noite @dgomes, tentei usar no sensor efergy, mas não consegui.
Era isto mesmo que estava a precisar, uma vez que tenho 3 sensores do efergy, um para consumo, solar e híbrido (solar+eólico). Os valores recebidos são em Watts, portanto é o ideal.
Cumprimentos,


(Diogo Gomes) #13

Acabei de actualizar limpando o código das tarifas que foi para um novo componente.

Queres explicar os erros que tens ? Estou disponível no Discord tb!


(Rui Oliveira) #14

Vou fazer o teste agora com a nova actualização. O novo ficheiro criado vai para a mesma pasta certo?


(Diogo Gomes) #15

energy.py vai para custom_components/sensor


(Rui Oliveira) #16

Sim essa já lá está, mas agora tem um novo ficheiro o energy_meter.py, este tambem vai para lá?


(Diogo Gomes) #17

actualiza o energy.py (só para ter a certeza)

O energy_meter.py é outro assunto (serve para fazer contagem de cheias, vazios, ponta)


(Rui Oliveira) #18

Não consigo validar a configuração.

l/lib/python3.6/site-packages/homeassistant/components/http/view.py", line 118, in handle
result = await result
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/config/core.py”, line 21, in post
errors = await async_check_ha_config_file(request.app[‘hass’])
File “/usr/local/lib/python3.6/site-packages/homeassistant/config.py”, line 799, in async_check_ha_config_file
check_ha_config_file, hass)
File “/usr/local/lib/python3.6/concurrent/futures/thread.py”, line 56, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.6/site-packages/homeassistant/scripts/check_config.py”, line 367, in check_ha_config_file
platform = loader.get_platform(hass, domain, p_name)
File “/usr/local/lib/python3.6/site-packages/homeassistant/loader.py”, line 60, in get_platform
return get_component(hass, PLATFORM_FORMAT.format(domain, platform))
File “/usr/local/lib/python3.6/site-packages/homeassistant/loader.py”, line 92, in get_component
module = importlib.import_module(path)
File “/usr/local/lib/python3.6/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 994, in _gcd_import
File “”, line 971, in _find_and_load
File “”, line 955, in _find_and_load_unlocked
File “”, line 665, in _load_unlocked
File “”, line 674, in exec_module
File “”, line 781, in get_code
File “”, line 741, in source_to_code
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/sensor/energy.py”, line 178
return ICON
^
SyntaxError: ‘return’ outside function


(Diogo Gomes) #19

Como é q descarregaste o ficheiro ? Por favor diz-me q não fizeste Copy&Paste :slight_smile:

Abre https://raw.githubusercontent.com/dgomes/home-assistant-custom-components/master/sensor/energy.py e faz “Save as…”


(Rui Oliveira) #20

Lol, por acaso até fiz copy paste, para o cloud9, hehehe.
Agora já passou a configuração.


(Rui Oliveira) #21

Está operacional/funcional , obrigado.
Agora falta avançar com o BI-horário👍