tiagocoutinho / modbus-proxy

Connect multiple clients to modbus devices
Other
71 stars 13 forks source link

Wen more than one client connects pipe breaks #3

Closed magpern closed 3 years ago

magpern commented 3 years ago

Description

I have modbus-proxy connected to 192.168.1.8:1502 I have a computer 192.168.1.87 connecting to the docker instance of modbus-proxy I have another docker instance (HomeAssistant) running on the same computer as modbus-proxy, connecting to modbus-proxy

modbus-proxy fails. No client can read. Pipe is broken it says

2021-01-24 22:05:02,224: INFO:modbus-proxy.Client(172.19.0.1:50580):new connection, 2021-01-24 22:05:32,262: INFO:modbus-proxy.Client(172.19.0.1:50594):new connection, 2021-01-24 22:05:36,974: INFO:modbus-proxy.Client(192.168.1.87:35978):new connection, 2021-01-24 22:06:02,425: INFO:modbus-proxy.Client(172.19.0.1:50612):new connection, 2021-01-24 22:06:02,898: INFO:modbus-proxy.Client(192.168.1.87:35984):new connection, 2021-01-24 22:06:32,513: INFO:modbus-proxy.Client(172.19.0.1:50632):new connection, 2021-01-24 22:07:02,258: INFO:modbus-proxy.Client(172.19.0.1:50580):ConnectionClosedError('Modbus disconnected'), 2021-01-24 22:07:02,258: INFO:modbus-proxy.Client(192.168.1.87:35894):ConnectionClosedError('Modbus disconnected'), 2021-01-24 22:07:02,259: INFO:modbus-proxy.Client(172.19.0.1:50594):ConnectionClosedError('Modbus disconnected'), 2021-01-24 22:07:02,261: ERROR:modbus-proxy.Client(192.168.1.87:35978):ConnectionResetError('Connection lost'), 2021-01-24 22:07:02,262: ERROR:modbus-proxy.Client(172.19.0.1:50612):BrokenPipeError(32, 'Broken pipe'), 2021-01-24 22:07:02,262: ERROR:modbus-proxy.Client(192.168.1.87:35984):BrokenPipeError(32, 'Broken pipe'), 2021-01-24 22:07:02,263: ERROR:modbus-proxy.Client(172.19.0.1:50632):BrokenPipeError(32, 'Broken pipe'), 2021-01-24 22:07:02,288: INFO:modbus-proxy.Client(172.19.0.1:50648):new connection, 2021-01-24 22:07:02,288: ERROR:modbus-proxy.Client(172.19.0.1:50648):BrokenPipeError(32, 'Broken pipe'), 2021-01-24 22:07:05,395: INFO:modbus-proxy.Client(172.19.0.1:50670):new connection, 2021-01-24 22:07:05,395: ERROR:modbus-proxy.Client(172.19.0.1:50670):BrokenPipeError(32, 'Broken pipe'), 2021-01-24 22:07:05,397: INFO:modbus-proxy.Client(172.19.0.1:50674):new connection, 2021-01-24 22:07:05,397: ERROR:modbus-proxy.Client(172.19.0.1:50674):BrokenPipeError(32, 'Broken pipe'),

Interesting observation

The interna docker ip address is shown as client ip for HomeAssistent

magpern commented 3 years ago

I figured this one out. HomeAssistant code connects to SolarEdge and tries to address modbus unit id 1 But for some reason unit id 1 is no longer available when I added a "non-Solaredge-Logger" with unit id 126 in the SolarEdge setup. I changes HomeAssistant plugin to access unit id 126 instead, then the device responds and modbus-proxy starts to work.

https://github.com/erikarenhill/solaredge-modbus-hass/issues/21