# Ligação direta entre Raspberry PI e EMI via RS485/USB dá timeout

**URL:** <https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778>\
**Category:** Dúvidas\
**Created:** [16 Outubro , 2023 18:17 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778 "2023-10-16T18:17:43Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [16 Outubro , 2023 18:17 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/1 "2023-10-16T18:17:43Z")

</div>

Olá a todos. Não queria inaugurar a minha presença aqui com uma questão, mas a verdade é que as coisas não me estão a ir de feição.

Ora, encomendei um [Waveshare Industrial USB to RS485 Converter](https://www.amazon.es/dp/B082D5PXJ4?ref=ppx_yo2ov_dt_b_product_details&th=1) e passei cabo do contador para dentro de casa, onde tenho um Raspberry Pi. Nele, decidi brincar um bocado. Por isso, criei um pequeno programa em C para comunicar com o contador usando a biblioteca modbus.

[https://github.com/Dannyps/emi-modbus/blob/main/modbus.c](https://github.com/Dannyps/emi-modbus/blob/main/modbus.c)

O output não é o esperado:

```log
Opening /dev/ttyUSB0 at 9600 bauds (N, 8, 1)
connect returned 0
Bytes flushed (0)
flushing 0 bytes...
[01][04][00][04][00][01][70][0B]
Waiting for a confirmation...
ERROR Connection timed out: select
Bytes flushed (0)
Failed to modbus_read_input_registers: Connection timed out
n: 00, content: 0
n: 01, content: 0
n: 02, content: 0
n: 03, content: 0
n: 04, content: 0
n: 05, content: 0
n: 06, content: 0
n: 07, content: 0

```

Estou convencido de que o aparelho está bom (a luz TX pisca quando o pedido é enviado), e a ligação também me parece sólida (tenho os 5v do EMI nos fios dentro de casa). O que está de facto a faltar é uma resposta.

Alguém que já tenha andado nestas andanças tem alguma ideia do que posso estar a fazer mal?

(btw, se porventura isto dever estar noutra parte do fórum, pf apitem)

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [16 Outubro , 2023 22:35 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/2 "2023-10-16T22:35:10Z")

</div>

Antes de cenas complexas tens de saber se o modbus funciona.

Qual o contador?

O 0x0004 vai responder 6 bytes.

Se o Rx não piscar nem reposta recebeste.

É melhor tentar com o 0x006c primeiro.

Algo para testar:

[https://github.com/moferreira/prower\_meter](https://github.com/moferreira/prower_meter)

Ou outros

[[[https://github.com/nikito7/edpbox-dev/tree/dev/modbus/modpoll](https://github.com/nikito7/edpbox-dev/tree/dev/modbus/modpoll)]]

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [17 Outubro , 2023 20:22 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/3 "2023-10-17T20:22:07Z")

</div>

Obrigado pelas sugestões.

> [@nikito7](#):
>
> Qual o contador?

O contador é o Landis+Gyr ZCXe110CRU0L3D2.03 S3

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [17 Outubro , 2023 20:34 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/4 "2023-10-17T20:34:56Z")

</div>

Poderá ser Stop Bits 2

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [29 Outubro , 2023 16:07 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/5 "2023-10-29T16:07:19Z")

</div>

> [@nikito7](#):
>
> Stop Bits 2

Por muito absurda que a ideia seja (em virtude do que diz naquele doc da EDP que todos conhecemos), usar 2 deu origem a resposta! Vou investigar por aqui abaixo, ver o que sai. Merci

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [29 Outubro , 2023 16:25 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/6 "2023-10-29T16:25:07Z")

</div>

A maioria dos Ziv são Stop Bits 2.

Metade dos Landis idem.

Houve um update aos Landis em algumas zonas para Stop Bits 1.

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [29 Outubro , 2023 16:27 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/7 "2023-10-29T16:27:00Z")

</div>

Ou seja, há divergências entre a spec e a realidade. É só nas configurações das comunicações, ou nos comandos também?

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [29 Outubro , 2023 16:35 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/8 "2023-10-29T16:35:56Z")

</div>

A v0 é Stop Bits 2  
A v1 (2020) é Stop Bits 1

Mas os contadores antigos não foram actualizados.

A v1 traz o Stop Bits 1 e a ultima parte do pdf (registos de falhas)  
Aqui nunca funcionou.

Depois há os L1 L2 L3

Os contadores monofásicos antigos dão erro se tentares aceder a esses registers

Alguns novos reportam zero.  
O que obriga a ter código para monofásicos e trifasicos.

Nos trifásicos consegues a maioria da informação num só pedido (ou monofásicos que reportam zero nos L)

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [13 Novembro , 2023 10:00 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/9 "2023-11-13T10:00:00Z")

</div>

Entretanto consegui avançar com isto e o código funciona de facto. Estou a mandar tudo para MQTT e daí importo para o Home Assistant. Aparentemente, está bonito. Para documentação futura, está tudo no repo (:

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [13 Novembro , 2023 13:39 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/10 "2023-11-13T13:39:21Z")

</div>

Se quiseres mais desafio tens o diagrama de carga / Load Profile.

01 44 06 01 crc crc

[[[https://github.com/nikito7/edpbox-dev/tree/dev/modbus/moacir](https://github.com/nikito7/edpbox-dev/tree/dev/modbus/moacir)]]

[[[https://github.com/nikito7/edpbox-dev/tree/dev/tasmota/notes](https://github.com/nikito7/edpbox-dev/tree/dev/tasmota/notes)]]

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [14 Novembro , 2023 12:47 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/11 "2023-11-14T12:47:00Z")

</div>

Ou mesmo fazer dump do histórico

[[[https://github.com/nikito7/edpbox-dev/blob/dev/tasmota/notes/dump.js](https://github.com/nikito7/edpbox-dev/blob/dev/tasmota/notes/dump.js)]]

Kaifas tem bug

Não passa de 01FF a 0200. Repete os dados.

Só tem cerca de 512 linhas viáveis.

Isto os kaifa mais antigos

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [14 Novembro , 2023 13:31 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/12 "2023-11-14T13:31:02Z")

</div>

Ver o histórico é algo que me agrada, apesar de não estar certo de como importar os dados no hass. De qualquer modo, não encontrei nada no PDF da EDP sobre isso. É omisso, ou vi mal, @nikito7?

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [14 Novembro , 2023 13:32 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/13 "2023-11-14T13:32:06Z")

</div>

É o Load Profile

O resultado é parecido com o xlsx da e-eredes

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [14 Novembro , 2023 13:36 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/14 "2023-11-14T13:36:41Z")

</div>

> [@nikito7](#):
>
> xlsx da e-eredes

Não sei o que é isso 👀

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [14 Novembro , 2023 13:48 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/15 "2023-11-14T13:48:46Z")

</div>

![Screenshot_20231114_134731_Chrome](https://forum.cpha.pt/uploads/default/original/2X/0/08c35a17c71362efddd7da70dd5bf3539bba8256.jpeg)

> **[E-REDES: Distribuição de Energia Elétrica em Portugal](https://www.e-redes.pt/pt-pt)**
>
> Conheça a E-REDES e descubra como garantimos que a energia chega à sua casa com eficiência e segurança. Fique por dentro das novidades e contactos.

---

<div class="post-metadata">

**Author:** ![Dannyps](https://forum.cpha.pt/user_avatar/forum.cpha.pt/dannyps/32/15472_2.png) [@Dannyps](https://forum.cpha.pt/u/Dannyps)\
**Post date:** [14 Novembro , 2023 13:50 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/16 "2023-11-14T13:50:14Z")

</div>

Ah, got it. Vou investigar, nunca olhei para isso.

---

<div class="post-metadata">

**Author:** ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)\
**Post date:** [14 Novembro , 2023 13:51 UTC](https://forum.cpha.pt/t/ligacao-direta-entre-raspberry-pi-e-emi-via-rs485-usb-da-timeout/12778/17 "2023-11-14T13:51:57Z")

</div>

> [@Netmetering, Diagrama de Carga, Load Profile, 15min, settlement 2023](https://forum.cpha.pt/t/netmetering-diagrama-de-carga-load-profile-15min-settlement-2023/10893):
>
> Caso alguém queira discutir o assunto
