Há cerca de 1,5 mês entrei neste mundo e mergulhei de cabeça! Umas das áreas que quero implementar é a contagem de energia que passa por casa.
Para isso já encomendei um sonoff basic + pzem, que assim que chegar vou seguir o tutorial aqui do forum para colocar a medir a entrada geral; e também uma carrada de tomadas Blitzwolf (SHP5 e SHP2) que planeio flashar assim que chegarem (e assim que chegar o conversor usb serie para isso).
Entretanto como queria começar já a medir alguma coisa, comprei duas Shelly Plug S, que têm esta capacidade (mais tarde devo também flashar com tasmota, mas como já têm MQTT ficam em ultimo da lista)
O problema começa aqui: Apesar de suportar MQTT, de cada vez que as shellies fazem restart o contador de energia vai a zero. Apercebendo-me disto fui para o support group do facebook pedir alguma sugestão mas o que me foi dito foi algo deste género “reboots acontecem, é melhor mas é guardares isso do lado do HA”.
Aceitei o desafio o montei um flow para fazer isso mesmo, que basicamente o que faz é guardar o ultima contagem total sempre que detecta um 0 no respetivo sensor, e somar tudo o que chega depois a esse mesmo valor, guardando tudo num sensor diferente que criei para servir de totalizador.
Podes quadruplicar os sensores e depois para cada um crias um timer para lhes fazer reset.
Exemplo:
Sensor. hoje -> reset todos os dias às 00:00
Sensor ontem -> antes do reset ao sensor.hoje, copias o valor para o sensor.ontem
O esta.semana é dúbio porque podem ser os últimos 7 dias ou a semana civil.
O sensor.este.mes a maneira mais simples é reset às 00.00 de dia 1.
De certeza que existe uma maneira mais fácil de fazer isto, mas foi o que me ocorreu
Pois… Eu também sou suspeito mas se o @dgomes ja inventou a roda (leia-se um componente que faz isso tudo que queres e muito mais) não há necessidade de reinventar a roda (leia-se criar confusão nas configurações e automações quando com meia duzia de linhas fazes o mesmo).
De facto a sugestão do Tiago é simples e eficaz, acho que vou começar por aí até para melhorar os meus skills de node-red.
Ontem depois do meu post até comecei por utilizar uma abordagem de usar o node “Get history”, com as datas corretas e depois subtrair o primeiro valor do array ao ultimo. Esta abordagem no caso de calcular os valroes de ontem é pacifica, mas se calhar quando estamos a falar do valor mensal, o get history ir buscar os valores do mês inteiro só para usar o primeiro e o ultimo parece tudo menos eficiente A sugestão do Tiago resolve isto, guardo o valor que interessa na altura que interessa e está feito (inicio do dia; inicio da semana, inicio do mês, etc)
A componente utility_meter já andava debaixo de olho, mas pelo que percebo é indicada para um sensor (ou estou a ver mal e permite ter múltiplos sensores de energia?), que no meu caso será o sensor de energia geral da casa quando o tiver instalado.
Instalei e configurei para monitorizar o consumo da máquina de lavar loiça para me começar a ambientar.
O Utility Meter pode ser usado para o numero de contadores que quiseres, basta definir fontes diferentes para cada contador. E não serve apenas para electricidade, podes usar para gás, água, etc.
Não me tinha apercebido, pensava que a tag “energy” era fixa. Configurei no Utility Meter a contagem das duas máquinas, com ciclo diario, mas agora não estou a ver como ter a informação: hoje, ontem, esta semana, semana passada, etc pois só me aparecem 2 contadores…
Tenho de adicionar mais sensores? Podem ajudar com exemplo? Atualmente tenho assim:
Agora só falta o yesterday, last_week e last month, estes não são suportados pelo Utility Meter por omissão, e terei de os calcular via qualquer automatismo ou node-red, certo?
Obg pela ajuda
Eu faço depois esses cálculos com o InfluxDB e com o Grafana mas o Utility Meter tem um atributo de last_period com o valor do último período medido (@dgomes corrige-me se estiver errado)
Estou com um problema com o utility meter que penso que algum de vós me pode ajudar:
Por alguma razão o contador “energy_cozinha_msr_today” não tem atribuída a unidade kWh (nem qualquer outra):
A minha configuração do utility meter para este consumo (máquina secar roupa) é a seguinte:
Por alguma razão o contador “today” não tem unidade, mas os restantes têm. Já comentei este sensor e voltei adicionar sem sucesso. Alguma sugestão? obrigado
Se configurar o unit_of_measurement = kWh na definição do utility meter, dá-me erro - há alguma maneira especial de fazer isto?
Na source que alimenta os 3 contadores “sensor.energy_cozinha_msr_total”, a unit_of_measurement está bem definida, como se pode ver na imagem que coloquei (é o último sensor dos 4 que aparecem na lista).
Por fim, o que é estranho é que a source é a mesma, mas nos 2 contadores this_week e this_month aparece de facto o kWh.
Viva,
Entretanto consegui resolver mas não tenho a certeza como.
Forcei via costumization a atribuição do unit_of_measure = kWh ao Today, e depois retirei, e ficou ok.
A source sempre teve o unit_of_measurement em kWh, isso é que é estranho. Foi como referi, a source é mesma para cada um dos 3 sensores do setup (ver imagem abaixo), no entanto havia algum problema com a variável today…
Se colocar o unit_of_measurement no sensor today, ao fazer o check dá-me este erro:
Configuração inválida
Invalid config for [utility_meter]: [unit_of_measurement] is an invalid option for [utility_meter]. Check: utility_meter->utility_meter->energy_cozinha_msr_today->unit_of_measurement. (See /config/configuration.yaml, line 79). Please check the docs at https://home-assistant.io/components/utility_meter/
Ainda uma outra questão sobre o Utility Meter l, cuja resposta não estou a encontrar:
O utility meter utiliza um contador de energia para fazer as suas segregações e cálculos. Como é que ele reage quando por exemplo o contador de energia da tomada vai a zero? Ele deteta isto e consegue lidar como se nada tratasse?