Medir consumo/geração elétrico da casa com o SM-2W Lite Bidirecional

Salve Salve pessoal!

Estou escrevendo aqui, um (quase) tutorial pra quem quer conseguir monitorar o consumo de energia total da sua casa, usando esse medidor aqui da IETecnologia.

Antes de começar, vamos estabelecer alguns pontos que precisam ser observados:

  • para usar a função Energy, seu HA precisa estar numa versão pós-agosto/2021 (core-2021.8.X)
    -1. Caso você não esteja familiarizado com o painel Energy, esse post do @douglasit está FENOMENAL.
  • podem ser usados os seguintes métodos de “upload” para o ha:
    -1. http-post (não será abordado nesse momento).
    -2. http-get (também não abordarei neste momento).
    -3. FTP/TXT (o leitor gera arquivos .txt que ficam armazenados internamente com leituras a cada 15 minutos, no futuro, vou fazer uma edição com um ‘parser’ para esses arquivos e podermos fazer uma “auditoria”).
    -4. MQTT utilizaremos este método para que o medidor envie as leituras ao HA, pois ele já vem quase pronto pra uso em novas instalações. (aqui temos um compilado de todos os tópicos de MQTT já publicados no nosso fórum, abram em uma nova guia, e aprendam com os MESTRES que fazem nossa comunidade se fortalecer cada dia mais).
  • Usaremos no NODE-RED para a publicação das entidades e o “tratamento” das leituras (obrigado @danielsaraujo pela força PROVIDENCIAL nessa parte (Já falei que sou seu fã hj? hahahah)), caso queiram, tem aqui uma série de posts para aprenderem sobre ele.
  • MUITO CUIDADO ao mexer com eletricidade -ELA MATA- caso não tenham confiança (ou sejam meio loucos igual eu), CHAMEM UM ELETROTÉCNICO/ELETRICISTA de sua confiança para efetuar o serviço de instalação.

Bom, já falei DEMAIS na introdução, vamos “pôr a mão na massa”

Após a instalação física do equipamento que está bem explicada no manual que vc encontra aqui, você precisará fazer ele reconhecer seu wi-fi (tb tá no manual como fazer isso, nem preciso dizer né?).

Após isso, vamos para a parte de fazer o seu medidor “conversar” com o seu broker MQTT/HA e isso é extremamente fácil, veja:

  1. depois de fazer seu medidor ser reconhecido no seu wi-fi pelo seu roteador (manual do equipamento) , vc precisa colocar as credenciais que vc vai usar no seu broker (o addon do ha exige que vc tenha ao menos um usuário e senha pra poder funcionar)
    como uma imagem vale mais que mil palavras, estou mostrando isso aqui embaixo:

Feito isso, não se esqueça de salvar, se vc fez tudo certo, vc vai conseguir verificar nos logs do mqtt, que o equipamento está publicando, agora vem a parte do node-red

Baixe esse fluxo que o @danielsaraujo fez PRA GENTE aqui (OBRIGADO DENOVO, MESTRE!) e faça deploy dele no node-red

Pronto, agora as entidades/tópicos podem ser utilizadas no HA… à partir daí, você pode “brincar” do jeito que você quiser,

Boa Sorte! e Precisando de qualquer coisa, só chamar, se estiver ao meu alcance, eu ajudo com o maior prazer!

Valeu!

Agradecimentos (nunca são demais):

@danielsaraujo pela disponibilidade em compartilhar conhecimento e ajudar como pode

  • À IE Tecnologia por ter feito um equipamento que fosse TÃO FÁCIL de integrar, e por ser uma empresa NACIONAL.

  • A TODOS os membros da nossa comunidade que não citei aqui, que sempre contribuem como podem

5 Likes

Belo trabalho @Augusto !

1 Like

Sabe informar se com esse medidor eu consigo, dentro do HA, saber em um determinado momento quanto estou gerando, quanto estou consumindo e quando estou injetando na rede?

Consegue facilmente, só não coloquei no node-red a variável de geração, mas ela é fornecida pelo medidor ao MQTT, portanto, consegue fazer isso MUITO FÁCIL

1 Like

Oi Augusto, obrigado pelo post e isso me ajudou muito a configurar o medidor junto ao Home Assistant.
Fiz alguns pequenos ajustes no fluxo do Node-RED que segue abaixo:

[{“id”:“8ee83c5112f36a68”,“type”:“tab”,“label”:“Medidor Energia Geral”,“disabled”:false,“info”:""},{“id”:“3dc64cdd4037215c”,“type”:“mqtt in”,“z”:“8ee83c5112f36a68”,“name”:"",“topic”:“home/meter”,“qos”:“2”,“datatype”:“json”,“broker”:“73095eb0810db10c”,“nl”:false,“rap”:true,“rh”:0,“inputs”:0,“x”:120,“y”:60,“wires”:[[“5cc88796d7480a47”]]},{“id”:“5cc88796d7480a47”,“type”:“json”,“z”:“8ee83c5112f36a68”,“name”:"",“property”:“payload”,“action”:“obj”,“pretty”:false,“x”:250,“y”:100,“wires”:[[“eb0fe7f05149aab2”,“6a5c53af7bcb0bd7”]]},{“id”:“eb0fe7f05149aab2”,“type”:“switch”,“z”:“8ee83c5112f36a68”,“name”:"",“property”:“payload.variable”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“PA”,“vt”:“str”},{“t”:“eq”,“v”:“PB”,“vt”:“str”},{“t”:“eq”,“v”:“PT”,“vt”:“str”},{“t”:“eq”,“v”:“UA”,“vt”:“str”},{“t”:“eq”,“v”:“UB”,“vt”:“str”},{“t”:“eq”,“v”:“IA”,“vt”:“str”},{“t”:“eq”,“v”:“IB”,“vt”:“str”},{“t”:“eq”,“v”:“EPT”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:8,“x”:410,“y”:180,“wires”:[[“9ddee6dec0a9887e”],[“d6b3bb8298e61118”],[“2da1ef076515a523”],[“01c6296be322c736”],[“925c6988713b321f”],[“485bc215667ee088”],[“f13613acaabe836c”],[“9b5f0bcecd168d08”]]},{“id”:“9ddee6dec0a9887e”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Potência Ativa - A”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_power_a”},{“property”:“device_class”,“value”:“power”},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“W”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:630,“y”:80,“wires”:[[]]},{“id”:“6a5c53af7bcb0bd7”,“type”:“debug”,“z”:“8ee83c5112f36a68”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:430,“y”:40,“wires”:[]},{“id”:“d6b3bb8298e61118”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Potência Ativa - B”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_power_b”},{“property”:“device_class”,“value”:“power”},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“W”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:650,“y”:140,“wires”:[[]]},{“id”:“2da1ef076515a523”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Potência Ativa - Total”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_power_total”},{“property”:“device_class”,“value”:“power”},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“W”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:660,“y”:200,“wires”:[[]]},{“id”:“01c6296be322c736”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Tensão - A”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_voltage_a”},{“property”:“device_class”,“value”:“voltage”},{“property”:“icon”,“value”:“mdi:alpha-v-circle-outline”},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:630,“y”:240,“wires”:[[]]},{“id”:“925c6988713b321f”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Tensão - B”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_voltage_b”},{“property”:“device_class”,“value”:“voltage”},{“property”:“icon”,“value”:“mdi:alpha-v-circle-outline”},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:630,“y”:280,“wires”:[[]]},{“id”:“485bc215667ee088”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Corrente - A”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_current_a”},{“property”:“device_class”,“value”:“current”},{“property”:“icon”,“value”:“mdi:alpha-a-circle-outline”},{“property”:“unit_of_measurement”,“value”:“A”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:630,“y”:380,“wires”:[[]]},{“id”:“f13613acaabe836c”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Corrente - B”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_current_b”},{“property”:“device_class”,“value”:“current”},{“property”:“icon”,“value”:“mdi:alpha-a-circle-outline”},{“property”:“unit_of_measurement”,“value”:“A”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“state_class”,“value”:“measurement”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:630,“y”:460,“wires”:[[]]},{“id”:“9b5f0bcecd168d08”,“type”:“ha-entity”,“z”:“8ee83c5112f36a68”,“name”:“Energia Ativa - Consumo”,“server”:“f9ccd45e.71d318”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“energy_total”},{“property”:“device_class”,“value”:“energy”},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“kWh”}],“state”:“payload.value”,“stateType”:“msg”,“attributes”:[{“property”:“last_reset”,“value”:"",“valueType”:“date”},{“property”:“state_class”,“value”:“total_increasing”,“valueType”:“str”}],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:610,“y”:520,“wires”:[[]]},{“id”:“73095eb0810db10c”,“type”:“mqtt-broker”,“name”:"",“broker”:“localhost”,“port”:“1883”,“clientid”:"",“usetls”:false,“protocolVersion”:“4”,“keepalive”:“60”,“cleansession”:true,“birthTopic”:"",“birthQos”:“0”,“birthPayload”:"",“birthMsg”:{},“closeTopic”:"",“closeQos”:“0”,“closePayload”:"",“closeMsg”:{},“willTopic”:"",“willQos”:“0”,“willPayload”:"",“willMsg”:{},“sessionExpiry”:""},{“id”:“f9ccd45e.71d318”,“type”:“server”,“name”:“Home Assistant”,“version”:1,“addon”:true,“rejectUnauthorizedCerts”:true,“ha_boolean”:“y|yes|true|on|home|open”,“connectionDelay”:true,“cacheJson”:true}]

2 Likes