Integrar contadores inteligentes da EDP em Home Assistant

Boas,
Só agora vi esta mensagem.
Eu fiz o circuito exactamente como as instruções, com os componentes exactos.
Nada funcionava, como pode verificar pelas mensagens.
Seja com que versão do Tasmota nada dava.
No final tinha a versão 9.5.0 e nada.
Até que o Nikito7, que é o desenvolvedor do programa, se lembrou de alterar a velocidade dos 9600 para 9300, que não é uma velocidade standard, e tudo passou a funcionar perfeitamente e não falha.
Boa sorte para a montagem, pois é extremamente util.
Associei com o RED NODE e os Google Nest para me alertar quando o consumo passa de determinado valor, para evitar disparar o disjuntor.
Também funciona muito bem e já me salvou algumas vezes.

1 Curtiu

Bom dia!

tenho estado a utilizar este projeto para ler os valores do contador com muito sucesso. Tive inicialmente muita dificuldade, mas tudo se resolveu quando baixei o baud rate para 9200 ou 9300. Fiz inclusivamente um segundo “kit” para instalar numa outra casa que tem o mesmo contador. Na altura testei os dois com sucesso.

Após alguns meses sem nunca falhar, deixei de receber resultados. Nem mesmo com o “kit” alternativo. Apenas recebo o seguinte…

20:13:46 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:13:48 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:13:50 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:13:52 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:13:54 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:13:56 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:13:58 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:00 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:02 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:03 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:06 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:08 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:10 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:12 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:14 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:16 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:18 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:20 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:22 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:24 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:26 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:28 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:30 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:32 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:34 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:35 MQT: tasmota/tele/MAINS_MONITOR/STATE = {"Time":"2021-11-08T20:14:35","Uptime":"0T00:06:09","UptimeSec":369,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":99,"MqttCount":1,"Wifi":{"AP":1,"SSId":"IoT","BSSId":"2C:3F:0B:B2:0A:74","Channel":11,"RSSI":58,"Signal":-71,"LinkCount":1,"Downtime":"0T00:00:03"}}
20:14:35 MQT: tasmota/tele/MAINS_MONITOR/SENSOR = {"Time":"2021-11-08T20:14:35","EB":{"Voltage_P1":0.0,"Current_P1":0.0,"Power_P1":0,"PFactor_P1":0.000,"Frequency_P1":0.0,"Energy_P1_R1":0.0,"Energy_P1_R2":0.0,"Energy_P1_R3":0.0,"Tariff_P1":0,"ICP_P1":0,"PContracted_P1":0.00,"Q_ICP_Param":0,"K_ICP_Param":0.0,"Clock_H":0,"Clock_M":0,"Clock_S":0}}
20:14:36 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:38 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:40 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:42 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:44 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:46 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:48 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:50 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:52 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:54 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:56 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:14:58 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:00 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:02 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:04 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:06 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:08 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:10 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:12 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:14 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:16 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:18 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:20 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:22 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:24 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:26 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:28 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:30 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:32 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:34 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:35 MQT: tasmota/tele/MAINS_MONITOR/STATE = {"Time":"2021-11-08T20:15:35","Uptime":"0T00:07:09","UptimeSec":429,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":99,"MqttCount":1,"Wifi":{"AP":1,"SSId":"IoT","BSSId":"2C:3F:0B:B2:0A:74","Channel":11,"RSSI":58,"Signal":-71,"LinkCount":1,"Downtime":"0T00:00:03"}}
20:15:35 MQT: tasmota/tele/MAINS_MONITOR/SENSOR = {"Time":"2021-11-08T20:15:35","EB":{"Voltage_P1":0.0,"Current_P1":0.0,"Power_P1":0,"PFactor_P1":0.000,"Frequency_P1":0.0,"Energy_P1_R1":0.0,"Energy_P1_R2":0.0,"Energy_P1_R3":0.0,"Tariff_P1":0,"ICP_P1":0,"PContracted_P1":0.00,"Q_ICP_Param":0,"K_ICP_Param":0.0,"Clock_H":0,"Clock_M":0,"Clock_S":0}}
20:15:36 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
20:15:38 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

Vejo apenas ff’s…

Alguem me sabe dizer o que se passa?

Estás na rede inteligente?

Não sei responder a isso… sei que esteve a funcionar muito tempo e agora isto. O que é a rede inteligente? Eu não tenho nenhum modem ligado…

Atualiza o firmware

https://github.com/nikito7/edpbox/tree/dev/tasmota/esp8266

Fiz o update para a v10, mas ainda assim…

23:28:20.065 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:22.069 > 01 04 00 26 00 02 90 00 
23:28:22.111 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:24.022 > 01 04 00 27 00 02 c1 c0 
23:28:24.064 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:26.022 > 01 04 00 28 00 02 f1 c3 
23:28:26.065 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:28.023 > 01 04 00 0b 00 02 00 09 
23:28:28.065 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:30.064 > 01 04 00 84 00 02 31 e2 
23:28:30.106 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:30.263 MQT: tasmota/tele/MAINS_MONITOR/STATE = {"Time":"2021-11-09T23:28:30","Uptime":"0T00:07:10","UptimeSec":430,"Heap":21,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":99,"MqttCount":2,"Wifi":{"AP":1,"SSId":"IoT","BSSId":"2C:3F:0B:B2:0A:74","Channel":11,"Mode":"11n","RSSI":52,"Signal":-74,"LinkCount":2,"Downtime":"0T00:00:37"}}
23:28:30.271 MQT: tasmota/tele/MAINS_MONITOR/SENSOR = {"Time":"2021-11-09T23:28:30","EB":{"Voltage_P1":0.0,"Current_P1":0.0,"Power_P1":0,"PFactor_P1":0.000,"Frequency_P1":0.0,"Energy_P1_R1":0.0,"Energy_P1_R2":0.0,"Energy_P1_R3":0.0,"Tariff_P1":0,"ICP_P1":0,"PContracted_P1":0.00,"Q_ICP_Param":0,"K_ICP_Param":0.0,"Clock_H":0,"Clock_M":0,"Clock_S":0}}
23:28:32.023 > 01 04 00 12 00 02 d1 ce 
23:28:32.065 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
23:28:34.022 > 01 04 00 84 00 03 f0 22 
23:28:34.064 : ff ff ff ff ff ff ff ff ff ff ff ff ff ff 

Tens diferencial antes do contador?

Antes do contador? Penso que não… do que me recordo o contador está ligado diretamente na coluna montante do prédio… Depois do contador é que sai para os disjuntores diferencial e geral

Se o comportamento for igual com o outro conjunto.

Só falando com a e-redes.

Entretanto podes confirmar esse conjunto na outra casa

Viva @nikito7 tenho andado arredado das coisas do sec.XXI :slight_smile: , já me aprecebi que há para ai uns desenvolvimentos novos em ESPHome, qual é o ponto da situação comparativamente com Tasmota vale a pena?
Consegue-se fazer pedidos aos registos com pool diferentes ?

a)

Podes usar a opção skip_updates caso não se tenha perdido na transição para o esphome oficial

https://github.com/nikito7/edpbox/blob/dev/esphome/EB1-mono.yaml

b)

Uma coisa é certa, o meu rs485 com tasmota está a “aquecer”.
Tive de meter um delay de 9s, para ir desenrascando…

Deve ser os “heat fuses”

@ReDaLeRt deve ser o que te acontece :rofl:

Colocaste a terminação no RS485 (resistência de 120Ω)? Atenção com poeiras, humidade, etc. No início pode ir bem; quando envelhece, nem sempre.

Ironicamente mudei para esphome

Interval 15s
Delay 200ms

:rofl:

Olá @PDM,
Não sei se ainda tens o problema do limite dos 10 registers, eu também estava com problemas.
Acabei por compilar a nova versão do tasmota10.0 para o esp8266 nodemcu com as seguintes definições extras.
PS - deixei de usar o smart meter da e-redes, comprei o SDM630 e tenho o br para 19,2k

#define SML_MAX_VARS 60
#define MAX_METERS 1

Deixei o Wemos desligado por vários dias pois não estava a conseguir obter dados nenhuns. No outro dia voltei à carga e continuava igual. Lembrei-me de ir outra vez brincar com o baud rate. E deu certo. Alterei de 9200 (ou 9300 já n me recordo) para os 9600 e tudo voltou a funcionar perfeitamente. Houve com certeza alterações, pois com os 9600 recebia um ou dois valores por dia! E agora o mesmo se passa quando está nos 9200…

O meu rs485 está a sobreaquecer.

Já vou com 15s de delay para se ir aguentando

O adaptador rs485<>TTL ou o ELfin ?

Brincar com o baud rate só te vai confundir… O teu problema deve estar em outro ponto qualquer porque a documentação do contadores estabelece:


Entretanto, não tens qualquer registo acessível pelo utilizador que permita alterar a velocidade do mesmo. Sendo assim, eu creio que todos os contadores estão configurados de fábrica para 9600 bps.

Boa tarde. Uma dúvida. Tenho contador inteligente bidireccional, pedi após a instalação dos painéis solares. A telefonarem está a funcionar e tem um chicote disponível. Será que tem a porta HAN disponível. É que não consigo resposta alguma na comunicação modbus.

Boa tarde.
Estou a iniciar neste mundo da domotica e internet das coisas, instalei o Home assistante num raspberry Pi 4 e quero integrar o contador de energia, neste caso um Kaifa Ma109P, principalmente para saber quando estou a injectar energia na rede, permitindo assim automaticamente ligar equipamentos como por exemplo ar condicionado. neste momento consigo isso através de um shelly EM mas noto que é muito lento a sincronizar e dependo da nuvem.
tenho já o s módulos instalados, o ESP8266 e o conversor TTL>RS485 conforme tuturial do tiagofreire-pt ao qual congratulo pelo trabalho disponibilizado.
No entanto nao consigo obter valores do contador. No conversor apenas pisca o led TX.
o meu script é este:

D

BS

smlj=0
tper=60

=>sensor53 r

S

if upsecs>20
and upsecs<30
then
smlj=1
endif

M 1

+1,14,m,1,9600,EB,5,50,0104006C,01040079,0104007A,0104007F,01040026,01040027,01040028,0104000B,01040084,01040012,r010400840003,r010400010001,01040016

1,=hVALORES TÉCNICOS
1,010404UUuuxxxx@i0:10,Tensão,V,Voltage_P1,17
1,010404xxxxUUuu@i0:10,Corrente,A,Current_P1,17
1,010408UUuuUUuuxxxxxxxxxxxx@i1:1,Potência ativa,W,Power_P1,16
1,010406xxxxxxxxUUuu@i2:1000,Fator de potência,pu,PFactor_P1,19
1,01040aUUuuxxxx@i3:10,Frequência,Hz,Frequency_P1,17
1,=h‍
1,=hTOTALIZADORES DE ENERGIA
1,010408UUuuUUuuxxxxxxxxxxxx@i4:1000,Vazio (1),kWh,Energy_P1_R1,1
1,010408UUuuUUuuxxxxxxxxxxxx@i5:1000,Ponta (2),kWh,Energy_P1_R2,1
1,010408UUuuUUuuxxxxxxxxxxxx@i6:1000,Cheia (3),kWh,Energy_P1_R3,1
1,010408UUuuUUuu@i9:1000,Total Energy Import ,kWh,TotEneImp,3
1,010408xxxxxxxxUUuuUUuu@i9:1000,Total Energy Export ,kWh,TotEneExp,3
1,=h‍‍
1,=hESTADOS
1,010406uuxxxxxxxx@i7:1,Tarifa,Tariff_P1,16
1,01040auu@i10:1,ICP,ICP_P1,16
1,010406UUuuUUuuxxxxxxxxxxxx@i9:1000,Potência contratada,kVA,PContracted_P1,2

1,=h


1,01040axxUUuuUUuu@i10:1,Q,Q_ICP_Param,0
1,01040axxxxxxxxxxUUuuUUuu@i10:100,k,K_ICP_Param,1

1,=h


1,01040cxxxxxxxxxxuu@i11:1,Clock ,h,Clock_H,16
1,01040cxxxxxxxxxxxxuu@i11:1,Clock ,m,Clock_M,16
1,01040cxxxxxxxxxxxxxxuu@i11:1,Clock ,s,Clock_S,16


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


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