denpamusic / homeassistant-plum-ecomax

Plum ecoMAX boiler controller integration for Home Assistant.
MIT License
29 stars 7 forks source link

Cannot connect to ecoMAX360 #63

Open jasienty opened 5 months ago

jasienty commented 5 months ago

Is there an existing issue for this?

I'm having the following issue:

I've got heat pump with ecoMAX360 (it is branded by HeatingPoland, Krommler) with ecoSTER touch pannel. I've connected EW11a RS-485-WIFI module parallel with touch screen but everytime I want to establish a connection in HA there is "no devices" prompt. Not sure if I have correct configuration of EW11, but checked with every possible way and nothing helpes. Sometimes instead of "no devices found" prompt I get error connected with Flow control. I've checked packets from EW11 in TCP/UDP debug tool and with those settings I can read S/N or model: Baud Rate: 115200 Data Bit: 8 Stop Bit: 1 Parity: None Buffer size: 512 Gap Time: 50 Protocol: Frame Frame length: 14 Frame time: 100

Tried to change frame tags (Head and Tail) to 0x68 and 0x16 as described here: https://pyplumio.denpa.pro/protocol.html but it didn't help.

I have following devices connected:

I'm connecting to my devices using:

Ethernet/WiFi to RS-485 converter

I'm seeing following log messages:

Ten błąd pochodzi z niestandardowej integracji.

Logger: custom_components.plum_ecomax.config_flow
Source: custom_components/plum_ecomax/config_flow.py:189
Integration: Plum ecoMAX (documentation, issues)
First occurred: 13:42:36 (5 occurrences)
Last logged: 13:45:43

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/tasks.py", line 500, in wait_for
    return fut.result()
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/plum_ecomax/config_flow.py", line 189, in async_step_device
    await self.device_task
  File "/config/custom_components/plum_ecomax/config_flow.py", line 175, in _wait_for_device
    self.device = await self.connection.get(ECOMAX, timeout=DEFAULT_TIMEOUT)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyplumio/helpers/event_manager.py", line 56, in get
    await self.wait_for(name, timeout=timeout)
  File "/usr/local/lib/python3.11/site-packages/pyplumio/helpers/event_manager.py", line 43, in wait_for
    await asyncio.wait_for(self.create_event(name).wait(), timeout=timeout)
  File "/usr/local/lib/python3.11/asyncio/tasks.py", line 502, in wait_for
    raise exceptions.TimeoutError() from exc
TimeoutError

My diagnostics data:

No response

Code of Conduct

denpamusic commented 5 months ago

Hi,

Thank you for the feedback!

I've not yet encountered any heat pumps controlled by an ecoMAX controller. All ecoMAX 3xx series that I've ecountered so far, has been wood or pellet boiler controllers. So sadly your device might simply use different protocol (e. g. GM3 same as ecoSOL) and is incompatible with this integration.

That being said you can try following settings for the elfin EW11. I've used this device myself for the long time, before switching to custom-made converter.

If that doesn't work also verify that you've connected A and B on the EW11 to the D+ and D- terminals on ecoMAX respectively.

Communication Settings

Screenshot 2024-01-10 at 16-54-39 EW11

Serial Port Settings

Screenshot 2024-01-10 at 16-54-06 EW11

jasienty commented 5 months ago

Hi! I've tried with settings you provided but nothing changed ;( Also I double-checked wiring and it was correct. So apparently my ecoMAX360i is not compatible with this integration. I will try to reconfigure it one more time and maybe I will find some error I've made.

Cheers! Jan

Taziff commented 5 months ago

@jasienty w tej pompie ciepła jest sterownik ecoMulti który używa protokołu GazModem do komunikacji więc z tą integracją niestety jak na razie nie będzie działać. @denpamusic can I write in Polish?

jasienty commented 5 months ago

@Taziff - niby tak, ale jednak jakieś dane wychwytuję z EW11, gdzie sterownik się przedstawia jako ecoMAX360i (jak robiłem update od producenta, to tak też były opisane pliki) i wyrzuca takie dane jak UID czy nazwy obiegów: Bez tytułu eng: Taziff said that controller to my heat pump is ecoMulti, not ecoMAX360i - there is a different protocol used, thus I this integration won't work. On the screen attached I can see that I receive some information about my device - UID, ecoMAX360i and names of heating circuits. Because I can get some information I am not sure if there is some problem with my EW11, transmission, protocol etc. or this controller has really different communication protocol.

denpamusic commented 5 months ago

@denpamusic can I write in Polish?

Of course you can. Current translation software is quite good, so I've intentionally ommited English-only requirement in Code of conduct. Makes the place a bit friendlier and promotes feedback :)

Thanks for the help by the way. 👍

@jasienty Judging from the frame size alone, it surely doesn't look like UIDResponse frame of the EM protocol, which normally should be around 30 bytes in length. I think that @Taziff is right and your device uses GazModem3 (GM3) protocol which Plum's been using in it's heat pump devices, unless they've developed something entirely new ofc.

I've collected some info on the protocol here: https://github.com/denpamusic/homeassistant-plum-ecomax/issues/27#issuecomment-1773534034 and almost finished unit tests for it while on vacation. I plan on writing test version after I've done with options flow update for this integration. You can look in #27 for progress updates.

jasienty commented 5 months ago

ok, I won't argue then :) I received this output with this settings on EW11, other settings gave only artefacts (maybe there was something in hex response, but didn't check): obraz If you need any help with testing, let me know - I will do my best.