Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KWL 360 with modbus to ETH converter #16

Open
EpfigHA opened this issue Jan 9, 2023 · 3 comments
Open

KWL 360 with modbus to ETH converter #16

EpfigHA opened this issue Jan 9, 2023 · 3 comments

Comments

@EpfigHA
Copy link

EpfigHA commented Jan 9, 2023

Hello all,

I have a KWL 360 and added a modbus to ethernet converter.
The Helios integration seems not to pass the initial configuration where i had to enter the IP address of the KWL.
After installing the converter the Helios Integration now accepted the IP address and exposed it's sensors and switches.
Unfortinalty the communication seems to struggle and i'm not able to understand those error messages.
Can someone give me some help ?

Here are the various error messages.
2023-01-09 14:59:50.755 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom integration author for helios doing blocking calls at custom_components/helios/init.py, line 105: self._auto = self._client.get_variable("v00101", 1, conversion=int) == 0

2023-01-09 14:59:51.729 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom integration author for helios doing blocking calls at custom_components/helios/init.py, line 105: self._auto = self._client.get_variable("v00101", 1, conversion=int) == 0

2023-01-09 14:59:53.934 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom integration author for helios doing blocking calls at custom_components/helios/init.py, line 106: self._speed = self._client.get_feature('fan_stage')

2023-01-09 14:59:55.174 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom integration author for helios doing blocking calls at custom_components/helios/init.py, line 106: self._speed = self._client.get_feature('fan_stage')

@EpfigHA
Copy link
Author

EpfigHA commented Jan 10, 2023

some more errors, perhaps closer to the issue than the previous ones

Traceback (most recent call last):
File "/config/custom_components/helios/init.py", line 106, in async_update
self._speed = self._client.get_feature('fan_stage')
File "/usr/local/lib/python3.10/site-packages/eazyctrl.py", line 540, in get_feature
return self.get_variable(varname, varlen, getconv)
File "/usr/local/lib/python3.10/site-packages/eazyctrl.py", line 474, in get_variable
recvvarname, varval = comm.read_variable(varnamelen, varlen)
File "/usr/local/lib/python3.10/site-packages/eazyctrl.py", line 401, in read_variable
answer = respmsg['registers_value'].rstrip(b'\x00').decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 8: ordinal not in range(128)

@b-bremer
Copy link

b-bremer commented Mar 13, 2024

Disclaimer: I have neither the KWL, not the adapter, but I'm interested in solutions.

How did you configure your converter?

For the Waveshare RS485 TO ETH (B) I found the following user guide https://files.waveshare.com/upload/4/4d/RS485-to-eth-b-user-manual-EN-v1.33.pdf

And I'm pretty sure you need to set "Modbus TCP to RTU". And probably TCP Server mode.

Additionally the following serial settings (taken from the KWL manual):

Address: 1
Baud Rate: 19200
Parity: even
Stop Bit: 1

databits: probably 16 "Modbus (RTU) Holding Registers are 16 bits long (unsigned word)."
and flow control (probably none)

Modbus TCP server will by default be on Port 502. Not sure if this matches for this extension. It should though

https://github.com/baradi09/eazyctrl/blob/master/bin/eazyctrl defines "MODBUS_TCP_PORT = 502"

@b-bremer
Copy link

b-bremer commented Mar 13, 2024

I had a look at the eazyctrl code and it looks as if the modubus implementation uses a write and read of char values to registers. This seems to be an old(er) and strange Helios modbus implementation.

The new KWL machines seem to use a sane modbus implementation, so this extension is very unlikely to work. Even with the adapter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants